libs: enc: h265: reset num_ref_idx_l1_active_minus1 when low delay B.
authorWangfei <fei.w.wang@intel.com>
Thu, 16 May 2019 02:05:17 +0000 (10:05 +0800)
committerWangfei <fei.w.wang@intel.com>
Fri, 17 May 2019 02:01:18 +0000 (10:01 +0800)
When enable low delay B, the reference list 1 will be same with
reference list 0, so need reset the num_ref_idx_l1_active_minus1
to num_ref_idx_l0_active_minus1.

Fixes: #160

gst-libs/gst/vaapi/gstvaapiencoder_h265.c

index 53c2212..c9f1628 100644 (file)
@@ -1721,6 +1721,9 @@ add_slice_headers (GstVaapiEncoderH265 * encoder, GstVaapiEncPicture * picture,
       slice_param->num_ref_idx_l1_active_minus1 = reflist_1_count - 1;
     else
       slice_param->num_ref_idx_l1_active_minus1 = 0;
+    if (picture->type == GST_VAAPI_PICTURE_TYPE_P && encoder->low_delay_b)
+      slice_param->num_ref_idx_l1_active_minus1 =
+          slice_param->num_ref_idx_l0_active_minus1;
 
     i_ref = 0;
     if (picture->type != GST_VAAPI_PICTURE_TYPE_I) {