erc_do.h File Reference

Header for the I & P frame error concealment common functions. More...

#include "erc_api.h"

Include dependency graph for erc_do.h:

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

Go to the source code of this file.

Defines

#define isSplitted(object_list, currMBNum)   ((object_list+((currMBNum)<<2))->regionMode >= REGMODE_SPLITTED)
#define isBlock(object_list, currMBNum, comp, regMode)
#define getParam(object_list, currMBNum, comp, param)

Functions

void ercPixConcealIMB (ImageParameters *p_Img, imgpel *currFrame, int row, int column, int predBlocks[], int frameWidth, int mbWidthInBlocks)
int ercCollect8PredBlocks (int predBlocks[], int currRow, int currColumn, int *condition, int maxRow, int maxColumn, int step, byte fNoCornerNeigh)
int ercCollectColumnBlocks (int predBlocks[], int currRow, int currColumn, int *condition, int maxRow, int maxColumn, int step)


Detailed Description

Header for the I & P frame error concealment common functions.

Author:

Definition in file erc_do.h.


Define Documentation

#define getParam ( object_list,
currMBNum,
comp,
param   ) 

Value:

(isSplitted(object_list,currMBNum) ? \
     ((object_list+((currMBNum)<<2)+(comp))->param) : \
     ((object_list+((currMBNum)<<2))->param))

Definition at line 38 of file erc_do.h.

#define isBlock ( object_list,
currMBNum,
comp,
regMode   ) 

Value:

(isSplitted(object_list,currMBNum) ? \
     ((object_list+((currMBNum)<<2)+(comp))->regionMode == REGMODE_##regMode##_8x8) : \
     ((object_list+((currMBNum)<<2))->regionMode == REGMODE_##regMode))

Definition at line 32 of file erc_do.h.


Function Documentation

int ercCollect8PredBlocks ( int  predBlocks[],
int  currRow,
int  currColumn,
int *  condition,
int  maxRow,
int  maxColumn,
int  step,
byte  fNoCornerNeigh 
)

This function checks the neighbors of a Macroblock for usability in concealment. First the OK macroblocks are marked, and if there is not enough of them, then the CONCEALED ones as well. A "1" in the the output array means reliable, a "0" non reliable MB. The block order in "predBlocks": 1 4 0 5 x 7 2 6 3 i.e., corners first.

Returns:
Number of useable neighbor macroblocks for concealment.
Parameters:
predBlocks[] Array for indicating the valid neighbor blocks
currRow Current block row in the frame
currColumn Current block column in the frame
condition The block condition (ok, lost) table
maxRow Number of block rows in the frame
maxColumn Number of block columns in the frame
step Number of blocks belonging to a MB, when counting in vertical/horizontal direction. (Y:2 U,V:1)
fNoCornerNeigh No corner neighbors are considered

Definition at line 154 of file erc_do_i.c.

Referenced by concealBlocks(), and ercConcealInterFrame().

int ercCollectColumnBlocks ( int  predBlocks[],
int  currRow,
int  currColumn,
int *  condition,
int  maxRow,
int  maxColumn,
int  step 
)

collects prediction blocks only from the current column

Returns:
Number of usable neighbour Macroblocks for concealment.
Parameters:
predBlocks[] Array for indicating the valid neighbor blocks
currRow Current block row in the frame
currColumn Current block column in the frame
condition The block condition (ok, lost) table
maxRow Number of block rows in the frame
maxColumn Number of block columns in the frame
step Number of blocks belonging to a MB, when counting in vertical/horizontal direction. (Y:2 U,V:1)

Definition at line 263 of file erc_do_i.c.

Referenced by concealBlocks().

void ercPixConcealIMB ( ImageParameters *  p_Img,
imgpel *  currFrame,
int  row,
int  column,
int  predBlocks[],
int  frameWidth,
int  mbWidthInBlocks 
)

Conceals the MB at position (row, column) using pixels from predBlocks[] using pixMeanInterpolateBlock().

Parameters:
p_Img image encoding parameters for current picture
currFrame current frame
row y coordinate in blocks
column x coordinate in blocks
predBlocks[] list of neighboring source blocks (numbering 0 to 7, 1 means: use the neighbor)
frameWidth width of frame in pixels
mbWidthInBlocks 2 for Y, 1 for U/V components

Definition at line 94 of file erc_do_i.c.

References pixMeanInterpolateBlock().

Referenced by concealBlocks().

Here is the call graph for this function:


Documentation generated with DoxyGen