me_umhexsmp.h File Reference

Fast integer pixel and sub pixel motion estimation Improved and simplified from the original UMHexagonS algorithms See JVT-P021 for details. More...

#include "mbuffer.h"

Include dependency graph for me_umhexsmp.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  umhex_smp_struct

Typedefs

typedef struct umhex_smp_struct UMHexSMPStruct

Functions

void smpUMHEX_init (ImageParameters *p_Img)
int smpUMHEX_get_mem (ImageParameters *p_Img)
void smpUMHEX_free_mem (ImageParameters *p_Img)
void smpUMHEX_decide_intrabk_SAD (Macroblock *currMB)
void smpUMHEX_skip_intrabk_SAD (Macroblock *currMB)
void smpUMHEX_setup (Macroblock *currMB, short, int, int, int, int, short ******)
int smpUMHEXBipredIntegerPelBlockMotionSearch (Macroblock *, int, MotionVector *, MotionVector *, MotionVector *, MotionVector *, MEBlock *, int, int, int)
int smpUMHEXIntegerPelBlockMotionSearch (Macroblock *currMB, MotionVector *pred_mv, MEBlock *mv_block, int min_mcost, int lambda_factor)
int smpUMHEXSubPelBlockMotionSearch (Macroblock *currMB, MotionVector *pred_mv, MEBlock *mv_block, int min_mcost, int lambda_factor)
int smpUMHEXFullSubPelBlockMotionSearch (Macroblock *currMB, MotionVector *pred_mv, MEBlock *mv_block, int min_mcost, int lambda_factor)
int smpUMHEXSubPelBlockME (Macroblock *currMB, MotionVector *pred_mv, MEBlock *mv_block, int min_mcost, int *lambda)


Detailed Description

Fast integer pixel and sub pixel motion estimation Improved and simplified from the original UMHexagonS algorithms See JVT-P021 for details.

Author:
Main contributors: (see contributors.h for copyright, address and affiliation details)

Date:
6. Nov. 2006

Definition in file me_umhexsmp.h.


Function Documentation

void smpUMHEX_decide_intrabk_SAD ( Macroblock currMB  ) 

Set neighbouring block mode (intra/inter) used for fast motion estimation.

Definition at line 886 of file me_umhexsmp.c.

References macroblock::p_Img, macroblock::p_slice, macroblock::pix_x, macroblock::pix_y, and slice::slice_type.

Referenced by init_enc_mb_params().

void smpUMHEX_free_mem ( ImageParameters p_Img  ) 

Free space for fast motion estimation.

Definition at line 123 of file me_umhexsmp.c.

References free_mem2D(), and free_mem3Dint().

Referenced by free_global_buffers().

Here is the call graph for this function:

int smpUMHEX_get_mem ( ImageParameters p_Img  ) 

Allocation of space for fast motion estimation.

Definition at line 103 of file me_umhexsmp.c.

References get_mem2D(), get_mem3Dint(), img_par::height, no_mem_exit(), and img_par::width.

Referenced by init_global_buffers().

Here is the call graph for this function:

void smpUMHEX_init ( ImageParameters p_Img  ) 

Set thresholds for fast motion estimation Those thresholds may be adjusted to trade off rate-distortion performance and simplified UMHEX speed.

Definition at line 87 of file me_umhexsmp.c.

Referenced by init_global_buffers().

void smpUMHEX_setup ( Macroblock currMB,
short  ,
int  ,
int  ,
int  ,
int  ,
short ******   
)

Set up prediction MV and prediction up layer cost used for fast motion estimation.

Definition at line 959 of file me_umhexsmp.c.

References macroblock::block_x, macroblock::block_y, and macroblock::p_Img.

Referenced by BlockMotionSearch().

void smpUMHEX_skip_intrabk_SAD ( Macroblock currMB  ) 

Set cost to zero if neighbouring block is intra used for fast motion estimation.

Definition at line 923 of file me_umhexsmp.c.

References img_par::number, macroblock::p_Img, macroblock::p_slice, macroblock::pix_x, and slice::slice_type.

Referenced by end_encode_one_macroblock().

int smpUMHEXBipredIntegerPelBlockMotionSearch ( Macroblock ,
int  ,
MotionVector ,
MotionVector ,
MotionVector ,
MotionVector ,
MEBlock *  ,
int  ,
int  ,
int   
)

smpUMHEXBipredIntegerPelBlockMotionSearch: fast pixel block motion search for bipred mode

Definition at line 666 of file me_umhexsmp.c.

References macroblock::p_Img.

Referenced by init_ME_engine().

int smpUMHEXFullSubPelBlockMotionSearch ( Macroblock currMB,
MotionVector pred_mv,
MEBlock *  mv_block,
int  min_mcost,
int  lambda_factor 
)

Sub pixel block motion search enhanced.

Definition at line 380 of file me_umhexsmp.c.

References macroblock::p_Img, macroblock::p_slice, slice::slice_type, img_par::start_me_refinement_hp, and img_par::start_me_refinement_qp.

int smpUMHEXIntegerPelBlockMotionSearch ( Macroblock currMB,
MotionVector pred_mv,
MEBlock *  mv_block,
int  min_mcost,
int  lambda_factor 
)

Fast integer pixel block motion estimation.

Definition at line 142 of file me_umhexsmp.c.

References macroblock::p_Img.

Referenced by init_ME_engine().

int smpUMHEXSubPelBlockMotionSearch ( Macroblock currMB,
MotionVector pred_mv,
MEBlock *  mv_block,
int  min_mcost,
int  lambda_factor 
)

Fast sub pixel block motion estimation.

Definition at line 510 of file me_umhexsmp.c.

References macroblock::p_Img, and img_par::start_me_refinement_hp.


Documentation generated with DoxyGen