Changeset 608 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h
- Timestamp:
- 1 Sep 2013, 22:47:26 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComSampleAdaptiveOffset.h
r443 r608 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2013, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 64 64 TComPic* m_pcPic; 65 65 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; 71 67 static const Int m_aiNumCulPartsLevel[5]; 72 68 static const UInt m_auiEoTable[9]; 73 #if !LGE_SAO_MIGRATION_D009174 static const UInt m_auiEoTable2D[9];75 static const UInt m_iWeightSao[MAX_NUM_SAO_TYPE];76 #endif77 69 Int *m_iOffsetBo; 70 Int *m_iChromaOffsetBo; 78 71 Int m_iOffsetEo[LUMA_GROUP_NUM]; 79 72 … … 86 79 Int m_iNumCuInHeight; 87 80 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]; 91 82 92 UInt m_uiSaoBitIncrease; 83 UInt m_uiSaoBitIncreaseY; 84 UInt m_uiSaoBitIncreaseC; //for chroma 93 85 UInt m_uiQP; 94 86 … … 96 88 Pel *m_pClipTableBase; 97 89 Pel *m_lumaTableBo; 90 Pel *m_pChromaClipTable; 91 Pel *m_pChromaClipTableBase; 92 Pel *m_chromaTableBo; 98 93 Int *m_iUpBuff1; 99 94 Int *m_iUpBuff2; … … 101 96 Int *ipSwap; 102 97 Bool m_bUseNIF; //!< true for performing non-cross slice boundary ALF 103 UInt m_uiNumSlicesInPic; //!< number of slices in picture104 Int m_iSGDepth; //!< slice granularity depth105 98 TComPicYuv* m_pcYuvTmp; //!< temporary picture buffer pointer when non-across slice/tile boundary SAO is enabled 106 99 … … 109 102 Pel* m_pTmpL1; 110 103 Pel* m_pTmpL2; 111 Int* m_iLcuPartIdx;112 104 Int m_maxNumOffsetsPerPic; 113 #if LGE_SAO_MIGRATION_D0091114 105 Bool m_saoLcuBoundary; 115 106 Bool m_saoLcuBasedOptimization; … … 118 109 Void xPCMCURestoration (TComDataCU* pcCU, UInt uiAbsZorderIdx, UInt uiDepth); 119 110 Void xPCMSampleRestoration (TComDataCU* pcCU, UInt uiAbsZorderIdx, UInt uiDepth, TextType ttText); 120 #else121 Bool m_saoInterleavingFlag;122 #endif123 111 public: 124 112 TComSampleAdaptiveOffset (); 125 113 virtual ~TComSampleAdaptiveOffset(); 126 114 127 Void create( UInt uiSourceWidth, UInt uiSourceHeight, UInt uiMaxCUWidth, UInt uiMaxCUHeight , UInt uiMaxCUDepth);115 Void create( UInt uiSourceWidth, UInt uiSourceHeight, UInt uiMaxCUWidth, UInt uiMaxCUHeight ); 128 116 Void destroy (); 129 117 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); 134 119 135 120 Void initSAOParam (SAOParam *pcSaoParam, Int iPartLevel, Int iPartRow, Int iPartCol, Int iParentPartIdx, Int StartCUX, Int EndCUX, Int StartCUY, Int EndCUY, Int iYCbCr); 136 121 Void allocSaoParam (SAOParam* pcSaoParam); 137 122 Void resetSAOParam (SAOParam *pcSaoParam); 138 #if LGE_SAO_MIGRATION_D0091139 123 static Void freeSaoParam (SAOParam *pcSaoParam); 140 #else141 Void freeSaoParam (SAOParam *pcSaoParam);142 #endif143 124 144 145 Void SAOProcess(TComPic* pcPic, SAOParam* pcSaoParam); 125 Void SAOProcess(SAOParam* pcSaoParam); 146 126 Void processSaoCu(Int iAddr, Int iSaoType, Int iYCbCr); 147 #if !LGE_SAO_MIGRATION_D0091148 Void processSaoOnePart(SAOQTPart *psQTPart, UInt uiPartIdx, Int iYCbCr);149 Void processSaoQuadTree(SAOQTPart *psQTPart, UInt uiPartIdx, Int iYCbCr);150 #endif151 127 Pel* getPicYuvAddr(TComPicYuv* pcPicYuv, Int iYCbCr,Int iAddr = 0); 152 128 153 129 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); 155 131 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); 157 133 158 134 Void resetLcuPart(SaoLcuParam* saoLcuParam); … … 160 136 Void convertOnePart2SaoUnit(SAOParam *saoParam, UInt partIdx, Int yCbCr); 161 137 Void processSaoUnitAll(SaoLcuParam* saoLcuParam, Bool oneUnitFlag, Int yCbCr); 162 #if LGE_SAO_MIGRATION_D0091163 138 Void setSaoLcuBoundary (Bool bVal) {m_saoLcuBoundary = bVal;} 164 139 Bool getSaoLcuBoundary () {return m_saoLcuBoundary;} … … 168 143 Void copySaoUnit(SaoLcuParam* saoUnitDst, SaoLcuParam* saoUnitSrc ); 169 144 Void PCMLFDisableProcess ( TComPic* pcPic); ///< interface function for ALF process 170 #else171 Void setSaoInterleavingFlag (Bool bVal) {m_saoInterleavingFlag = bVal;}172 Bool getSaoInterleavingFlag () {return m_saoInterleavingFlag;}173 #endif174 145 }; 175 146
Note: See TracChangeset for help on using the changeset viewer.