md_common.c File Reference

Mode Decision common functions. More...

#include <limits.h>
#include "global.h"
#include "image.h"
#include "macroblock.h"
#include "mc_prediction.h"

Include dependency graph for md_common.c:

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])


Detailed Description

Mode Decision common functions.

Author:
Date:
04. October 2008

Definition in file md_common.c.


Function Documentation

void copy_image_data ( imgpel **  imgBuf1,
imgpel **  imgBuf2,
int  off1,
int  off2,
int  width,
int  height 
)

void copy_image_data_16x16 ( imgpel **  imgBuf1,
imgpel **  imgBuf2,
int  off1,
int  off2 
)

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 
)

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().

Here is the call graph for this function:

void SetMotionVectorsMBBSlice ( Macroblock currMB,
PicMotionParams motion 
)

void SetMotionVectorsMBPSlice ( Macroblock currMB,
PicMotionParams motion 
)

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:

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().

Here is the call graph for this function:


Documentation generated with DoxyGen