radeonsi/vcn: Use VP9 use_prev_frame_mvs and segmentation_update_data
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run

Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37808>
This commit is contained in:
David Rosca 2025-10-10 09:33:14 +02:00 committed by Marge Bot
parent add5074460
commit 415a09515c
2 changed files with 7 additions and 12 deletions

View file

@ -494,6 +494,10 @@ static rvcn_dec_message_vp9_t get_vp9_msg(struct radeon_decoder *dec,
<< RDECODE_FRAME_HDR_INFO_VP9_SEGMENTATION_TEMPORAL_UPDATE_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_SEGMENTATION_TEMPORAL_UPDATE_MASK;
result.frame_header_flags |= (pic->picture_parameter.pic_fields.segmentation_update_data
<< RDECODE_FRAME_HDR_INFO_VP9_SEGMENTATION_UPDATE_DATA_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_SEGMENTATION_UPDATE_DATA_MASK;
result.frame_header_flags |= (pic->picture_parameter.mode_ref_delta_enabled
<< RDECODE_FRAME_HDR_INFO_VP9_MODE_REF_DELTA_ENABLED_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_MODE_REF_DELTA_ENABLED_MASK;
@ -502,12 +506,9 @@ static rvcn_dec_message_vp9_t get_vp9_msg(struct radeon_decoder *dec,
<< RDECODE_FRAME_HDR_INFO_VP9_MODE_REF_DELTA_UPDATE_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_MODE_REF_DELTA_UPDATE_MASK;
result.frame_header_flags |=
((dec->show_frame && !pic->picture_parameter.pic_fields.error_resilient_mode &&
dec->last_width == dec->base.width && dec->last_height == dec->base.height)
<< RDECODE_FRAME_HDR_INFO_VP9_USE_PREV_IN_FIND_MV_REFS_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_USE_PREV_IN_FIND_MV_REFS_MASK;
dec->show_frame = pic->picture_parameter.pic_fields.show_frame;
result.frame_header_flags |= (pic->picture_parameter.pic_fields.use_prev_frame_mvs
<< RDECODE_FRAME_HDR_INFO_VP9_USE_PREV_IN_FIND_MV_REFS_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_USE_PREV_IN_FIND_MV_REFS_MASK;
result.frame_header_flags |= (1 << RDECODE_FRAME_HDR_INFO_VP9_USE_UNCOMPRESSED_HEADER_SHIFT) &
RDECODE_FRAME_HDR_INFO_VP9_USE_UNCOMPRESSED_HEADER_MASK;
@ -604,9 +605,6 @@ static rvcn_dec_message_vp9_t get_vp9_msg(struct radeon_decoder *dec,
memcpy(dec->ref_codec.ref_list, result.ref_frame_map, sizeof(result.ref_frame_map));
}
dec->last_width = dec->base.width;
dec->last_height = dec->base.height;
return result;
}

View file

@ -71,8 +71,6 @@ struct radeon_decoder {
unsigned frame_number;
unsigned db_alignment;
unsigned dpb_size;
unsigned last_width;
unsigned last_height;
unsigned max_width;
unsigned max_height;
unsigned addr_gfx_mode;
@ -104,7 +102,6 @@ struct radeon_decoder {
unsigned h264_valid_ref_num[17];
unsigned h264_valid_poc_num[34];
unsigned av1_version;
bool show_frame;
unsigned ref_idx;
bool tmz_ctx;
struct {