Libav
|
Motion estimation context. More...
#include <mpegvideo.h>
Data Fields | |
AVCodecContext * | avctx |
int | skip |
set if ME is skipped for the current MB More... | |
int | co_located_mv [4][2] |
mv from last P-frame for direct mode ME More... | |
int | direct_basis_mv [4][2] |
uint8_t * | scratchpad |
data area for the ME algo, so that the ME does not need to malloc/free More... | |
uint8_t * | best_mb |
uint8_t * | temp_mb [2] |
uint8_t * | temp |
int | best_bits |
uint32_t * | map |
map to avoid duplicate evaluations More... | |
uint32_t * | score_map |
map to store the scores More... | |
unsigned | map_generation |
int | pre_penalty_factor |
int | penalty_factor |
an estimate of the bits required to code a given mv value, e.g. More... | |
int | sub_penalty_factor |
int | mb_penalty_factor |
int | flags |
int | sub_flags |
int | mb_flags |
int | pre_pass |
= 1 for the pre pass More... | |
int | dia_size |
int | xmin |
int | xmax |
int | ymin |
int | ymax |
int | pred_x |
int | pred_y |
uint8_t * | src [4][4] |
uint8_t * | ref [4][4] |
int | stride |
int | uvstride |
int | mc_mb_var_sum_temp |
int | mb_var_sum_temp |
int | scene_change_score |
op_pixels_func(* | hpel_put )[4] |
op_pixels_func(* | hpel_avg )[4] |
qpel_mc_func(* | qpel_put )[16] |
qpel_mc_func(* | qpel_avg )[16] |
uint8_t(* | mv_penalty )[MAX_MV *2+1] |
amount of bits needed to encode a MV More... | |
uint8_t * | current_mv_penalty |
int(* | sub_motion_search )(struct MpegEncContext *s, int *mx_ptr, int *my_ptr, int dmin, int src_index, int ref_index, int size, int h) |
Motion estimation context.
Definition at line 208 of file mpegvideo.h.
AVCodecContext* MotionEstContext::avctx |
Definition at line 209 of file mpegvideo.h.
Referenced by check_bidir_mv(), direct_search(), epzs_motion_search_internal(), estimate_motion_b(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), ff_fix_long_mvs(), ff_fix_long_p_mvs(), ff_init_me(), ff_pre_estimate_p_frame_motion(), get_flags(), get_limits(), h263_mv4_search(), hpel_motion_search(), interlaced_search(), and qpel_motion_search().
int MotionEstContext::skip |
set if ME is skipped for the current MB
Definition at line 210 of file mpegvideo.h.
Referenced by direct_search(), epzs_motion_search_internal(), estimate_motion_b(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), hpel_motion_search(), qpel_motion_search(), and sad_hpel_motion_search().
int MotionEstContext::co_located_mv[4][2] |
mv from last P-frame for direct mode ME
Definition at line 211 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and direct_search().
int MotionEstContext::direct_basis_mv[4][2] |
Definition at line 212 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and direct_search().
uint8_t* MotionEstContext::scratchpad |
data area for the ME algo, so that the ME does not need to malloc/free
Definition at line 213 of file mpegvideo.h.
Referenced by alloc_scratch_buffers(), check_bidir_mv(), clone_tables(), ff_estimate_p_frame_motion(), frame_size_alloc(), free_duplicate_context(), free_tables(), h263_mv4_search(), init_duplicate_context(), interlaced_search(), svq1_encode_end(), and svq1_encode_init().
uint8_t* MotionEstContext::best_mb |
Definition at line 214 of file mpegvideo.h.
uint8_t* MotionEstContext::temp_mb[2] |
Definition at line 215 of file mpegvideo.h.
uint8_t* MotionEstContext::temp |
Definition at line 216 of file mpegvideo.h.
Referenced by alloc_scratch_buffers(), cmp_direct_inline(), cmp_inline(), frame_size_alloc(), free_duplicate_context(), init_duplicate_context(), and svq1_encode_init().
int MotionEstContext::best_bits |
Definition at line 217 of file mpegvideo.h.
uint32_t* MotionEstContext::map |
map to avoid duplicate evaluations
Definition at line 218 of file mpegvideo.h.
Referenced by free_duplicate_context(), hpel_motion_search(), init_duplicate_context(), qpel_motion_search(), svq1_encode_end(), svq1_encode_init(), and update_map_generation().
uint32_t* MotionEstContext::score_map |
map to store the scores
Definition at line 219 of file mpegvideo.h.
Referenced by free_duplicate_context(), init_duplicate_context(), svq1_encode_end(), and svq1_encode_init().
unsigned MotionEstContext::map_generation |
Definition at line 220 of file mpegvideo.h.
Referenced by full_search(), funny_diamond_search(), hex_search(), hpel_motion_search(), l2s_dia_search(), qpel_motion_search(), sab_diamond_search(), small_diamond_search(), umh_search(), update_map_generation(), and var_diamond_search().
int MotionEstContext::pre_penalty_factor |
Definition at line 221 of file mpegvideo.h.
Referenced by epzs_motion_search_internal(), and ff_pre_estimate_p_frame_motion().
int MotionEstContext::penalty_factor |
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.
Definition at line 222 of file mpegvideo.h.
Referenced by epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), estimate_motion_b(), ff_estimate_p_frame_motion(), and hpel_motion_search().
int MotionEstContext::sub_penalty_factor |
Definition at line 227 of file mpegvideo.h.
Referenced by estimate_motion_b(), ff_estimate_p_frame_motion(), hpel_motion_search(), qpel_motion_search(), and sad_hpel_motion_search().
int MotionEstContext::mb_penalty_factor |
Definition at line 228 of file mpegvideo.h.
Referenced by check_bidir_mv(), estimate_motion_b(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), get_mb_score(), h263_mv4_search(), and interlaced_search().
int MotionEstContext::flags |
Definition at line 229 of file mpegvideo.h.
Referenced by direct_search(), epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), ff_epzs_motion_search(), ff_init_me(), get_limits(), and init_interlaced_ref().
int MotionEstContext::sub_flags |
Definition at line 230 of file mpegvideo.h.
Referenced by bidir_refine(), direct_search(), ff_init_me(), hpel_motion_search(), qpel_motion_search(), and sad_hpel_motion_search().
int MotionEstContext::mb_flags |
Definition at line 231 of file mpegvideo.h.
Referenced by ff_init_me(), and get_mb_score().
int MotionEstContext::pre_pass |
= 1 for the pre pass
Definition at line 232 of file mpegvideo.h.
Referenced by epzs_motion_search_internal(), and pre_estimate_motion_thread().
int MotionEstContext::dia_size |
Definition at line 233 of file mpegvideo.h.
Referenced by diamond_search(), estimate_motion_thread(), full_search(), l2s_dia_search(), pre_estimate_motion_thread(), qpel_motion_search(), sab_diamond_search(), svq1_encode_plane(), umh_search(), and var_diamond_search().
int MotionEstContext::xmin |
Definition at line 234 of file mpegvideo.h.
Referenced by bidir_refine(), cmp_direct_inline(), direct_search(), estimate_motion_b(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), get_limits(), h263_mv4_search(), and interlaced_search().
int MotionEstContext::xmax |
Definition at line 235 of file mpegvideo.h.
Referenced by bidir_refine(), direct_search(), estimate_motion_b(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), get_limits(), h263_mv4_search(), and interlaced_search().
int MotionEstContext::ymin |
Definition at line 236 of file mpegvideo.h.
Referenced by bidir_refine(), cmp_direct_inline(), direct_search(), ff_pre_estimate_p_frame_motion(), get_limits(), and interlaced_search().
int MotionEstContext::ymax |
Definition at line 237 of file mpegvideo.h.
Referenced by bidir_refine(), direct_search(), estimate_motion_b(), ff_estimate_p_frame_motion(), get_limits(), h263_mv4_search(), and interlaced_search().
int MotionEstContext::pred_x |
Definition at line 238 of file mpegvideo.h.
Referenced by direct_search(), estimate_motion_b(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), h263_mv4_search(), and interlaced_search().
int MotionEstContext::pred_y |
Definition at line 239 of file mpegvideo.h.
Referenced by direct_search(), estimate_motion_b(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), h263_mv4_search(), and interlaced_search().
uint8_t* MotionEstContext::src[4][4] |
Definition at line 240 of file mpegvideo.h.
Referenced by check_bidir_mv(), cmp_direct_inline(), cmp_inline(), ff_estimate_p_frame_motion(), init_interlaced_ref(), init_mv4_ref(), init_ref(), interlaced_search(), and sad_hpel_motion_search().
uint8_t* MotionEstContext::ref[4][4] |
Definition at line 241 of file mpegvideo.h.
Referenced by check_bidir_mv(), cmp_direct_inline(), cmp_inline(), ff_estimate_p_frame_motion(), h263_mv4_search(), init_interlaced_ref(), init_mv4_ref(), init_ref(), interlaced_search(), and sad_hpel_motion_search().
int MotionEstContext::stride |
Definition at line 242 of file mpegvideo.h.
Referenced by check_bidir_mv(), cmp_direct_inline(), cmp_inline(), ff_estimate_p_frame_motion(), ff_init_me(), h263_mv4_search(), init_mv4_ref(), interlaced_search(), and sad_hpel_motion_search().
int MotionEstContext::uvstride |
Definition at line 243 of file mpegvideo.h.
Referenced by cmp_inline(), ff_estimate_p_frame_motion(), ff_init_me(), init_ref(), and interlaced_search().
int MotionEstContext::mc_mb_var_sum_temp |
Definition at line 245 of file mpegvideo.h.
Referenced by encode_picture(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), and merge_context_after_me().
int MotionEstContext::mb_var_sum_temp |
Definition at line 246 of file mpegvideo.h.
Referenced by encode_picture(), ff_estimate_p_frame_motion(), mb_var_thread(), and merge_context_after_me().
int MotionEstContext::scene_change_score |
Definition at line 247 of file mpegvideo.h.
Referenced by encode_picture(), ff_estimate_p_frame_motion(), merge_context_after_me(), and svq1_encode_plane().
op_pixels_func(* MotionEstContext::hpel_put)[4] |
Definition at line 249 of file mpegvideo.h.
Referenced by cmp_direct_inline(), cmp_inline(), and ff_init_me().
op_pixels_func(* MotionEstContext::hpel_avg)[4] |
Definition at line 250 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and ff_init_me().
qpel_mc_func(* MotionEstContext::qpel_put)[16] |
Definition at line 251 of file mpegvideo.h.
Referenced by cmp_direct_inline(), cmp_inline(), decode_slice_header(), ff_h263_decode_frame(), ff_init_me(), MPV_decode_mb_internal(), vc1_decode_frame(), and wmv9_init().
qpel_mc_func(* MotionEstContext::qpel_avg)[16] |
Definition at line 252 of file mpegvideo.h.
Referenced by cmp_direct_inline(), decode_slice_header(), ff_h263_decode_frame(), ff_init_me(), MPV_decode_mb_internal(), vc1_decode_frame(), and wmv9_init().
amount of bits needed to encode a MV
Definition at line 253 of file mpegvideo.h.
Referenced by check_bidir_mv(), direct_search(), estimate_motion_b(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), ff_h263_encode_init(), ff_mpeg1_encode_init(), ff_pre_estimate_p_frame_motion(), and MPV_encode_defaults().
uint8_t* MotionEstContext::current_mv_penalty |
Definition at line 254 of file mpegvideo.h.
Referenced by direct_search(), estimate_motion_b(), ff_estimate_b_frame_motion(), ff_estimate_p_frame_motion(), ff_pre_estimate_p_frame_motion(), h263_mv4_search(), and interlaced_search().
int(* MotionEstContext::sub_motion_search)(struct MpegEncContext *s, int *mx_ptr, int *my_ptr, int dmin, int src_index, int ref_index, int size, int h) |
Definition at line 255 of file mpegvideo.h.
Referenced by estimate_motion_b(), ff_estimate_p_frame_motion(), ff_init_me(), h263_mv4_search(), and interlaced_search().