From: Seungha Yang Date: Sun, 10 Jan 2021 14:16:55 +0000 (+0900) Subject: codecs: h264picture: Count only complete complementary field pair for dpb fullness... X-Git-Tag: 1.19.3~507^2~899 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae7c20a6edba33d24f7dced9f55c8f7c192c07b2;p=platform%2Fupstream%2Fgstreamer.git codecs: h264picture: Count only complete complementary field pair for dpb fullness decision Our DPB implementation was designed as such that allowing temporary DPB overflow in the middle of field picture decoding and incomplete field pair should not trigger DPB bumping. Part-of: --- diff --git a/gst-libs/gst/codecs/gsth264picture.c b/gst-libs/gst/codecs/gsth264picture.c index be5013d20e..90fa1c3469 100644 --- a/gst-libs/gst/codecs/gsth264picture.c +++ b/gst-libs/gst/codecs/gsth264picture.c @@ -596,7 +596,7 @@ gst_h264_dpb_has_empty_frame_buffer (GstH264Dpb * dpb) } else { gint i; gint count = 0; - /* Count pictures without second fields */ + /* Count the number of complementary field pairs */ for (i = 0; i < dpb->pic_list->len; i++) { GstH264Picture *picture = g_array_index (dpb->pic_list, GstH264Picture *, i); @@ -604,7 +604,8 @@ gst_h264_dpb_has_empty_frame_buffer (GstH264Dpb * dpb) if (picture->second_field) continue; - count++; + if (GST_H264_PICTURE_IS_FRAME (picture) || picture->other_field) + count++; } if (count <= dpb->max_num_frames)