From dea360dcf95a561c3756ec36299494cc9ea47c91 Mon Sep 17 00:00:00 2001 From: Boyuan Zhang Date: Fri, 15 Jul 2022 23:41:40 -0400 Subject: [PATCH] frontends/va: get entropy mode info for h264 encode Get entropy mode and cabac init idc from VAAPI interface. Signed-off-by: Boyuan Zhang Acked-by: Leo Liu Reviewed-by: Ruijing Dong Part-of: --- src/gallium/frontends/va/picture_h264_enc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/frontends/va/picture_h264_enc.c b/src/gallium/frontends/va/picture_h264_enc.c index 879d775a10e..af190f4f4e9 100644 --- a/src/gallium/frontends/va/picture_h264_enc.c +++ b/src/gallium/frontends/va/picture_h264_enc.c @@ -73,6 +73,7 @@ vlVaHandleVAEncPictureParameterBufferTypeH264(vlVaDriver *drv, vlVaContext *cont if (context->desc.h264enc.gop_cnt == context->desc.h264enc.gop_size) context->desc.h264enc.gop_cnt = 0; + context->desc.h264enc.pic_ctrl.enc_cabac_enable = h264->pic_fields.bits.entropy_coding_mode_flag; context->desc.h264enc.num_ref_idx_l0_active_minus1 = h264->num_ref_idx_l0_active_minus1; context->desc.h264enc.num_ref_idx_l1_active_minus1 = h264->num_ref_idx_l1_active_minus1; @@ -134,6 +135,8 @@ vlVaHandleVAEncSliceParameterBufferTypeH264(vlVaDriver *drv, vlVaContext *contex context->desc.h264enc.picture_type = PIPE_H2645_ENC_PICTURE_TYPE_SKIP; } + context->desc.h264enc.pic_ctrl.enc_cabac_init_idc = h264->cabac_init_idc; + /* Handle the slice control parameters */ if (context->desc.h264enc.num_slice_descriptors < ARRAY_SIZE(context->desc.h264enc.slices_descriptors)) { context->desc.h264enc.slices_descriptors[context->desc.h264enc.num_slice_descriptors++] = slice_descriptor; @@ -256,7 +259,6 @@ void getEncParamPresetH264(vlVaContext *context) context->desc.h264enc.motion_est.enc_ime2_search_range_y = 1; //pic control preset - context->desc.h264enc.pic_ctrl.enc_cabac_enable = 0x00000001; context->desc.h264enc.pic_ctrl.enc_constraint_set_flags = 0x00000040; //rate control