From 110d406302122df84fbeb82dab015591dc1b985e Mon Sep 17 00:00:00 2001 From: David Rosca Date: Tue, 4 Feb 2025 18:51:05 +0100 Subject: [PATCH] radeonsi/vcn: Set correct chroma format for H264 decode Fixes decoding monochrome (chroma_format_idc = 0). Cc: mesa-stable Reviewed-by: Ruijing Dong Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_dec.c | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c index fe7052f8344..a395a076068 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_dec.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_dec.c @@ -107,32 +107,13 @@ static rvcn_dec_message_avc_t get_h264_msg(struct radeon_decoder *dec, result.sps_info_flags |= ((dec->dpb_type == DPB_DYNAMIC_TIER_2) ? 0 : 1) << RDECODE_SPS_INFO_H264_EXTENSION_SUPPORT_FLAG_SHIFT; + result.chroma_format = pic->pps->sps->chroma_format_idc; result.bit_depth_luma_minus8 = pic->pps->sps->bit_depth_luma_minus8; result.bit_depth_chroma_minus8 = pic->pps->sps->bit_depth_chroma_minus8; result.log2_max_frame_num_minus4 = pic->pps->sps->log2_max_frame_num_minus4; result.pic_order_cnt_type = pic->pps->sps->pic_order_cnt_type; result.log2_max_pic_order_cnt_lsb_minus4 = pic->pps->sps->log2_max_pic_order_cnt_lsb_minus4; - switch (dec->base.chroma_format) { - case PIPE_VIDEO_CHROMA_FORMAT_NONE: - break; - case PIPE_VIDEO_CHROMA_FORMAT_400: - result.chroma_format = 0; - break; - case PIPE_VIDEO_CHROMA_FORMAT_420: - result.chroma_format = 1; - break; - case PIPE_VIDEO_CHROMA_FORMAT_422: - result.chroma_format = 2; - break; - case PIPE_VIDEO_CHROMA_FORMAT_444: - result.chroma_format = 3; - break; - case PIPE_VIDEO_CHROMA_FORMAT_440: - result.chroma_format = 4; - break; - } - result.pps_info_flags = 0; result.pps_info_flags |= pic->pps->transform_8x8_mode_flag << 0; result.pps_info_flags |= pic->pps->redundant_pic_cnt_present_flag << 1;