summaryrefslogtreecommitdiff
path: root/sys/va/gstvah264dec.c
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2020-11-17 18:39:56 +0900
committerSeungha Yang <seungha@centricular.com>2020-11-17 19:44:04 +0900
commit88ebe8031a50afc47604b36e9f7c472e78f0cc72 (patch)
treeef8d1f4db929e2cad3a607b3fef392b287a2b1b8 /sys/va/gstvah264dec.c
parente1adc572a756ae642e0e35a979904ae9a528c0f0 (diff)
downloadgstreamer-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.c4
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);