Struct MotionEstContext

Source
#[repr(C)]
pub struct MotionEstContext {
Show 41 fields pub avctx: *mut AVCodecContext, pub skip: c_int, pub co_located_mv: [[c_int; 2]; 4], pub direct_basis_mv: [[c_int; 2]; 4], pub scratchpad: *mut u8, pub best_mb: *mut u8, pub temp_mb: [*mut u8; 2], pub temp: *mut u8, pub best_bits: c_int, pub map: *mut u32, pub score_map: *mut u32, pub map_generation: c_uint, pub pre_penalty_factor: c_int, pub penalty_factor: c_int, pub sub_penalty_factor: c_int, pub mb_penalty_factor: c_int, pub flags: c_int, pub sub_flags: c_int, pub mb_flags: c_int, pub pre_pass: c_int, pub dia_size: c_int, pub xmin: c_int, pub xmax: c_int, pub ymin: c_int, pub ymax: c_int, pub pred_x: c_int, pub pred_y: c_int, pub src: [[*mut u8; 4]; 4], pub ref_: [[*mut u8; 4]; 4], pub stride: c_int, pub uvstride: c_int, pub mc_mb_var_sum_temp: i64, pub mb_var_sum_temp: i64, pub scene_change_score: c_int, pub hpel_put: *mut [op_pixels_func; 4], pub hpel_avg: *mut [op_pixels_func; 4], pub qpel_put: *mut [qpel_mc_func; 16], pub qpel_avg: *mut [qpel_mc_func; 16], pub mv_penalty: *mut [u8; 16385], pub current_mv_penalty: *mut u8, pub sub_motion_search: Option<unsafe extern "C" fn(s: *mut MpegEncContext, mx_ptr: *mut c_int, my_ptr: *mut c_int, dmin: c_int, src_index: c_int, ref_index: c_int, size: c_int, h: c_int) -> c_int>,
}
Expand description

Motion estimation context.

Fields§

§avctx: *mut AVCodecContext§skip: c_int

< set if ME is skipped for the current MB

§co_located_mv: [[c_int; 2]; 4]

< mv from last P-frame for direct mode ME

§direct_basis_mv: [[c_int; 2]; 4]§scratchpad: *mut u8

< data area for the ME algo, so that the ME does not need to malloc/free.

§best_mb: *mut u8§temp_mb: [*mut u8; 2]§temp: *mut u8§best_bits: c_int§map: *mut u32

< map to avoid duplicate evaluations

§score_map: *mut u32

< map to store the scores

§map_generation: c_uint§pre_penalty_factor: c_int§penalty_factor: c_int

< an estimate of the bits required to code a given mv value, e.g. (1,0) takes more bits than (0,0). We have to estimate whether any reduction in residual is worth the extra bits.

§sub_penalty_factor: c_int§mb_penalty_factor: c_int§flags: c_int§sub_flags: c_int§mb_flags: c_int§pre_pass: c_int

< = 1 for the pre pass

§dia_size: c_int§xmin: c_int§xmax: c_int§ymin: c_int§ymax: c_int§pred_x: c_int§pred_y: c_int§src: [[*mut u8; 4]; 4]§ref_: [[*mut u8; 4]; 4]§stride: c_int§uvstride: c_int§mc_mb_var_sum_temp: i64§mb_var_sum_temp: i64§scene_change_score: c_int§hpel_put: *mut [op_pixels_func; 4]§hpel_avg: *mut [op_pixels_func; 4]§qpel_put: *mut [qpel_mc_func; 16]§qpel_avg: *mut [qpel_mc_func; 16]§mv_penalty: *mut [u8; 16385]

< bit amount needed to encode a MV

§current_mv_penalty: *mut u8§sub_motion_search: Option<unsafe extern "C" fn(s: *mut MpegEncContext, mx_ptr: *mut c_int, my_ptr: *mut c_int, dmin: c_int, src_index: c_int, ref_index: c_int, size: c_int, h: c_int) -> c_int>

Trait Implementations§

Source§

impl Clone for MotionEstContext

Source§

fn clone(&self) -> MotionEstContext

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for MotionEstContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for MotionEstContext

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.