mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
radeon/vcn: calc_dpb_size should be based on dpb_type
This patch will fix the dpb size calculated for each dpb_type. Current implementaion always calculating based on DPB_MAX_RES.To fix this dpb_type should be decided before calc_dpb_size. Signed-off-by: SureshGuttula <suresh.guttula@amd.corp-partner.google.com> Reviewed-by: Leo Liu <leo.liu@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11633>
This commit is contained in:
parent
c0397a42ce
commit
52602452ab
1 changed files with 8 additions and 7 deletions
|
|
@ -2421,6 +2421,14 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context,
|
|||
}
|
||||
}
|
||||
|
||||
if (sctx->family >= CHIP_SIENNA_CICHLID &&
|
||||
(stream_type == RDECODE_CODEC_VP9 || stream_type == RDECODE_CODEC_AV1))
|
||||
dec->dpb_type = DPB_DYNAMIC_TIER_2;
|
||||
else if (sctx->family <= CHIP_NAVI14 && stream_type == RDECODE_CODEC_VP9)
|
||||
dec->dpb_type = DPB_DYNAMIC_TIER_1;
|
||||
else
|
||||
dec->dpb_type = DPB_MAX_RES;
|
||||
|
||||
dec->db_alignment = (((struct si_screen *)dec->screen)->info.family >= CHIP_RENOIR &&
|
||||
dec->base.width > 32 && (dec->stream_type == RDECODE_CODEC_VP9 ||
|
||||
dec->stream_type == RDECODE_CODEC_AV1 ||
|
||||
|
|
@ -2487,13 +2495,6 @@ struct pipe_video_codec *radeon_create_decoder(struct pipe_context *context,
|
|||
else
|
||||
dec->send_cmd = send_cmd_dec;
|
||||
|
||||
if (sctx->family >= CHIP_SIENNA_CICHLID &&
|
||||
(stream_type == RDECODE_CODEC_VP9 || stream_type == RDECODE_CODEC_AV1))
|
||||
dec->dpb_type = DPB_DYNAMIC_TIER_2;
|
||||
else if (sctx->family <= CHIP_NAVI14 && stream_type == RDECODE_CODEC_VP9)
|
||||
dec->dpb_type = DPB_DYNAMIC_TIER_1;
|
||||
else
|
||||
dec->dpb_type = DPB_MAX_RES;
|
||||
|
||||
if (dec->dpb_type == DPB_DYNAMIC_TIER_2) {
|
||||
list_inithead(&dec->dpb_ref_list);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue