erc_globals.h
上传用户:hjq518
上传日期:2021-12-09
资源大小:5084k
文件大小:2k
源码类别:

Audio

开发平台:

Visual C++

  1. /*!
  2.  ************************************************************************
  3.  * file erc_globals.h
  4.  *
  5.  * brief
  6.  *      global header file for error concealment module
  7.  *
  8.  * author
  9.  *      - Viktor Varsa                     <viktor.varsa@nokia.com>
  10.  *      - Ye-Kui Wang                   <wyk@ieee.org>
  11.  ************************************************************************
  12.  */
  13. #ifndef _ERC_GLOBALS_H_
  14. #define _ERC_GLOBALS_H_
  15. #include "defines.h"
  16. /* "block" means an 8x8 pixel area */
  17. /* Region modes */
  18. #define REGMODE_INTER_COPY       0  //!< Copy region
  19. #define REGMODE_INTER_PRED       1  //!< Inter region with motion vectors
  20. #define REGMODE_INTRA            2  //!< Intra region
  21. #define REGMODE_SPLITTED         3  //!< Any region mode higher than this indicates that the region
  22.                                     //!< is splitted which means 8x8 block
  23. #define REGMODE_INTER_COPY_8x8   4
  24. #define REGMODE_INTER_PRED_8x8   5
  25. #define REGMODE_INTRA_8x8        6
  26. //! YUV pixel domain image arrays for a video frame
  27. typedef struct
  28. {
  29.   imgpel *yptr;
  30.   imgpel *uptr;
  31.   imgpel *vptr;
  32. } frame;
  33. //! region structure stores information about a region that is needed for concealment
  34. typedef struct
  35. {
  36.   byte regionMode;  //!< region mode as above
  37.   int xMin;         //!< X coordinate of the pixel position of the top-left corner of the region
  38.   int yMin;         //!< Y coordinate of the pixel position of the top-left corner of the region
  39.   int mv[3];        //!< motion vectors in 1/4 pixel units: mvx = mv[0], mvy = mv[1],
  40.                     //!< and ref_frame = mv[2]
  41. } objectBuffer_t;
  42. #endif