FFmpeg
|
Motion estimation context. More...
#include <motion_est.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 |
int64_t | mc_mb_var_sum_temp |
int64_t | 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] |
bit amount 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 41 of file motion_est.h.
AVCodecContext* MotionEstContext::avctx |
Definition at line 42 of file motion_est.h.
Referenced by check_bidir_mv(), direct_search(), encode_q_branch(), 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(), init_ref(), interlaced_search(), and qpel_motion_search().
int MotionEstContext::skip |
set if ME is skipped for the current MB
Definition at line 43 of file motion_est.h.
Referenced by direct_search(), encode_q_branch(), 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 44 of file motion_est.h.
Referenced by cmp_direct_inline(), and direct_search().
int MotionEstContext::direct_basis_mv[4][2] |
Definition at line 45 of file motion_est.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 46 of file motion_est.h.
Referenced by check_bidir_mv(), clear_context(), encode_init(), ff_estimate_p_frame_motion(), ff_mpeg_framesize_alloc(), ff_snow_common_end(), free_duplicate_context(), h263_mv4_search(), init_duplicate_context(), interlaced_search(), svq1_encode_end(), and svq1_encode_init().
uint8_t* MotionEstContext::best_mb |
Definition at line 48 of file motion_est.h.
uint8_t* MotionEstContext::temp_mb[2] |
Definition at line 49 of file motion_est.h.
uint8_t* MotionEstContext::temp |
Definition at line 50 of file motion_est.h.
Referenced by clear_context(), cmp_direct_inline(), cmp_inline(), encode_init(), ff_mpeg_framesize_alloc(), ff_snow_common_end(), free_duplicate_context(), init_duplicate_context(), and svq1_encode_init().
int MotionEstContext::best_bits |
Definition at line 51 of file motion_est.h.
uint32_t* MotionEstContext::map |
map to avoid duplicate evaluations
Definition at line 52 of file motion_est.h.
Referenced by clear_context(), encode_init(), ff_snow_common_end(), 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 53 of file motion_est.h.
Referenced by clear_context(), encode_init(), ff_snow_common_end(), free_duplicate_context(), init_duplicate_context(), svq1_encode_end(), and svq1_encode_init().
unsigned MotionEstContext::map_generation |
Definition at line 54 of file motion_est.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 55 of file motion_est.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 56 of file motion_est.h.
Referenced by encode_q_branch(), 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 61 of file motion_est.h.
Referenced by encode_q_branch(), 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 62 of file motion_est.h.
Referenced by check_bidir_mv(), encode_q_branch(), 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 63 of file motion_est.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 64 of file motion_est.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 65 of file motion_est.h.
Referenced by ff_init_me(), and get_mb_score().
int MotionEstContext::pre_pass |
= 1 for the pre pass
Definition at line 66 of file motion_est.h.
Referenced by epzs_motion_search_internal(), and pre_estimate_motion_thread().
int MotionEstContext::dia_size |
Definition at line 67 of file motion_est.h.
Referenced by diamond_search(), encode_frame(), 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 68 of file motion_est.h.
Referenced by bidir_refine(), cmp_direct_inline(), direct_search(), encode_q_branch(), 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 69 of file motion_est.h.
Referenced by bidir_refine(), direct_search(), encode_q_branch(), 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 70 of file motion_est.h.
Referenced by bidir_refine(), cmp_direct_inline(), direct_search(), encode_q_branch(), ff_pre_estimate_p_frame_motion(), get_limits(), and interlaced_search().
int MotionEstContext::ymax |
Definition at line 71 of file motion_est.h.
Referenced by bidir_refine(), direct_search(), encode_q_branch(), estimate_motion_b(), ff_estimate_p_frame_motion(), get_limits(), h263_mv4_search(), and interlaced_search().
int MotionEstContext::pred_x |
Definition at line 72 of file motion_est.h.
Referenced by direct_search(), encode_q_branch(), 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 73 of file motion_est.h.
Referenced by direct_search(), encode_q_branch(), 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 74 of file motion_est.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 75 of file motion_est.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 76 of file motion_est.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 77 of file motion_est.h.
Referenced by cmp_inline(), encode_q_branch(), ff_estimate_p_frame_motion(), ff_init_me(), init_ref(), and interlaced_search().
int64_t MotionEstContext::mc_mb_var_sum_temp |
Definition at line 79 of file motion_est.h.
Referenced by encode_picture(), ff_estimate_b_frame_motion(), and ff_estimate_p_frame_motion().
int64_t MotionEstContext::mb_var_sum_temp |
Definition at line 80 of file motion_est.h.
Referenced by encode_picture(), ff_estimate_p_frame_motion(), and mb_var_thread().
int MotionEstContext::scene_change_score |
Definition at line 81 of file motion_est.h.
Referenced by encode_frame(), encode_picture(), encode_q_branch(), ff_estimate_p_frame_motion(), and svq1_encode_plane().
op_pixels_func(* MotionEstContext::hpel_put)[4] |
Definition at line 83 of file motion_est.h.
Referenced by cmp_direct_inline(), cmp_inline(), and ff_init_me().
op_pixels_func(* MotionEstContext::hpel_avg)[4] |
Definition at line 84 of file motion_est.h.
Referenced by cmp_direct_inline(), and ff_init_me().
qpel_mc_func(* MotionEstContext::qpel_put)[16] |
Definition at line 85 of file motion_est.h.
Referenced by cmp_direct_inline(), cmp_inline(), 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 86 of file motion_est.h.
Referenced by cmp_direct_inline(), ff_h263_decode_frame(), ff_init_me(), mpv_decode_mb_internal(), vc1_decode_frame(), and wmv9_init().
bit amount needed to encode a MV
Definition at line 87 of file motion_est.h.
Referenced by check_bidir_mv(), direct_search(), encode_q_branch(), 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 88 of file motion_est.h.
Referenced by direct_search(), encode_q_branch(), 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 89 of file motion_est.h.
Referenced by encode_q_branch(), estimate_motion_b(), ff_estimate_p_frame_motion(), ff_init_me(), h263_mv4_search(), and interlaced_search().