radeonsi/vcn: Drop vcn_enc_2_0 encode() override

Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38257>
This commit is contained in:
David Rosca 2025-11-05 09:52:03 +01:00 committed by Marge Bot
parent b2c733d5ad
commit b8c317c459
2 changed files with 12 additions and 50 deletions

View file

@ -1229,6 +1229,9 @@ static void encode(struct radeon_encoder *enc)
enc->total_task_size = 0;
enc->task_info(enc, enc->need_feedback);
if (enc->need_spec_misc)
enc->spec_misc(enc);
if (enc->need_rate_control || enc->need_rc_per_pic) {
i = 0;
do {
@ -1249,10 +1252,15 @@ static void encode(struct radeon_encoder *enc)
enc->encode_headers(enc);
enc->ctx(enc);
enc->ctx_override(enc);
enc->bitstream(enc);
enc->feedback(enc);
enc->metadata(enc);
enc->encode_statistics(enc);
enc->intra_refresh(enc);
enc->qp_map(enc);
enc->input_format(enc);
enc->output_format(enc);
enc->op_preset(enc);
enc->op_enc(enc);
@ -1302,6 +1310,10 @@ void radeon_enc_1_2_init(struct radeon_encoder *enc)
enc->encode_statistics = radeon_enc_encode_statistics;
enc->qp_map = radeon_enc_qp_map;
enc->encode_latency = radeon_enc_encode_latency;
enc->input_format = radeon_enc_dummy;
enc->output_format = radeon_enc_dummy;
enc->ctx_override = radeon_enc_dummy;
enc->metadata = radeon_enc_dummy;
if (u_reduce_video_profile(enc->base.profile) == PIPE_VIDEO_FORMAT_MPEG4_AVC) {
enc->slice_control = radeon_enc_slice_control;

View file

@ -141,67 +141,17 @@ static void radeon_enc_spec_misc_hevc(struct radeon_encoder *enc)
RADEON_ENC_END();
}
static void encode(struct radeon_encoder *enc)
{
unsigned i;
enc->before_encode(enc);
enc->session_info(enc);
enc->total_task_size = 0;
enc->task_info(enc, enc->need_feedback);
if (enc->need_spec_misc)
enc->spec_misc(enc);
if (enc->need_rate_control || enc->need_rc_per_pic) {
i = 0;
do {
enc->enc_pic.layer_sel.temporal_layer_index = i;
if (enc->need_rate_control) {
enc->layer_select(enc);
enc->rc_layer_init(enc);
}
if (enc->need_rc_per_pic) {
enc->layer_select(enc);
enc->rc_per_pic(enc);
}
} while (++i < enc->enc_pic.num_temporal_layers);
}
enc->enc_pic.layer_sel.temporal_layer_index = enc->enc_pic.temporal_id;
enc->layer_select(enc);
enc->encode_headers(enc);
enc->ctx(enc);
enc->ctx_override(enc);
enc->bitstream(enc);
enc->feedback(enc);
enc->metadata(enc);
enc->encode_statistics(enc);
enc->intra_refresh(enc);
enc->qp_map(enc);
enc->input_format(enc);
enc->output_format(enc);
enc->op_preset(enc);
enc->op_enc(enc);
*enc->p_task_size = (enc->total_task_size);
}
void radeon_enc_2_0_init(struct radeon_encoder *enc)
{
struct si_screen *sscreen = (struct si_screen *)enc->screen;
uint32_t minor_version;
radeon_enc_1_2_init(enc);
enc->encode = encode;
enc->input_format = radeon_enc_input_format;
enc->output_format = radeon_enc_output_format;
enc->ctx = radeon_enc_ctx;
enc->op_preset = radeon_enc_op_preset;
enc->quality_params = radeon_enc_quality_params;
enc->ctx_override = radeon_enc_dummy;
enc->metadata = radeon_enc_dummy;
if (u_reduce_video_profile(enc->base.profile) == PIPE_VIDEO_FORMAT_HEVC) {
enc->deblocking_filter = radeon_enc_loop_filter_hevc;