From 018ea8b2fc193f64bcaf8f2a58e67d6a806dfce9 Mon Sep 17 00:00:00 2001 From: Sreerenj Balachandran Date: Wed, 27 Apr 2016 17:10:26 +0300 Subject: [PATCH] encoder: h265: Enable cu_qp_delta_enabled_flag for CBR It seems driver requires enablement of cu_qp_delta_enabled_flag for modifying QP values to controll the CBR mode bitrate. https://bugzilla.gnome.org/show_bug.cgi?id=749852 --- gst-libs/gst/vaapi/gstvaapiencoder_h265.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c index 4f1db1d..0a5a291 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_h265.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder_h265.c @@ -1637,6 +1637,10 @@ fill_picture (GstVaapiEncoderH265 * encoder, GstVaapiEncPicture * picture, pic_param->pic_fields.bits.reference_pic_flag = TRUE; pic_param->pic_fields.bits.sign_data_hiding_enabled_flag = FALSE; pic_param->pic_fields.bits.transform_skip_enabled_flag = TRUE; + /* it seems driver requires enablement of cu_qp_delta_enabled_flag + * to modifiy QP values in CBR mode encoding */ + if (GST_VAAPI_ENCODER_RATE_CONTROL (encoder) == GST_VAAPI_RATECONTROL_CBR) + pic_param->pic_fields.bits.cu_qp_delta_enabled_flag = TRUE; pic_param->pic_fields.bits.pps_loop_filter_across_slices_enabled_flag = TRUE; if (GST_VAAPI_ENC_PICTURE_IS_IDR (picture)) -- 2.7.4