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 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 FF_ME_ZERO   0
#define FF_ME_EPZS   1

Definition at line 35 of file motion_est.h.

Referenced by ff_init_me(), and svq1_encode_plane().

#define FF_ME_XONE   2

Definition at line 36 of file motion_est.h.

Referenced by ff_init_me(), and svq1_encode_plane().

Function Documentation

static int ff_h263_round_chroma ( int  x)
inlinestatic

Definition at line 95 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 904 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 1509 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 1080 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 191 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 1617 of file motion_est.c.

Referenced by encode_picture().

void ff_fix_long_p_mvs ( struct MpegEncContext s)

Definition at line 1670 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 1720 of file motion_est.c.

Referenced by encode_picture(), and svq1_encode_plane().