/*!
************************************************************************
* \file erc_globals.h
*
* \brief
* global header file for error concealment module
*
* \author
* - Viktor Varsa
* - Ye-Kui Wang
************************************************************************
*/
#ifndef _ERC_GLOBALS_H_
#define _ERC_GLOBALS_H_
#include
/* "block" means an 8x8 pixel area */
/* Region modes */
#define REGMODE_INTER_COPY 0 /* Copy region */
#define REGMODE_INTER_PRED 1 /* Inter region with motion vectors */
#define REGMODE_INTRA 2 /* Intra region */
#define REGMODE_SPLITTED 3 /* Any region mode higher than this indicates that the region
is splitted which means 8x8 block */
#define REGMODE_INTER_COPY_8x8 4
#define REGMODE_INTER_PRED_8x8 5
#define REGMODE_INTRA_8x8 6
/* YUV pixel domain image arrays for a video frame */
typedef struct
{
byte *yptr;
byte *uptr;
byte *vptr;
} frame;
/* region structure stores information about a region that is needed for concealment */
typedef struct
{
byte regionMode; /* region mode as above */
int xMin; /* X coordinate of the pixel position of the top-left corner of the region */
int yMin; /* Y coordinate of the pixel position of the top-left corner of the region */
int32 mv[3]; /* motion vectors in 1/4 pixel units: mvx = mv[0], mvy = mv[1],
and ref_frame = mv[2] */
} objectBuffer_t;
#endif