diff --git a/src/gallium/frontends/va/picture_h264_enc.c b/src/gallium/frontends/va/picture_h264_enc.c index 91b76d2de40..9920b738760 100644 --- a/src/gallium/frontends/va/picture_h264_enc.c +++ b/src/gallium/frontends/va/picture_h264_enc.c @@ -262,6 +262,8 @@ vlVaHandleVAEncSliceParameterBufferTypeH264(vlVaDriver *drv, vlVaContext *contex context->desc.h264enc.picture_type = PIPE_H2645_ENC_PICTURE_TYPE_SKIP; } + context->desc.h264enc.dpb[context->desc.h264enc.dpb_curr_pic].picture_type = context->desc.h264enc.picture_type; + context->desc.h264enc.pic_ctrl.enc_cabac_init_idc = h264->cabac_init_idc; context->desc.h264enc.dbk.disable_deblocking_filter_idc = h264->disable_deblocking_filter_idc; context->desc.h264enc.dbk.alpha_c0_offset_div2 = h264->slice_alpha_c0_offset_div2; diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index 4c86a2a4475..b8c14c09a35 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -762,6 +762,7 @@ struct pipe_h264_enc_dpb_entry bool is_ltr; struct pipe_video_buffer *buffer; bool evict; + enum pipe_h2645_enc_picture_type picture_type; }; struct pipe_h264_enc_picture_desc