From b07f575a91d200ef8ac7189b82b47394414c36bd Mon Sep 17 00:00:00 2001 From: Ruijing Dong Date: Thu, 20 Apr 2023 11:22:31 -0400 Subject: [PATCH] radeonsi/vcn: correct cropping for hevc case reason: corect cropping calculation error. If no cropping from the external, then it will need to calculate cropping size internally, the padding size on left and top should be zero. Cc: mesa-stable Fixes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7171 Reviewed-by: Thong Thai Signed-off-by: Ruijing Dong Part-of: --- src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c | 4 ++-- src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c index 2e690a59dad..eca3143298c 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c @@ -400,9 +400,9 @@ static void radeon_enc_nalu_sps_hevc(struct radeon_encoder *enc) } else if (pic->session_init.padding_width != 0 || pic->session_init.padding_height != 0) { radeon_enc_code_fixed_bits(enc, 0x1, 1); + radeon_enc_code_ue(enc, 0); radeon_enc_code_ue(enc, pic->session_init.padding_width / 2); - radeon_enc_code_ue(enc, pic->session_init.padding_width / 2); - radeon_enc_code_ue(enc, pic->session_init.padding_height / 2); + radeon_enc_code_ue(enc, 0); radeon_enc_code_ue(enc, pic->session_init.padding_height / 2); } else radeon_enc_code_fixed_bits(enc, 0x0, 1); diff --git a/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c b/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c index 202e59d1015..f2ff4cfa9ad 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c @@ -303,12 +303,12 @@ static void radeon_enc_nalu_sps_hevc(struct radeon_encoder *enc) } else if (pic->session_init.padding_width != 0 || pic->session_init.padding_height != 0) { radeon_enc_code_fixed_bits(enc, 0x1, 1); + radeon_enc_code_ue(enc, 0); radeon_enc_code_ue(enc, pic->session_init.padding_width / 2); - radeon_enc_code_ue(enc, pic->session_init.padding_width / 2); - radeon_enc_code_ue(enc, pic->session_init.padding_height / 2); + radeon_enc_code_ue(enc, 0); radeon_enc_code_ue(enc, pic->session_init.padding_height / 2); } else - radeon_enc_code_fixed_bits(enc, 0x0, 1); + radeon_enc_code_fixed_bits(enc, 0x0, 1); radeon_enc_code_ue(enc, pic->bit_depth_luma_minus8); radeon_enc_code_ue(enc, pic->bit_depth_chroma_minus8);