Commit ae7c20a6 authored by Seungha Yang's avatar Seungha Yang 🐑
Browse files

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: <gstreamer/gst-plugins-bad!1947>
parent e14bbd7f
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment