FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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

#define MAX_MV   4096
#define MAX_DMV   (2*MAX_MV)
#define ME_MAP_SIZE   64
#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().

#define FF_ME_EPZS   1

Definition at line 41 of file motion_est.h.

#define FF_ME_XONE   2

Definition at line 42 of file motion_est.h.

Function Documentation

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().

int ff_init_me ( struct MpegEncContext s)

Definition at line 306 of file motion_est.c.

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

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(), and svq1_encode_plane().

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().

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 pre_estimate_motion_thread().

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 
)

Definition at line 192 of file motion_est_template.c.

Referenced by encode_q_branch().

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().

void ff_fix_long_p_mvs ( struct MpegEncContext s)

Definition at line 1651 of file motion_est.c.

Referenced by encode_picture(), and svq1_encode_plane().

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(), and svq1_encode_plane().