summaryrefslogtreecommitdiff
path: root/gst-libs
diff options
context:
space:
mode:
authorHe Junyan <junyan.he@intel.com>2021-07-29 21:30:32 +0800
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-08-12 07:41:28 +0000
commit70ce2327d0dc10941eafe01a39cb3dc6d776a800 (patch)
treef5376977aee20cc35e3fb211cf247c53e38a7313 /gst-libs
parent2505ab17e98eb6343ceae0e6fb7e130a90ec34f0 (diff)
downloadgstreamer-plugins-bad-70ce2327d0dc10941eafe01a39cb3dc6d776a800.tar.gz
codecs: h264dec: Output the picture directly if already a frame.
We forget one case that is the frame and field pictures may be mixed together. For this case, the dpb is interlaced while the last picture may be a complete frame. We do not need to cache that complete picture and should output it directly. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2448>
Diffstat (limited to 'gst-libs')
-rw-r--r--gst-libs/gst/codecs/gsth264decoder.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gst-libs/gst/codecs/gsth264decoder.c b/gst-libs/gst/codecs/gsth264decoder.c
index f179be41a..263289688 100644
--- a/gst-libs/gst/codecs/gsth264decoder.c
+++ b/gst-libs/gst/codecs/gsth264decoder.c
@@ -724,7 +724,7 @@ output_picture_directly (GstH264Decoder * self, GstH264Picture * picture)
GstH264Picture *out_pic = NULL;
gboolean ret = TRUE;
- if (!gst_h264_dpb_get_interlaced (priv->dpb)) {
+ if (GST_H264_PICTURE_IS_FRAME (picture)) {
g_assert (priv->last_field == NULL);
out_pic = g_steal_pointer (&picture);
ret = TRUE;