FFmpeg  4.0
Data Structures | Macros | Functions
motion_est.h File Reference
#include <stdint.h>
#include "avcodec.h"
#include "hpeldsp.h"
#include "qpeldsp.h"

Go to the source code of this file.

Data Structures

struct  MotionEstContext
 Motion estimation context. More...
 

Macros

#define MAX_MV   4096
 
#define MAX_DMV   (2*MAX_MV)
 
#define ME_MAP_SIZE   64
 
#define FF_ME_ZERO   0
 
#define FF_ME_EPZS   1
 
#define FF_ME_XONE   2
 

Functions

static int ff_h263_round_chroma (int x)
 
int ff_init_me (struct MpegEncContext *s)
 
void ff_estimate_p_frame_motion (struct MpegEncContext *s, int mb_x, int mb_y)
 
void ff_estimate_b_frame_motion (struct MpegEncContext *s, int mb_x, int mb_y)
 
int ff_pre_estimate_p_frame_motion (struct MpegEncContext *s, int mb_x, int mb_y)
 
int ff_epzs_motion_search (struct 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)
 
int ff_get_mb_score (struct MpegEncContext *s, int mx, int my, int src_index, int ref_index, int size, int h, int add_rate)
 
int ff_get_best_fcode (struct MpegEncContext *s, int16_t(*mv_table)[2], int type)
 
void ff_fix_long_p_mvs (struct MpegEncContext *s)
 
void ff_fix_long_mvs (struct MpegEncContext *s, uint8_t *field_select_table, int field_select, int16_t(*mv_table)[2], int f_code, int type, int truncate)
 

Macro Definition Documentation

◆ MAX_MV

#define MAX_MV   4096

◆ MAX_DMV

#define MAX_DMV   (2*MAX_MV)

◆ ME_MAP_SIZE

#define ME_MAP_SIZE   64

◆ FF_ME_ZERO

#define FF_ME_ZERO   0

Definition at line 40 of file motion_est.h.

Referenced by estimate_motion_b(), ff_estimate_p_frame_motion(), and ff_get_best_fcode().

◆ FF_ME_EPZS

#define FF_ME_EPZS   1

Definition at line 41 of file motion_est.h.

◆ FF_ME_XONE

#define FF_ME_XONE   2

Definition at line 42 of file motion_est.h.

Function Documentation

◆ ff_h263_round_chroma()

static int ff_h263_round_chroma ( int  x)
inlinestatic

Definition at line 101 of file motion_est.h.

Referenced by chroma_4mv_motion(), chroma_4mv_motion_lowres(), and h263_mv4_search().

◆ ff_init_me()

int ff_init_me ( struct MpegEncContext s)

◆ ff_estimate_p_frame_motion()

void ff_estimate_p_frame_motion ( struct MpegEncContext s,
int  mb_x,
int  mb_y 
)

< the variance of the block (sum of squared (p[y][x]-average))

< sum of squared differences with the estimated motion vector

Definition at line 885 of file motion_est.c.

Referenced by estimate_motion_thread(), ff_h263_round_chroma(), and svq1_encode_plane().

◆ ff_estimate_b_frame_motion()

void ff_estimate_b_frame_motion ( struct MpegEncContext s,
int  mb_x,
int  mb_y 
)

Definition at line 1490 of file motion_est.c.

Referenced by estimate_motion_thread(), and ff_h263_round_chroma().

◆ ff_pre_estimate_p_frame_motion()

int ff_pre_estimate_p_frame_motion ( struct MpegEncContext s,
int  mb_x,
int  mb_y 
)

Definition at line 1061 of file motion_est.c.

Referenced by ff_h263_round_chroma(), and pre_estimate_motion_thread().

◆ ff_epzs_motion_search()

int ff_epzs_motion_search ( struct 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 
)

◆ ff_get_mb_score()

int ff_get_mb_score ( struct 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(), and ff_h263_round_chroma().

◆ ff_get_best_fcode()

int ff_get_best_fcode ( struct MpegEncContext s,
int16_t(*)  mv_table[2],
int  type 
)

Definition at line 1598 of file motion_est.c.

Referenced by encode_picture(), and ff_h263_round_chroma().

◆ ff_fix_long_p_mvs()

void ff_fix_long_p_mvs ( struct MpegEncContext s)

Definition at line 1651 of file motion_est.c.

Referenced by encode_picture(), ff_h263_round_chroma(), and svq1_encode_plane().

◆ ff_fix_long_mvs()

void ff_fix_long_mvs ( MpegEncContext s,
uint8_t field_select_table,
int  field_select,
int16_t(*)  mv_table[2],
int  f_code,
int  type,
int  truncate 
)
Parameters
truncate1 for truncation, 0 for using intra

Definition at line 1700 of file motion_est.c.

Referenced by encode_picture(), ff_h263_round_chroma(), and svq1_encode_plane().