FFmpeg
|
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) |
static int | get_mb_score (MpegEncContext *s, int mx, int my, int src_index, int ref_index, int size, int h, int add_rate) |
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, const int 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, const int penalty_factor, int size, int h, int flags) |
static int | hex_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, const int 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, const int penalty_factor, int size, int h, int flags) |
static int | umh_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, const int penalty_factor, int size, int h, int flags) |
static int | full_search (MpegEncContext *s, int *best, int dmin, int src_index, int ref_index, const int 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, const int 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, const int 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, const int 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, const 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, const int16_t(*last_mv)[2], int ref_mv_scale, int size, int h) |
static int | epzs_motion_search2 (MpegEncContext *s, int *mx_ptr, int *my_ptr, int P[10][2], int src_index, int ref_index, const int16_t(*last_mv)[2], int ref_mv_scale, const int size) |
Motion estimation template.
Definition in file motion_est_template.c.
#define LOAD_COMMON |
Definition at line 31 of file motion_est_template.c.
#define CHECK_HALF_MV | ( | dx, | |
dy, | |||
x, | |||
y | |||
) |
Definition at line 41 of file motion_est_template.c.
#define CHECK_QUARTER_MV | ( | dx, | |
dy, | |||
x, | |||
y | |||
) |
Definition at line 198 of file motion_est_template.c.
#define CHECK_MV | ( | x, | |
y | |||
) |
Definition at line 361 of file motion_est_template.c.
#define CHECK_CLIPPED_MV | ( | ax, | |
ay | |||
) |
#define CHECK_MV_DIR | ( | x, | |
y, | |||
new_dir | |||
) |
Definition at line 387 of file motion_est_template.c.
#define check | ( | x, | |
y, | |||
S, | |||
v | |||
) |
Definition at line 405 of file motion_est_template.c.
#define LOAD_COMMON2 |
#define SAB_CHECK_MV | ( | ax, | |
ay | |||
) |
Definition at line 653 of file motion_est_template.c.
#define MAX_SAB_SIZE ME_MAP_SIZE |
Definition at line 680 of file motion_est_template.c.
|
static |
Definition at line 50 of file motion_est_template.c.
Referenced by direct_search(), and ff_init_me().
|
static |
Definition at line 155 of file motion_est_template.c.
Referenced by ff_init_me().
|
inlinestatic |
Definition at line 165 of file motion_est_template.c.
Referenced by direct_search(), estimate_motion_b(), ff_estimate_p_frame_motion(), and ff_get_mb_score().
int ff_get_mb_score | ( | MpegEncContext * | s, |
int | mx, | ||
int | my, | ||
int | src_index, | ||
int | ref_index, | ||
int | size, | ||
int | h, | ||
int | add_rate | ||
) |
Definition at line 192 of file motion_est_template.c.
Referenced by encode_q_branch().
|
static |
Definition at line 207 of file motion_est_template.c.
Referenced by direct_search(), and ff_init_me().
|
static |
Definition at line 416 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 457 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 499 of file motion_est_template.c.
Referenced by diamond_search(), and umh_search().
|
static |
Definition at line 533 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 571 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 618 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 681 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 771 of file motion_est_template.c.
Referenced by diamond_search().
|
static |
Definition at line 832 of file motion_est_template.c.
Referenced by epzs_motion_search2(), and epzs_motion_search_internal().
|
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 860 of file motion_est_template.c.
Referenced by ff_epzs_motion_search().
int ff_epzs_motion_search | ( | MpegEncContext * | s, |
int * | mx_ptr, | ||
int * | my_ptr, | ||
int | P[10][2], | ||
int | src_index, | ||
int | ref_index, | ||
const int16_t(*) | last_mv[2], | ||
int | ref_mv_scale, | ||
int | size, | ||
int | h | ||
) |
Definition at line 977 of file motion_est_template.c.
Referenced by direct_search(), encode_q_branch(), estimate_motion_b(), ff_estimate_p_frame_motion(), and ff_pre_estimate_p_frame_motion().
|
static |
Definition at line 993 of file motion_est_template.c.
Referenced by h263_mv4_search(), and interlaced_search().