From 880fbcbeee262dbad01c839b7ed78c98a91206e5 Mon Sep 17 00:00:00 2001 From: Benjamin Cheng Date: Wed, 10 Jun 2026 10:11:11 -0400 Subject: [PATCH] ac/video: Add {min,max}_qp to video enc caps Signed-off-by: Benjamin Cheng Reviewed-by: David Rosca Part-of: --- src/amd/common/ac_video.c | 8 ++++++++ src/amd/common/ac_video.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/src/amd/common/ac_video.c b/src/amd/common/ac_video.c index 51df3c9b4e1..8d82e506a7e 100644 --- a/src/amd/common/ac_video.c +++ b/src/amd/common/ac_video.c @@ -421,6 +421,8 @@ vcn_enc_caps(struct radeon_info *info) cap->avc.l1_refs = info->vcn_ip_version >= VCN_3_0_0 ? 1 : 0; cap->avc.transform_8x8 = info->vcn_ip_version >= VCN_5_0_0; cap->formats.nv12 = 1; + cap->min_qp = info->vcn_ip_version >= VCN_5_0_0 ? 0 : 1; + cap->max_qp = 51; /* HEVC Encode */ cap = &info->video_caps.enc[AC_VIDEO_CODEC_HEVC]; @@ -464,6 +466,8 @@ vcn_enc_caps(struct radeon_info *info) cap->hevc.log2_diff_max_min_luma_transform_block_size = 3; cap->formats.nv12 = 1; cap->formats.p010 = cap->hevc.main10 ? 1 : 0; + cap->min_qp = 0; + cap->max_qp = 51; /* AV1 Encode */ cap = &info->video_caps.enc[AC_VIDEO_CODEC_AV1]; @@ -508,6 +512,10 @@ vcn_enc_caps(struct radeon_info *info) cap->av1.skip_mode_present = info->vcn_ip_version >= VCN_5_0_0; cap->formats.nv12 = 1; cap->formats.p010 = 1; + cap->min_qp = info->vcn_ip_version == VCN_4_0_2 || + info->vcn_ip_version == VCN_4_0_5 || + info->vcn_ip_version == VCN_4_0_6 ? 8 : 1; + cap->max_qp = 255; } static void diff --git a/src/amd/common/ac_video.h b/src/amd/common/ac_video.h index 9475baac916..47e9ad7eb58 100644 --- a/src/amd/common/ac_video.h +++ b/src/amd/common/ac_video.h @@ -140,6 +140,8 @@ struct ac_video_enc_codec_caps { bool vbr; bool qvbr; } rc; + uint32_t min_qp; + uint32_t max_qp; union { struct {