From: Wangfei Date: Wed, 22 May 2019 14:47:30 +0000 (-0400) Subject: libs: encoder: h265: pass diff_cu_qp_delta_depth flag to driver X-Git-Tag: 1.19.3~503^2~497 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e592f6b41579515284fd6060bc0463915e90815c;p=platform%2Fupstream%2Fgstreamer.git libs: encoder: h265: pass diff_cu_qp_delta_depth flag to driver Intel media-driver requires enablement of diff_cu_qp_delta_depth when cu_qp_delta_enabled_flag enabled. Fixes: #177 --- diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c index c9f1628..972dcab 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c @@ -1643,6 +1643,16 @@ fill_picture (GstVaapiEncoderH265 * encoder, GstVaapiEncPicture * picture, || GST_VAAPI_ENCODER_TUNE (encoder) == GST_VAAPI_ENCODER_TUNE_LOW_POWER) pic_param->pic_fields.bits.cu_qp_delta_enabled_flag = 1; + /* XXX: Intel's media-driver, when using low-power mode, requires + * that diff_cu_qp_delta_depth has to be equal to + * log2_diff_max_min_luma_coding_block_size, meaning 3. + * + * For now we assume that on only Intel's media-drivers supports + * H265 low-power */ + if ((GST_VAAPI_ENCODER_TUNE (encoder) == GST_VAAPI_ENCODER_TUNE_LOW_POWER) && + (pic_param->pic_fields.bits.cu_qp_delta_enabled_flag)) + pic_param->diff_cu_qp_delta_depth = 3; + pic_param->pic_fields.bits.pps_loop_filter_across_slices_enabled_flag = TRUE; if (GST_VAAPI_ENC_PICTURE_IS_IDR (picture))