/*! ************************************************************************ * \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 "defines.h" /* "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 frame_s { VideoParameters *p_Vid; imgpel *yptr; imgpel *uptr; imgpel *vptr; } frame; //! region structure stores information about a region that is needed for concealment typedef struct object_buffer { 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 short mv[3]; //!< motion vectors in 1/4 pixel units: mvx = mv[0], mvy = mv[1], //!< and ref_frame = mv[2] } objectBuffer_t; #endif