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 218 of file mpegvideo.h.
AVCodecContext* MotionEstContext::avctx |
Definition at line 219 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 220 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 221 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and direct_search().
int MotionEstContext::direct_basis_mv[4][2] |
Definition at line 222 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 223 of file mpegvideo.h.
Referenced by alloc_scratch_buffers(), check_bidir_mv(), clone_tables(), encode_init(), ff_estimate_p_frame_motion(), ff_snow_common_end(), 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 224 of file mpegvideo.h.
uint8_t* MotionEstContext::temp_mb[2] |
Definition at line 225 of file mpegvideo.h.
uint8_t* MotionEstContext::temp |
Definition at line 226 of file mpegvideo.h.
Referenced by alloc_scratch_buffers(), 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 227 of file mpegvideo.h.
uint32_t* MotionEstContext::map |
map to avoid duplicate evaluations
Definition at line 228 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 229 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 230 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 231 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 232 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 237 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 238 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 239 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 240 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 241 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 242 of file mpegvideo.h.
Referenced by epzs_motion_search_internal(), and pre_estimate_motion_thread().
int MotionEstContext::dia_size |
Definition at line 243 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 244 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 245 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 246 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 247 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 248 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 249 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 250 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 251 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 252 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 253 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 255 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 256 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 257 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 259 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 260 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and ff_init_me().
qpel_mc_func(* MotionEstContext::qpel_put)[16] |
Definition at line 261 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 262 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 263 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 264 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 265 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().