diff --git a/src/gallium/drivers/radeon/radeon_vcn_dec.c b/src/gallium/drivers/radeon/radeon_vcn_dec.c index 265f3bf5dd0..d33e835263e 100644 --- a/src/gallium/drivers/radeon/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeon/radeon_vcn_dec.c @@ -397,7 +397,7 @@ static rvcn_dec_message_vp9_t get_vp9_msg(struct radeon_decoder *dec, for (i = 0; i < 3; ++i) prbs->seg.pred_probs[i] = pic->picture_parameter.segment_pred_probs[i]; - prbs->seg.abs_delta = 0; + prbs->seg.abs_delta = pic->picture_parameter.abs_delta; } else memset(&prbs->seg, 0, 256); diff --git a/src/gallium/frontends/va/picture_vp9.c b/src/gallium/frontends/va/picture_vp9.c index 8ee7f0107da..f7b52ddf691 100644 --- a/src/gallium/frontends/va/picture_vp9.c +++ b/src/gallium/frontends/va/picture_vp9.c @@ -339,7 +339,7 @@ void vlVaDecoderVP9BitstreamHeader(vlVaContext *context, vlVaBuffer *buf) /* update_data */ if (vp9_u(&vlc, 1)) { /* abs_delta */ - vp9_u(&vlc, 1); + context->desc.vp9.picture_parameter.abs_delta = vp9_u(&vlc, 1); for (i = 0; i < 8; ++i) { /* Use alternate quantizer */ if ((context->desc.vp9.slice_parameter.seg_param[i].alt_quant_enabled = vp9_u(&vlc, 1))) diff --git a/src/gallium/include/pipe/p_video_state.h b/src/gallium/include/pipe/p_video_state.h index 58dc69db103..9b10acd81bf 100644 --- a/src/gallium/include/pipe/p_video_state.h +++ b/src/gallium/include/pipe/p_video_state.h @@ -769,6 +769,7 @@ struct pipe_vp9_picture_desc int8_t y_dc_delta_q; int8_t uv_ac_delta_q; int8_t uv_dc_delta_q; + uint8_t abs_delta; } picture_parameter; struct {