From a6739ce185b31d8607f8073f2a18ec3a5af76765 Mon Sep 17 00:00:00 2001 From: Ruijing Dong Date: Thu, 20 Apr 2023 11:22:31 -0400 Subject: 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: (cherry picked from commit b07f575a91d200ef8ac7189b82b47394414c36bd) --- .pick_status.json | 2 +- src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c | 4 ++-- src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 75e5762e4a8..5f9b45b2f63 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -7894,7 +7894,7 @@ "description": "radeonsi/vcn: correct cropping for hevc case", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null 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 9ca28cca3b8..e55787ae302 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c @@ -399,9 +399,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 0ca223ffc5c..c52eae9f28b 100644 --- a/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c +++ b/src/gallium/drivers/radeonsi/radeon_vcn_enc_2_0.c @@ -285,12 +285,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); -- cgit v1.2.1