#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.