Mesa (staging/19.1): radeon/vcn: enable rate control for hevc encoding
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Jul 29 11:18:43 UTC 2019
Module: Mesa
Branch: staging/19.1
Commit: b521c3c0c8a2fdb56f8e8c55e0567f1050cc9c10
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b521c3c0c8a2fdb56f8e8c55e0567f1050cc9c10
Author: Boyuan Zhang <boyuan.zhang at amd.com>
Date: Mon Jun 17 15:02:32 2019 -0400
radeon/vcn: enable rate control for hevc encoding
Set cu_qp_delta_enable_flag on when rate control is enabled, and set it
off when rate control is disabled (e.g. constant qp).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110673
Cc: mesa-stable at lists.freedesktop.org
V2: fix typo and add bugzilla info
Signed-off-by: Boyuan Zhang <boyuan.zhang at amd.com>
Acked-by: Leo Liu <leo.liu at amd.com>
(cherry picked from commit b0626c1f306b8f55911d8926f85dc13c6a327a2f)
---
src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c b/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
index 3302ed7524b..fdf0e3ac06c 100644
--- a/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
+++ b/src/gallium/drivers/radeon/radeon_vcn_enc_1_2.c
@@ -687,7 +687,13 @@ static void radeon_enc_nalu_pps_hevc(struct radeon_encoder *enc)
radeon_enc_code_se(enc, 0x0);
radeon_enc_code_fixed_bits(enc, enc->enc_pic.hevc_spec_misc.constrained_intra_pred_flag, 1);
radeon_enc_code_fixed_bits(enc, 0x0, 1);
- radeon_enc_code_fixed_bits(enc, 0x0, 1);
+ if (enc->enc_pic.rc_session_init.rate_control_method ==
+ RENCODE_RATE_CONTROL_METHOD_NONE)
+ radeon_enc_code_fixed_bits(enc, 0x0, 1);
+ else {
+ radeon_enc_code_fixed_bits(enc, 0x1, 1);
+ radeon_enc_code_ue(enc, 0x0);
+ }
radeon_enc_code_se(enc, enc->enc_pic.hevc_deblock.cb_qp_offset);
radeon_enc_code_se(enc, enc->enc_pic.hevc_deblock.cr_qp_offset);
radeon_enc_code_fixed_bits(enc, 0x0, 1);
More information about the mesa-commit
mailing list