Ignore:
Timestamp:
1 Sep 2013, 22:47:26 (11 years ago)
Author:
tech
Message:

Merged DEV-2.0-dev0@604.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h

    r443 r608  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2013, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6464  TComPic*          m_pcPic;
    6565
    66   static UInt m_uiMaxDepth;
    67 #if !LGE_SAO_MIGRATION_D0091
    68   static const Int m_aiNumPartsInRow[5];
    69   static const Int m_aiNumPartsLevel[5];
    70 #endif
     66  static const UInt m_uiMaxDepth;
    7167  static const Int m_aiNumCulPartsLevel[5];
    7268  static const UInt m_auiEoTable[9];
    73 #if !LGE_SAO_MIGRATION_D0091
    74   static const UInt m_auiEoTable2D[9];
    75   static const UInt m_iWeightSao[MAX_NUM_SAO_TYPE];
    76 #endif
    7769  Int *m_iOffsetBo;
     70  Int *m_iChromaOffsetBo;
    7871  Int m_iOffsetEo[LUMA_GROUP_NUM];
    7972
     
    8679  Int  m_iNumCuInHeight;
    8780  Int  m_iNumTotalParts;
    88   static Int m_iNumClass[MAX_NUM_SAO_TYPE];
    89   SliceType  m_eSliceType;
    90   Int        m_iPicNalReferenceIdc;
     81  static const Int m_iNumClass[MAX_NUM_SAO_TYPE];
    9182
    92   UInt m_uiSaoBitIncrease;
     83  UInt m_uiSaoBitIncreaseY;
     84  UInt m_uiSaoBitIncreaseC;  //for chroma
    9385  UInt m_uiQP;
    9486
     
    9688  Pel   *m_pClipTableBase;
    9789  Pel   *m_lumaTableBo;
     90  Pel   *m_pChromaClipTable;
     91  Pel   *m_pChromaClipTableBase;
     92  Pel   *m_chromaTableBo;
    9893  Int   *m_iUpBuff1;
    9994  Int   *m_iUpBuff2;
     
    10196  Int   *ipSwap;
    10297  Bool  m_bUseNIF;       //!< true for performing non-cross slice boundary ALF
    103   UInt  m_uiNumSlicesInPic;      //!< number of slices in picture
    104   Int   m_iSGDepth;              //!< slice granularity depth
    10598  TComPicYuv* m_pcYuvTmp;    //!< temporary picture buffer pointer when non-across slice/tile boundary SAO is enabled
    10699
     
    109102  Pel* m_pTmpL1;
    110103  Pel* m_pTmpL2;
    111   Int* m_iLcuPartIdx;
    112104  Int     m_maxNumOffsetsPerPic;
    113 #if LGE_SAO_MIGRATION_D0091
    114105  Bool    m_saoLcuBoundary;
    115106  Bool    m_saoLcuBasedOptimization;
     
    118109  Void xPCMCURestoration      (TComDataCU* pcCU, UInt uiAbsZorderIdx, UInt uiDepth);
    119110  Void xPCMSampleRestoration  (TComDataCU* pcCU, UInt uiAbsZorderIdx, UInt uiDepth, TextType ttText);
    120 #else
    121   Bool    m_saoInterleavingFlag;
    122 #endif
    123111public:
    124112  TComSampleAdaptiveOffset         ();
    125113  virtual ~TComSampleAdaptiveOffset();
    126114
    127   Void create( UInt uiSourceWidth, UInt uiSourceHeight, UInt uiMaxCUWidth, UInt uiMaxCUHeight, UInt uiMaxCUDepth );
     115  Void create( UInt uiSourceWidth, UInt uiSourceHeight, UInt uiMaxCUWidth, UInt uiMaxCUHeight );
    128116  Void destroy ();
    129117
    130   Int  convertLevelRowCol2Idx(int level, int row, int col);
    131 #if !LGE_SAO_MIGRATION_D0091
    132   void convertIdx2LevelRowCol(int idx, int *level, int *row, int *col);
    133 #endif
     118  Int  convertLevelRowCol2Idx(Int level, Int row, Int col);
    134119
    135120  Void initSAOParam   (SAOParam *pcSaoParam, Int iPartLevel, Int iPartRow, Int iPartCol, Int iParentPartIdx, Int StartCUX, Int EndCUX, Int StartCUY, Int EndCUY, Int iYCbCr);
    136121  Void allocSaoParam  (SAOParam* pcSaoParam);
    137122  Void resetSAOParam  (SAOParam *pcSaoParam);
    138 #if LGE_SAO_MIGRATION_D0091
    139123  static Void freeSaoParam   (SAOParam *pcSaoParam);
    140 #else
    141   Void freeSaoParam   (SAOParam *pcSaoParam);
    142 #endif
    143124 
    144 
    145   Void SAOProcess(TComPic* pcPic, SAOParam* pcSaoParam);
     125  Void SAOProcess(SAOParam* pcSaoParam);
    146126  Void processSaoCu(Int iAddr, Int iSaoType, Int iYCbCr);
    147 #if !LGE_SAO_MIGRATION_D0091
    148   Void processSaoOnePart(SAOQTPart *psQTPart, UInt uiPartIdx, Int iYCbCr);
    149   Void processSaoQuadTree(SAOQTPart *psQTPart, UInt uiPartIdx, Int iYCbCr);
    150 #endif
    151127  Pel* getPicYuvAddr(TComPicYuv* pcPicYuv, Int iYCbCr,Int iAddr = 0);
    152128
    153129  Void processSaoCuOrg(Int iAddr, Int iPartIdx, Int iYCbCr);  //!< LCU-basd SAO process without slice granularity
    154   Void createPicSaoInfo(TComPic* pcPic, Int numSlicesInPic = 1);
     130  Void createPicSaoInfo(TComPic* pcPic);
    155131  Void destroyPicSaoInfo();
    156   Void processSaoBlock(Pel* pDec, Pel* pRest, Int stride, Int iSaoType, UInt xPos, UInt yPos, UInt width, UInt height, Bool* pbBorderAvail);
     132  Void processSaoBlock(Pel* pDec, Pel* pRest, Int stride, Int iSaoType, UInt width, UInt height, Bool* pbBorderAvail, Int iYCbCr);
    157133
    158134  Void resetLcuPart(SaoLcuParam* saoLcuParam);
     
    160136  Void convertOnePart2SaoUnit(SAOParam *saoParam, UInt partIdx, Int yCbCr);
    161137  Void processSaoUnitAll(SaoLcuParam* saoLcuParam, Bool oneUnitFlag, Int yCbCr);
    162 #if LGE_SAO_MIGRATION_D0091
    163138  Void setSaoLcuBoundary (Bool bVal)  {m_saoLcuBoundary = bVal;}
    164139  Bool getSaoLcuBoundary ()           {return m_saoLcuBoundary;}
     
    168143  Void copySaoUnit(SaoLcuParam* saoUnitDst, SaoLcuParam* saoUnitSrc );
    169144  Void PCMLFDisableProcess    ( TComPic* pcPic);                        ///< interface function for ALF process
    170 #else
    171   Void setSaoInterleavingFlag (Bool bVal)  {m_saoInterleavingFlag = bVal;}
    172   Bool getSaoInterleavingFlag ()           {return m_saoInterleavingFlag;}
    173 #endif
    174145};
    175146
Note: See TracChangeset for help on using the changeset viewer.