diff options
author | Ruijing Dong <ruijing.dong@amd.com> | 2023-04-20 11:22:31 -0400 |
---|---|---|
committer | Dylan Baker <dylan.c.baker@intel.com> | 2023-05-17 18:36:47 -0700 |
commit | a6739ce185b31d8607f8073f2a18ec3a5af76765 (patch) | |
tree | 3cd25517f1f989111b0d97d0962086d92d819023 | |
parent | 9eb964ca1bf30254542a1376021654c482a52c6f (diff) | |
download | mesa-a6739ce185b31d8607f8073f2a18ec3a5af76765.tar.gz |
radeonsi/vcn: correct cropping for hevc casestaging/23.0
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 <thong.thai@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22758>
(cherry picked from commit b07f575a91d200ef8ac7189b82b47394414c36bd)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/radeon_vcn_enc_1_2.c | 4 | ||||
-rw-r--r-- | 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); |