libs: codecparsers: Add the missing ilrp_idx field in H266's ref list
authorHe Junyan <junyan.he@intel.com>
Mon, 16 Dec 2024 16:12:51 +0000 (00:12 +0800)
committerHe Junyan <junyan.he@intel.com>
Fri, 20 Dec 2024 00:22:31 +0000 (08:22 +0800)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5710>

subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth266parser.c
subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth266parser.h

index 929bc01a0a939b63d6afa7d4341284e99936b0a7..a881450ce7bd2ed12d5b396692e7ed225909ef8a 100644 (file)
@@ -625,6 +625,7 @@ gst_h266_ref_pic_list_struct (GstH266RefPicListStruct * rpls, NalReader * nr,
       rpls->inter_layer_ref_pic_flag[i] = 0;
 
     if (rpls->inter_layer_ref_pic_flag[i]) {
+      READ_UE_MAX (nr, rpls->ilrp_idx[i], GST_H266_MAX_REF_PIC_LISTS);
       rpls->num_inter_layer_pic++;
       continue;
     }
index f7f7010ce06ce2c382a6b95699e481c9e27ec07a..11bdb8009c1c0ed412f5aa347a167522eace35ab 100644 (file)
@@ -1104,6 +1104,8 @@ struct _GstH266VPS {
  *  is greater than or equal to 0.
  * @rpls_poc_lsb_lt: specifies the value of the picture order count modulo
  *  MaxPicOrderCntLsb of the picture referred to.
+ * @ilrp_idx: specifies the index of the ILRP entry of the i-th entry in the
+ *  ref_pic_list_struct.
  * @num_short_term_pic: the number of short term reference picture.
  * @num_long_term_pic: the number long term reference picture.
  * @num_inter_layer_pic: the number of inter layer reference picture.
@@ -1119,6 +1121,7 @@ struct _GstH266RefPicListStruct {
   guint16 abs_delta_poc_st[GST_H266_MAX_REF_ENTRIES];
   guint8 strp_entry_sign_flag[GST_H266_MAX_REF_ENTRIES];
   guint8 rpls_poc_lsb_lt[GST_H266_MAX_REF_ENTRIES];
+  guint8 ilrp_idx[GST_H266_MAX_REF_ENTRIES];
   guint num_short_term_pic;
   guint num_long_term_pic;
   guint num_inter_layer_pic;