pub struct AmfAv1Params {
pub rc_mode: AmfRateControl,
pub q_index_intra: u8,
pub q_index_inter: u8,
pub qvbr_quality: u8,
pub quality_preset: AmfQualityPreset,
pub gop_size: u32,
pub aq_mode: u32,
pub tiles_per_frame: u32,
}Expand description
Concrete parameters for AMD AMF AV1 (VCN on RDNA3+).
AMF is property-driven: every knob is set via
AMFComponent::SetProperty(name, value) using wide-string names
defined in vendor/amd/VideoEncoderAV1.h. The adapter emits integer
ranges that exactly match the property-value ranges the AMF runtime
accepts — out-of-range values return AMF_INVALID_ARG.
Consumed in crates/codec/src/encode/amf.rs::AmfEncoder::new.
Fields§
§rc_mode: AmfRateControlAMF_VIDEO_ENCODER_AV1_RATE_CONTROL_METHOD. CQP for archive,
QVBR (quality-VBR) for the common quality-target tiers.
q_index_intra: u8AMF_VIDEO_ENCODER_AV1_Q_INDEX_INTRA. AV1 QP index 0..255 (the
full AV1 quantizer range — NOT 0..63; that’s NVENC’s scale).
q_index_inter: u8AMF_VIDEO_ENCODER_AV1_Q_INDEX_INTER. Usually +8 on intra so
P-frames spend fewer bits.
qvbr_quality: u8AMF_VIDEO_ENCODER_AV1_QVBR_QUALITY_LEVEL. 1..100 when
rc_mode == QualityVbr; ignored for CQP. Higher = better.
quality_preset: AmfQualityPresetAMF_VIDEO_ENCODER_AV1_QUALITY_PRESET. Lower = better quality.
gop_size: u32AMF_VIDEO_ENCODER_AV1_GOP_SIZE. Frames between keyframes.
aq_mode: u32AMF_VIDEO_ENCODER_AV1_AQ_MODE. 0=off, 1=CAQ (content-adaptive).
tiles_per_frame: u32AMF_VIDEO_ENCODER_AV1_TILES_PER_FRAME. AMF picks the grid;
we specify the total. 1 tile at ≤1080p, 4 at 1080p+, 4 at 4K
(VCN is less tile-parallel than rav1e — more tiles hurts HQ).
Trait Implementations§
Source§impl Clone for AmfAv1Params
impl Clone for AmfAv1Params
Source§fn clone(&self) -> AmfAv1Params
fn clone(&self) -> AmfAv1Params
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for AmfAv1Params
Source§impl Debug for AmfAv1Params
impl Debug for AmfAv1Params
impl Eq for AmfAv1Params
Source§impl PartialEq for AmfAv1Params
impl PartialEq for AmfAv1Params
Source§fn eq(&self, other: &AmfAv1Params) -> bool
fn eq(&self, other: &AmfAv1Params) -> bool
self and other values to be equal, and is used by ==.