Skip to main content

_VAEncMiscParameterRateControl

Struct _VAEncMiscParameterRateControl 

Source
#[repr(C)]
pub struct _VAEncMiscParameterRateControl { pub bits_per_second: u32, pub target_percentage: u32, pub window_size: u32, pub initial_qp: u32, pub min_qp: u32, pub basic_unit_size: u32, pub rc_flags: _VAEncMiscParameterRateControl__bindgen_ty_1, pub ICQ_quality_factor: u32, pub max_qp: u32, pub quality_factor: u32, pub target_frame_size: u32, pub va_reserved: [u32; 4], }
Expand description

\brief Rate control parameters

Fields§

§bits_per_second: u32

The maximum bit-rate which the the rate controller should generate.

§target_percentage: u32

The target bit-rate which the rate controller should generate, as a percentage of the maximum bit-rate.

In CBR mode this value is ignored (treated as 100%).

§window_size: u32

Rate control window size in milliseconds.

The rate controller will attempt to guarantee that the target and maximum bit-rates are correct over this window.

§initial_qp: u32

Initial quantiser value used at the start of the stream.

Ignored if set to zero.

§min_qp: u32

Minimum quantiser value to use.

The quantiser will not go below the value - if this limit is hit, the output bitrate may be lower than the target. Ignored if set to zero.

§basic_unit_size: u32

Basic unit size.

Only used by some drivers - see driver documentation for details. Set to zero if unused.

§rc_flags: _VAEncMiscParameterRateControl__bindgen_ty_1§ICQ_quality_factor: u32

Initial quality factor used in ICQ mode.

This value must be between 1 and 51. this value will be deprecated in future, to use quality_factor instead of it.

§max_qp: u32

Maximum quantiser value to use.

The quantiser will not go above this value - if this limit is hit, the output bitrate may exceed the target. Ignored if set to zero.

§quality_factor: u32

Quality factor

the range will be different for different codec

§target_frame_size: u32

Target frame size

Desired frame size in bytes. This parameter can be used in some RC modes (like Transport Controlled BRC) where feedback from the app is required. Zero value means no limits.

§va_reserved: [u32; 4]

Reserved bytes for future use, must be zero.

Trait Implementations§

Source§

impl Clone for _VAEncMiscParameterRateControl

Source§

fn clone(&self) -> _VAEncMiscParameterRateControl

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for _VAEncMiscParameterRateControl

Source§

impl Default for _VAEncMiscParameterRateControl

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.