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

Audio

开发平台:

Visual C++

  1. /*!
  2.  ************************************************************************
  3.  * file  erc_do.h
  4.  *
  5.  * brief
  6.  *      Header for the I & P frame error concealment common functions
  7.  *
  8.  * author
  9.  *      - Viktor Varsa                     <viktor.varsa@nokia.com>
  10.  *      - Ye-Kui Wang                   <wyk@ieee.org>
  11.  *
  12.  ************************************************************************
  13.  */
  14. #ifndef _ERC_DO_H_
  15. #define _ERC_DO_H_
  16. #include "erc_api.h"
  17. void ercPixConcealIMB(imgpel *currFrame, int row, int column, int predBlocks[], int frameWidth, int mbWidthInBlocks);
  18. int ercCollect8PredBlocks( int predBlocks[], int currRow, int currColumn, int *condition,
  19.                           int maxRow, int maxColumn, int step, byte fNoCornerNeigh );
  20. int ercCollectColumnBlocks( int predBlocks[], int currRow, int currColumn, int *condition, int maxRow, int maxColumn, int step );
  21. #define isSplitted(object_list,currMBNum) 
  22.     ((object_list+((currMBNum)<<2))->regionMode >= REGMODE_SPLITTED)
  23. /* this can be used as isBlock(...,INTRA) or isBlock(...,INTER_COPY) */
  24. #define isBlock(object_list,currMBNum,comp,regMode) 
  25.     (isSplitted(object_list,currMBNum) ? 
  26.      ((object_list+((currMBNum)<<2)+(comp))->regionMode == REGMODE_##regMode##_8x8) : 
  27.      ((object_list+((currMBNum)<<2))->regionMode == REGMODE_##regMode))
  28. /* this can be used as getParam(...,mv) or getParam(...,xMin) or getParam(...,yMin) */
  29. #define getParam(object_list,currMBNum,comp,param) 
  30.     (isSplitted(object_list,currMBNum) ? 
  31.      ((object_list+((currMBNum)<<2)+(comp))->param) : 
  32.      ((object_list+((currMBNum)<<2))->param))
  33. #endif