FFmpeg
|
Motion estimation context. More...
#include <mpegvideo.h>
Data Fields | |
AVCodecContext * | avctx |
int | skip |
set if ME is skipped for the current MB | |
int | co_located_mv [4][2] |
mv from last P-frame for direct mode ME | |
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 | |
uint8_t * | best_mb |
uint8_t * | temp_mb [2] |
uint8_t * | temp |
int | best_bits |
uint32_t * | map |
map to avoid duplicate evaluations | |
uint32_t * | score_map |
map to store the scores | |
unsigned | map_generation |
int | pre_penalty_factor |
int | penalty_factor |
an estimate of the bits required to code a given mv value, e.g. | |
int | sub_penalty_factor |
int | mb_penalty_factor |
int | flags |
int | sub_flags |
int | mb_flags |
int | pre_pass |
= 1 for the pre pass | |
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] |
amount of bits needed to encode a MV | |
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 156 of file mpegvideo.h.
AVCodecContext* MotionEstContext::avctx |
Definition at line 157 of file mpegvideo.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 158 of file mpegvideo.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 159 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and direct_search().
int MotionEstContext::direct_basis_mv[4][2] |
Definition at line 160 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 161 of file mpegvideo.h.
Referenced by check_bidir_mv(), encode_init(), ff_estimate_p_frame_motion(), ff_snow_common_end(), frame_size_alloc(), 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 162 of file mpegvideo.h.
uint8_t* MotionEstContext::temp_mb[2] |
Definition at line 163 of file mpegvideo.h.
uint8_t* MotionEstContext::temp |
Definition at line 164 of file mpegvideo.h.
Referenced by cmp_direct_inline(), cmp_inline(), encode_init(), ff_snow_common_end(), frame_size_alloc(), free_duplicate_context(), init_duplicate_context(), and svq1_encode_init().
int MotionEstContext::best_bits |
Definition at line 165 of file mpegvideo.h.
uint32_t* MotionEstContext::map |
map to avoid duplicate evaluations
Definition at line 166 of file mpegvideo.h.
Referenced by 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 167 of file mpegvideo.h.
Referenced by 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 168 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 169 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 170 of file mpegvideo.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 175 of file mpegvideo.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 176 of file mpegvideo.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 177 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 178 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 179 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 180 of file mpegvideo.h.
Referenced by epzs_motion_search_internal(), and pre_estimate_motion_thread().
int MotionEstContext::dia_size |
Definition at line 181 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 182 of file mpegvideo.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 183 of file mpegvideo.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 184 of file mpegvideo.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 185 of file mpegvideo.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 186 of file mpegvideo.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 187 of file mpegvideo.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 188 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 189 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 190 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 191 of file mpegvideo.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 193 of file mpegvideo.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 194 of file mpegvideo.h.
Referenced by encode_picture(), ff_estimate_p_frame_motion(), and mb_var_thread().
int MotionEstContext::scene_change_score |
Definition at line 195 of file mpegvideo.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 197 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 198 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and ff_init_me().
qpel_mc_func(* MotionEstContext::qpel_put)[16] |
Definition at line 199 of file mpegvideo.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 200 of file mpegvideo.h.
Referenced by cmp_direct_inline(), 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 201 of file mpegvideo.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 202 of file mpegvideo.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 203 of file mpegvideo.h.
Referenced by encode_q_branch(), estimate_motion_b(), ff_estimate_p_frame_motion(), ff_init_me(), h263_mv4_search(), and interlaced_search().