radeonsi/vcn: Add rc_per_pic_ex encode command
This makes it a bit cleaner as VCN5 goes back to using base rc_per_pic. Reviewed-by: Boyuan Zhang <boyuan.zhang@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31113>
This commit is contained in:
@@ -660,6 +660,7 @@ typedef struct rvcn_enc_cmd_s {
|
||||
uint32_t rc_session_init;
|
||||
uint32_t rc_layer_init;
|
||||
uint32_t rc_per_pic;
|
||||
uint32_t rc_per_pic_ex;
|
||||
uint32_t quality_params;
|
||||
uint32_t slice_header;
|
||||
uint32_t enc_params;
|
||||
|
@@ -1249,7 +1249,7 @@ static void radeon_enc_rc_per_pic(struct radeon_encoder *enc)
|
||||
|
||||
static void radeon_enc_rc_per_pic_ex(struct radeon_encoder *enc)
|
||||
{
|
||||
RADEON_ENC_BEGIN(enc->cmd.rc_per_pic);
|
||||
RADEON_ENC_BEGIN(enc->cmd.rc_per_pic_ex);
|
||||
RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_i);
|
||||
RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_p);
|
||||
RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_b);
|
||||
@@ -1553,10 +1553,8 @@ void radeon_enc_1_2_init(struct radeon_encoder *enc)
|
||||
enc->cmd.layer_select = RENCODE_IB_PARAM_LAYER_SELECT;
|
||||
enc->cmd.rc_session_init = RENCODE_IB_PARAM_RATE_CONTROL_SESSION_INIT;
|
||||
enc->cmd.rc_layer_init = RENCODE_IB_PARAM_RATE_CONTROL_LAYER_INIT;
|
||||
if (enc->enc_pic.use_rc_per_pic_ex == true)
|
||||
enc->cmd.rc_per_pic = RENCODE_IB_PARAM_RATE_CONTROL_PER_PIC_EX;
|
||||
else
|
||||
enc->cmd.rc_per_pic = RENCODE_IB_PARAM_RATE_CONTROL_PER_PICTURE;
|
||||
enc->cmd.rc_per_pic = RENCODE_IB_PARAM_RATE_CONTROL_PER_PICTURE;
|
||||
enc->cmd.rc_per_pic_ex = RENCODE_IB_PARAM_RATE_CONTROL_PER_PIC_EX;
|
||||
enc->cmd.quality_params = RENCODE_IB_PARAM_QUALITY_PARAMS;
|
||||
enc->cmd.nalu = RENCODE_IB_PARAM_DIRECT_OUTPUT_NALU;
|
||||
enc->cmd.slice_header = RENCODE_IB_PARAM_SLICE_HEADER;
|
||||
|
@@ -95,7 +95,7 @@ static void radeon_enc_quality_params(struct radeon_encoder *enc)
|
||||
|
||||
static void radeon_enc_rc_per_pic_ex(struct radeon_encoder *enc)
|
||||
{
|
||||
RADEON_ENC_BEGIN(enc->cmd.rc_per_pic);
|
||||
RADEON_ENC_BEGIN(enc->cmd.rc_per_pic_ex);
|
||||
RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_i);
|
||||
RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_p);
|
||||
RADEON_ENC_CS(enc->enc_pic.rc_per_pic.qp_b);
|
||||
|
@@ -1078,7 +1078,6 @@ void radeon_enc_5_0_init(struct radeon_encoder *enc)
|
||||
enc->cmd.enc_params_av1 = RENCODE_IB_PARAM_AV1_ENCODE_PARAMS;
|
||||
}
|
||||
|
||||
enc->cmd.rc_per_pic = RENCODE_IB_PARAM_RATE_CONTROL_PER_PICTURE;
|
||||
enc->cmd.metadata = RENCODE_IB_PARAM_METADATA_BUFFER;
|
||||
enc->cmd.ctx_override = RENCODE_IB_PARAM_ENCODE_CONTEXT_BUFFER_OVERRIDE;
|
||||
|
||||
|
Reference in New Issue
Block a user