[][src]Struct ffmpeg_dev::sys::MotionEstContext

#[repr(C)]
pub struct MotionEstContext {
    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 [Option<unsafe extern "C" fn()>; 4],
    pub hpel_avg: *mut [Option<unsafe extern "C" fn()>; 4],
    pub qpel_put: *mut [Option<unsafe extern "C" fn()>; 16],
    pub qpel_avg: *mut [Option<unsafe extern "C" fn()>; 16],
    pub mv_penalty: *mut [c_uchar; 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>,
}

Motion estimation context.

Fields

avctx: *mut AVCodecContextskip: 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 u8temp_mb: [*mut u8; 2]temp: *mut u8best_bits: c_intmap: *mut u32

< map to avoid duplicate evaluations

score_map: *mut u32

< map to store the scores

map_generation: c_uintpre_penalty_factor: c_intpenalty_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_intmb_penalty_factor: c_intflags: c_intsub_flags: c_intmb_flags: c_intpre_pass: c_int

< = 1 for the pre pass

dia_size: c_intxmin: c_intxmax: c_intymin: c_intymax: c_intpred_x: c_intpred_y: c_intsrc: [[*mut u8; 4]; 4]ref_: [[*mut u8; 4]; 4]stride: c_intuvstride: c_intmc_mb_var_sum_temp: i64mb_var_sum_temp: i64scene_change_score: c_inthpel_put: *mut [Option<unsafe extern "C" fn()>; 4]hpel_avg: *mut [Option<unsafe extern "C" fn()>; 4]qpel_put: *mut [Option<unsafe extern "C" fn()>; 16]qpel_avg: *mut [Option<unsafe extern "C" fn()>; 16]mv_penalty: *mut [c_uchar; 16385]

< bit amount needed to encode a MV

current_mv_penalty: *mut u8sub_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

impl Clone for MotionEstContext[src]

impl Copy for MotionEstContext[src]

impl Debug for MotionEstContext[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]