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 |
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 | |
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 189 of file mpegvideo.h.
AVCodecContext* MotionEstContext::avctx |
Definition at line 190 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 191 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 192 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and direct_search().
int MotionEstContext::direct_basis_mv[4][2] |
Definition at line 193 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 194 of file mpegvideo.h.
Referenced by alloc_scratch_buffers(), check_bidir_mv(), clone_tables(), encode_init(), ff_estimate_p_frame_motion(), ff_mpv_frame_size_alloc(), ff_snow_common_end(), 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 195 of file mpegvideo.h.
uint8_t* MotionEstContext::temp_mb[2] |
Definition at line 196 of file mpegvideo.h.
uint8_t* MotionEstContext::temp |
Definition at line 197 of file mpegvideo.h.
Referenced by alloc_scratch_buffers(), cmp_direct_inline(), cmp_inline(), encode_init(), ff_mpv_frame_size_alloc(), ff_snow_common_end(), free_duplicate_context(), init_duplicate_context(), and svq1_encode_init().
int MotionEstContext::best_bits |
Definition at line 198 of file mpegvideo.h.
uint32_t* MotionEstContext::map |
map to avoid duplicate evaluations
Definition at line 199 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 200 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 201 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 202 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 203 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 208 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 209 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 210 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 211 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 212 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 213 of file mpegvideo.h.
Referenced by epzs_motion_search_internal(), and pre_estimate_motion_thread().
int MotionEstContext::dia_size |
Definition at line 214 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 215 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 216 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 217 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 218 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 219 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 220 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 221 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 222 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 223 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 224 of file mpegvideo.h.
Referenced by cmp_inline(), encode_q_branch(), ff_estimate_p_frame_motion(), ff_init_me(), init_ref(), and interlaced_search().
int MotionEstContext::mc_mb_var_sum_temp |
Definition at line 226 of file mpegvideo.h.
Referenced by encode_picture(), ff_estimate_b_frame_motion(), and ff_estimate_p_frame_motion().
int MotionEstContext::mb_var_sum_temp |
Definition at line 227 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 228 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 230 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 231 of file mpegvideo.h.
Referenced by cmp_direct_inline(), and ff_init_me().
qpel_mc_func(* MotionEstContext::qpel_put)[16] |
Definition at line 232 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 233 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 234 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 235 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 236 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().