#include <limits.h>
#include "global.h"
#include "image.h"
#include "macroblock.h"
#include "mc_prediction.h"
Go to the source code of this file.
Functions | |
static void | CopyMVBlock16 (short ***enc_mv, short ***rdo_mv, int block_x, int block_y, int start, int end) |
static void | ResetMVBlock16 (short ***enc_mv, int block_x, int block_y, int start, int end) |
static void | ResetRefBlock16 (char **enc_ref, int block_x, int block_y, int start, int end) |
static void | CopyMVBlock8 (short ***enc_mv, short ***rdo_mv, int block_x, int start, int end, int offset) |
static void | ResetMVBlock8 (short ***enc_mv, int block_x, int start, int end) |
static void | ResetRefBlock8 (char **enc_ref, int block_x, int start, int end) |
void | SetMotionVectorsMBPSlice (Macroblock *currMB, PicMotionParams *motion) |
static void | SetMVBSlice16x8 (Slice *currSlice, PicMotionParams *motion, Macroblock *currMB, int pos) |
static void | SetMVBSlice8x16 (Slice *currSlice, PicMotionParams *motion, Macroblock *currMB, int pos) |
static void | SetMVBSlice8x8 (Slice *currSlice, PicMotionParams *motion, Macroblock *currMB, int pos_y, int pos_x) |
void | SetMotionVectorsMBISlice (Macroblock *currMB, PicMotionParams *motion) |
void | SetMotionVectorsMBBSlice (Macroblock *currMB, PicMotionParams *motion) |
void | copy_image_data_16x16 (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2) |
void | copy_image_data_8x8 (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2) |
void | copy_image_data_4x4 (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2) |
void | copy_image_data (imgpel **imgBuf1, imgpel **imgBuf2, int off1, int off2, int width, int height) |
void | ResetRD8x8Data (ImageParameters *p_Img, RD_8x8DATA *rd_data) |
void | SetChromaPredMode (Macroblock *currMB, RD_PARAMS enc_mb, int *mb_available, char chroma_pred_mode_range[2]) |
Definition in file md_common.c.
void copy_image_data | ( | imgpel ** | imgBuf1, | |
imgpel ** | imgBuf2, | |||
int | off1, | |||
int | off2, | |||
int | width, | |||
int | height | |||
) |
Copy ImgPel Data from one structure to another (8x8).
Definition at line 463 of file md_common.c.
Referenced by chroma_residual_coding(), copy_rdopt_data(), dct_chroma(), dct_chroma_sp(), RDCost_for_macroblocks(), set_mbaff_parameters(), set_stored_macroblock_parameters(), set_stored_macroblock_parameters_mpass(), set_stored_macroblock_parameters_sp(), and store_macroblock_parameters().
void copy_image_data_16x16 | ( | imgpel ** | imgBuf1, | |
imgpel ** | imgBuf2, | |||
int | off1, | |||
int | off2 | |||
) |
Copy ImgPel Data from one structure to another (16x16).
Definition at line 418 of file md_common.c.
Referenced by copy_rdopt_data(), decode_one_mb(), encode_one_macroblock_low(), luma_residual_coding(), luma_residual_coding_p444(), RDCost_for_macroblocks(), set_mbaff_parameters(), set_stored_macroblock_parameters(), set_stored_macroblock_parameters_mpass(), set_stored_macroblock_parameters_sp(), SetCoeffAndReconstruction8x8(), and store_macroblock_parameters().
void copy_image_data_4x4 | ( | imgpel ** | imgBuf1, | |
imgpel ** | imgBuf2, | |||
int | off1, | |||
int | off2 | |||
) |
Copy ImgPel Data from one structure to another (4x4).
Definition at line 448 of file md_common.c.
Referenced by dct_4x4().
void copy_image_data_8x8 | ( | imgpel ** | imgBuf1, | |
imgpel ** | imgBuf2, | |||
int | off1, | |||
int | off2 | |||
) |
Copy ImgPel Data from one structure to another (8x8).
Definition at line 433 of file md_common.c.
Referenced by dct_8x8(), dct_8x8_cavlc(), luma_residual_coding_16x16(), luma_residual_coding_8x8(), luma_residual_coding_p444_16x16(), luma_residual_coding_p444_8x8(), Mode_Decision_for_8x8IntraBlocks_JM_High(), Mode_Decision_for_8x8IntraBlocks_JM_High444(), submacroblock_mode_decision(), and submacroblock_mode_decision_low().
static void CopyMVBlock16 | ( | short *** | enc_mv, | |
short *** | rdo_mv, | |||
int | block_x, | |||
int | block_y, | |||
int | start, | |||
int | end | |||
) | [inline, static] |
Copy rdo mv info to 16xN picture mv buffer.
Definition at line 27 of file md_common.c.
Referenced by SetMotionVectorsMBBSlice(), SetMotionVectorsMBPSlice(), and SetMVBSlice16x8().
static void CopyMVBlock8 | ( | short *** | enc_mv, | |
short *** | rdo_mv, | |||
int | block_x, | |||
int | start, | |||
int | end, | |||
int | offset | |||
) | [inline, static] |
Copy rdo mv info to 8xN picture mv buffer.
Definition at line 72 of file md_common.c.
Referenced by SetMotionVectorsMBPSlice(), SetMVBSlice8x16(), and SetMVBSlice8x8().
static void ResetMVBlock16 | ( | short *** | enc_mv, | |
int | block_x, | |||
int | block_y, | |||
int | start, | |||
int | end | |||
) | [inline, static] |
Reset corresponding 16xN block picture mv buffer.
Definition at line 42 of file md_common.c.
Referenced by SetMotionVectorsMBBSlice(), SetMotionVectorsMBPSlice(), and SetMVBSlice16x8().
static void ResetMVBlock8 | ( | short *** | enc_mv, | |
int | block_x, | |||
int | start, | |||
int | end | |||
) | [inline, static] |
Reset corresponding 8xN block picture mv buffer.
Definition at line 87 of file md_common.c.
Referenced by SetMVBSlice8x16(), and SetMVBSlice8x8().
static void ResetRefBlock16 | ( | char ** | enc_ref, | |
int | block_x, | |||
int | block_y, | |||
int | start, | |||
int | end | |||
) | [inline, static] |
Reset corresponding 16xN block picture ref buffer (intra).
Definition at line 57 of file md_common.c.
Referenced by SetMotionVectorsMBBSlice(), SetMotionVectorsMBPSlice(), and SetMVBSlice16x8().
static void ResetRefBlock8 | ( | char ** | enc_ref, | |
int | block_x, | |||
int | start, | |||
int | end | |||
) | [inline, static] |
Reset corresponding 8xN block picture ref buffer (intra).
Definition at line 103 of file md_common.c.
Referenced by SetMVBSlice8x16(), and SetMVBSlice8x8().
void SetChromaPredMode | ( | Macroblock * | currMB, | |
RD_PARAMS | enc_mb, | |||
int * | mb_available, | |||
char | chroma_pred_mode_range[2] | |||
) |
set the range of chroma prediction mode
Definition at line 502 of file md_common.c.
References macroblock::c_ipred_mode, intra_chroma_prediction(), intra_chroma_RD_decision(), macroblock::p_Img, and YUV400.
Referenced by encode_one_macroblock_high(), encode_one_macroblock_highfast(), and encode_one_macroblock_highloss().
void SetMotionVectorsMBBSlice | ( | Macroblock * | currMB, | |
PicMotionParams * | motion | |||
) |
Sets motion vectors for a macroblock in a P Slice.
Definition at line 338 of file md_common.c.
References slice::all_mv, rd_data::all_mv, slice::bipred_mv, macroblock::block_x, macroblock::block_y, CopyMVBlock16(), img_par::max_num_references, macroblock::mb_type, pic_motion_params::mv, macroblock::p_Img, macroblock::p_slice, pic_motion_params::ref_idx, ResetMVBlock16(), ResetRefBlock16(), SetMVBSlice16x8(), SetMVBSlice8x16(), and SetMVBSlice8x8().
Referenced by init_slice().
void SetMotionVectorsMBPSlice | ( | Macroblock * | currMB, | |
PicMotionParams * | motion | |||
) |
Sets motion vectors for a macroblock in a P Slice.
Definition at line 118 of file md_common.c.
References rd_data::all_mv, slice::all_mv, macroblock::block_x, macroblock::block_y, CopyMVBlock16(), CopyMVBlock8(), img_par::max_num_references, macroblock::mb_type, pic_motion_params::mv, macroblock::p_Img, macroblock::p_slice, pic_motion_params::ref_idx, ResetMVBlock16(), and ResetRefBlock16().
Referenced by init_slice().
static void SetMVBSlice16x8 | ( | Slice * | currSlice, | |
PicMotionParams * | motion, | |||
Macroblock * | currMB, | |||
int | pos | |||
) | [static] |
Sets motion vectors for a 16x8 partition in a B Slice.
Definition at line 189 of file md_common.c.
References rd_data::all_mv, slice::all_mv, slice::bipred_mv, macroblock::block_x, macroblock::block_y, CopyMVBlock16(), pic_motion_params::mv, pic_motion_params::ref_idx, ResetMVBlock16(), and ResetRefBlock16().
Referenced by SetMotionVectorsMBBSlice().
static void SetMVBSlice8x16 | ( | Slice * | currSlice, | |
PicMotionParams * | motion, | |||
Macroblock * | currMB, | |||
int | pos | |||
) | [static] |
Sets motion vectors for a 8x16 partition in a B Slice.
Definition at line 231 of file md_common.c.
References rd_data::all_mv, slice::all_mv, slice::bipred_mv, macroblock::block_x, macroblock::block_y, CopyMVBlock8(), pic_motion_params::mv, pic_motion_params::ref_idx, ResetMVBlock8(), and ResetRefBlock8().
Referenced by SetMotionVectorsMBBSlice().
static void SetMVBSlice8x8 | ( | Slice * | currSlice, | |
PicMotionParams * | motion, | |||
Macroblock * | currMB, | |||
int | pos_y, | |||
int | pos_x | |||
) | [static] |
Sets motion vectors for a 8x8 partition in a B Slice.
Definition at line 279 of file md_common.c.
References rd_data::all_mv, slice::all_mv, slice::bipred_mv, macroblock::block_x, macroblock::block_y, CopyMVBlock8(), pic_motion_params::mv, pic_motion_params::ref_idx, ResetMVBlock8(), and ResetRefBlock8().
Referenced by SetMotionVectorsMBBSlice().