pub struct RcConfig {Show 20 fields
pub mode: RateControlMode,
pub target_bitrate: u64,
pub max_bitrate: Option<u64>,
pub min_bitrate: Option<u64>,
pub min_qp: u8,
pub max_qp: u8,
pub initial_qp: u8,
pub crf: f32,
pub buffer_size: u64,
pub initial_buffer_fullness: f32,
pub framerate_num: u32,
pub framerate_den: u32,
pub gop_length: u32,
pub enable_aq: bool,
pub aq_strength: f32,
pub lookahead_depth: usize,
pub b_qp_offset: i8,
pub i_qp_offset: i8,
pub scene_cut_detection: bool,
pub scene_cut_threshold: f32,
}Expand description
Rate control configuration.
Fields§
§mode: RateControlModeRate control mode.
target_bitrate: u64Target bitrate in bits per second.
max_bitrate: Option<u64>Maximum bitrate in bits per second (for VBR).
min_bitrate: Option<u64>Minimum bitrate in bits per second (for VBR).
min_qp: u8Minimum QP value (higher quality limit).
max_qp: u8Maximum QP value (lower quality limit).
initial_qp: u8Initial QP for the first frame.
crf: f32CRF value for quality-based modes (0-63).
buffer_size: u64VBV/HRD buffer size in bits.
initial_buffer_fullness: f32Initial buffer fullness as a fraction (0.0-1.0).
framerate_num: u32Frame rate numerator.
framerate_den: u32Frame rate denominator.
gop_length: u32GOP (keyframe interval) length.
enable_aq: boolEnable adaptive quantization.
aq_strength: f32AQ strength (0.0-2.0).
lookahead_depth: usizeLookahead depth (number of frames).
b_qp_offset: i8B-frame QP offset from P-frame.
i_qp_offset: i8I-frame QP offset from P-frame (typically negative).
scene_cut_detection: boolEnable scene cut detection.
scene_cut_threshold: f32Scene cut threshold (0.0-1.0).
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RcConfig
impl RefUnwindSafe for RcConfig
impl Send for RcConfig
impl Sync for RcConfig
impl Unpin for RcConfig
impl UnsafeUnpin for RcConfig
impl UnwindSafe for RcConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more