Motion estimation template. More...
Go to the source code of this file.
Macros | |
#define | LOAD_COMMON |
#define | CHECK_HALF_MV(dx, dy, x, y) |
#define | CHECK_QUARTER_MV(dx, dy, x, y) |
#define | CHECK_MV(x, y) |
#define | CHECK_CLIPPED_MV(ax, ay) |
#define | CHECK_MV_DIR(x, y, new_dir) |
#define | check(x, y, S, v) |
#define | LOAD_COMMON2 |
#define | SAB_CHECK_MV(ax, ay) |
#define | MAX_SAB_SIZE ME_MAP_SIZE |
Functions | |
static int | hpel_motion_search (MpegEncContext *s, int *mx_ptr, int *my_ptr, int dmin, int src_index, int ref_index, int size, int h) |
static int | no_sub_motion_search (MpegEncContext *s, int *mx_ptr, int *my_ptr, int dmin, int src_index, int ref_index, int size, int h) |
int | ff_get_mb_score (MpegEncContext *s, int mx, int my, int src_index, int ref_index, int size, int h, int add_rate) |
static int | qpel_motion_search (MpegEncContext *s, int *mx_ptr, int *my_ptr, int dmin, int src_index, int ref_index, int size, int h) |
static av_always_inline int | small_diamond_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static int | funny_diamond_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static int | hex_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags, int dia_size) |
static int | l2s_dia_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static int | umh_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static int | full_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static int | sab_diamond_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static int | var_diamond_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static av_always_inline int | diamond_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, int const penalty_factor, int size, int h, int flags) |
static av_always_inline int | epzs_motion_search_internal (MpegEncContext *s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, int16_t(*last_mv)[2], int ref_mv_scale, int flags, int size, int h) |
int | ff_epzs_motion_search (MpegEncContext *s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, int16_t(*last_mv)[2], int ref_mv_scale, int size, int h) |
static int | epzs_motion_search4 (MpegEncContext *s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, int16_t(*last_mv)[2], int ref_mv_scale) |
static int | epzs_motion_search2 (MpegEncContext *s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, int16_t(*last_mv)[2], int ref_mv_scale) |
Motion estimation template.
Definition in file motion_est_template.c.
Definition at line 403 of file motion_est_template.c.
Referenced by h261_decode_block(), and voc_probe().
#define CHECK_CLIPPED_MV | ( | ax, | |
ay | |||
) |
Definition at line 374 of file motion_est_template.c.
Referenced by epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), full_search(), hex_search(), l2s_dia_search(), and umh_search().
#define CHECK_HALF_MV | ( | dx, | |
dy, | |||
x, | |||
y | |||
) |
Definition at line 38 of file motion_est_template.c.
Referenced by hpel_motion_search().
#define CHECK_MV | ( | x, | |
y | |||
) |
Definition at line 355 of file motion_est_template.c.
Referenced by epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), full_search(), funny_diamond_search(), sab_diamond_search(), umh_search(), and var_diamond_search().
#define CHECK_MV_DIR | ( | x, | |
y, | |||
new_dir | |||
) |
Definition at line 383 of file motion_est_template.c.
Referenced by small_diamond_search().
#define CHECK_QUARTER_MV | ( | dx, | |
dy, | |||
x, | |||
y | |||
) |
Definition at line 193 of file motion_est_template.c.
Referenced by qpel_motion_search().
#define LOAD_COMMON |
Definition at line 28 of file motion_est_template.c.
Referenced by epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), ff_get_mb_score(), full_search(), funny_diamond_search(), hex_search(), hpel_motion_search(), l2s_dia_search(), qpel_motion_search(), sab_diamond_search(), sad_hpel_motion_search(), small_diamond_search(), umh_search(), and var_diamond_search().
#define LOAD_COMMON2 |
Definition at line 409 of file motion_est_template.c.
Referenced by epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), full_search(), funny_diamond_search(), hex_search(), l2s_dia_search(), sab_diamond_search(), small_diamond_search(), umh_search(), and var_diamond_search().
#define MAX_SAB_SIZE ME_MAP_SIZE |
Definition at line 681 of file motion_est_template.c.
Referenced by sab_diamond_search().
#define SAB_CHECK_MV | ( | ax, | |
ay | |||
) |
Definition at line 652 of file motion_est_template.c.
Referenced by sab_diamond_search().
|
static |
Definition at line 830 of file motion_est_template.c.
Referenced by epzs_motion_search2(), epzs_motion_search4(), and epzs_motion_search_internal().
|
static |
Definition at line 1050 of file motion_est_template.c.
Referenced by interlaced_search().
|
static |
Definition at line 990 of file motion_est_template.c.
Referenced by h263_mv4_search().
|
static |
P | a list of candidate mvs to check before starting the iterative search. If one of the candidates is close to the optimal mv, then it takes fewer iterations. And it increases the chance that we find the optimal mv. |
< x and y coordinates of the best motion vector. i.e. the difference between the position of the block currently being encoded and the position of the block chosen to predict it from.
< the score (cmp + penalty) of any given mv
< the best value of d, i.e. the score corresponding to the mv stored in best[].
Definition at line 858 of file motion_est_template.c.
Referenced by ff_epzs_motion_search().
|
inline |
Definition at line 975 of file motion_est_template.c.
Referenced by direct_search(), ff_estimate_motion_b(), ff_estimate_p_frame_motion(), and ff_pre_estimate_p_frame_motion().
|
inline |
Definition at line 163 of file motion_est_template.c.
Referenced by direct_search(), ff_estimate_motion_b(), and ff_estimate_p_frame_motion().
|
static |
Definition at line 617 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 456 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 498 of file motion_est_template.c.
Referenced by diamond_search(), and umh_search().
|
static |
Definition at line 47 of file motion_est_template.c.
Referenced by direct_search(), and ff_init_me().
|
static |
Definition at line 532 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 153 of file motion_est_template.c.
Referenced by ff_init_me().
|
static |
Definition at line 202 of file motion_est_template.c.
Referenced by direct_search(), and ff_init_me().
|
static |
Definition at line 682 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 414 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 570 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 769 of file motion_est_template.c.
Referenced by diamond_search().