#include "mbuffer.h"
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) |
Definition in file me_umhexsmp.h.
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().
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().
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.