pub struct NvencAv1Params {
pub rc_mode: NvencRateControl,
pub cq: u8,
pub preset_guid: [u8; 16],
pub tuning_info: u32,
pub aq_strength: u8,
pub lookahead_depth: u32,
pub num_tile_columns: u32,
pub num_tile_rows: u32,
pub output_annex_b_format: u32,
pub repeat_seq_hdr: u32,
}Expand description
Concrete parameters for NVENC AV1 (NV_ENC_CONFIG + NV_ENC_RC_PARAMS).
Consumed in crates/codec/src/encode/nvenc.rs when populating
NV_ENC_INITIALIZE_PARAMS.encode_config (currently null — see
reviews/codec-review-3.md issues 1-3).
GUID is returned as its raw 16-byte form so the caller can splat
it into the SDK’s #[repr(C)] Guid { data1: u32, data2: u16, data3: u16, data4: [u8;8] } without this module depending on the
FFI struct definitions.
Fields§
§rc_mode: NvencRateControlRate control mode. Values are the SDK constants
NV_ENC_PARAMS_RC_CONSTQP = 0, NV_ENC_PARAMS_RC_VBR = 1,
NV_ENC_PARAMS_RC_CBR = 2. We only emit CONSTQP (archive) or
VBR+targetQuality (all other tiers) — CBR is never used by
this service.
cq: u8AV1 CQ target (for VBR mode) or constant QP (for CONSTQP mode). Range 0–63 for AV1 (NOT 0-51 — that range is H.264/HEVC).
preset_guid: [u8; 16]Preset GUID raw bytes, ready to splat into a #[repr(C)] Guid.
Order: data1 (4 bytes, u32 LE), data2 (2 bytes u16 LE),
data3 (2 bytes u16 LE), data4 (8 raw bytes).
tuning_info: u32NV_ENC_TUNING_INFO — always HIGH_QUALITY (1) for this
service; never low-latency.
aq_strength: u8Adaptive quantization strength 0–15. 0 disables AQ. ~8 is a reasonable default under HIGH_QUALITY tuning.
lookahead_depth: u32Lookahead depth (frames). 0 disables. Higher = better quality bias at cost of latency.
num_tile_columns: u32NV_ENC_CONFIG_AV1.numTileColumns.
num_tile_rows: u32NV_ENC_CONFIG_AV1.numTileRows.
output_annex_b_format: u32NV_ENC_CONFIG_AV1.outputAnnexBFormat. Always 0 (LOB) for
MP4 muxing — AV1-ISOBMFF requires obu_has_size_field = 1.
repeat_seq_hdr: u32NV_ENC_CONFIG_AV1.repeatSeqHdr. Always 1 so every IDR
carries a sequence header for seeking.
Trait Implementations§
Source§impl Clone for NvencAv1Params
impl Clone for NvencAv1Params
Source§fn clone(&self) -> NvencAv1Params
fn clone(&self) -> NvencAv1Params
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 NvencAv1Params
Source§impl Debug for NvencAv1Params
impl Debug for NvencAv1Params
impl Eq for NvencAv1Params
Source§impl PartialEq for NvencAv1Params
impl PartialEq for NvencAv1Params
Source§fn eq(&self, other: &NvencAv1Params) -> bool
fn eq(&self, other: &NvencAv1Params) -> bool
self and other values to be equal, and is used by ==.