Module: Mesa
Branch: main
Commit: b07f575a91d200ef8ac7189b82b47394414c36bd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b07f575a91d200ef8ac7189b82b47394414c36bd

Author: Ruijing Dong <[email protected]>
Date:   Thu Apr 20 11:22:31 2023 -0400

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 <[email protected]>
Signed-off-by: Ruijing Dong <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22758>

---

 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);

Reply via email to