diff options
author | Seungha Yang <seungha@centricular.com> | 2020-11-17 18:39:56 +0900 |
---|---|---|
committer | Seungha Yang <seungha@centricular.com> | 2020-11-17 19:44:04 +0900 |
commit | 88ebe8031a50afc47604b36e9f7c472e78f0cc72 (patch) | |
tree | ef8d1f4db929e2cad3a607b3fef392b287a2b1b8 /sys/va/gstvah264dec.c | |
parent | e1adc572a756ae642e0e35a979904ae9a528c0f0 (diff) | |
download | gstreamer-plugins-bad-88ebe8031a50afc47604b36e9f7c472e78f0cc72.tar.gz |
codecs: h264decoder: Add more option arguments for reference picture getter
In case that "pic_order_cnt_type" is equal to zero, ref picture
list for B slice should not include non-existing picture
as per spec 8.2.4.2.3. And, the second field is not needed
for the process of frame picture reference list construction
since it needs to be frame unit, not field picture in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1812>
Diffstat (limited to 'sys/va/gstvah264dec.c')
-rw-r--r-- | sys/va/gstvah264dec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/va/gstvah264dec.c b/sys/va/gstvah264dec.c index f23b60ce3..c2d5388a0 100644 --- a/sys/va/gstvah264dec.c +++ b/sys/va/gstvah264dec.c @@ -417,14 +417,14 @@ gst_va_h264_dec_start_picture (GstH264Decoder * decoder, guint ref_frame_idx = 0; g_array_set_size (ref_list, 0); - gst_h264_dpb_get_pictures_short_term_ref (dpb, ref_list); + gst_h264_dpb_get_pictures_short_term_ref (dpb, FALSE, FALSE, ref_list); for (i = 0; ref_frame_idx < 16 && i < ref_list->len; i++) { GstH264Picture *pic = g_array_index (ref_list, GstH264Picture *, i); _fill_vaapi_pic (&pic_param.ReferenceFrames[ref_frame_idx++], pic); } g_array_set_size (ref_list, 0); - gst_h264_dpb_get_pictures_long_term_ref (dpb, ref_list); + gst_h264_dpb_get_pictures_long_term_ref (dpb, FALSE, ref_list); for (i = 0; ref_frame_idx < 16 && i < ref_list->len; i++) { GstH264Picture *pic = g_array_index (ref_list, GstH264Picture *, i); _fill_vaapi_pic (&pic_param.ReferenceFrames[ref_frame_idx++], pic); |