#[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
impl Clone for MotionEstContext
Source§fn clone(&self) -> MotionEstContext
fn clone(&self) -> MotionEstContext
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for MotionEstContext
impl Debug for MotionEstContext
impl Copy for MotionEstContext
Auto Trait Implementations§
impl Freeze for MotionEstContext
impl RefUnwindSafe for MotionEstContext
impl !Send for MotionEstContext
impl !Sync for MotionEstContext
impl Unpin for MotionEstContext
impl UnwindSafe for MotionEstContext
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