Changeset 443 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h
- Timestamp:
- 26 May 2013, 15:41:34 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.h
r296 r443 71 71 Int64 ***m_iOffset; //[MAX_NUM_SAO_PART][MAX_NUM_SAO_TYPE][MAX_NUM_SAO_CLASS]; 72 72 Int64 ***m_iOffsetOrg; //[MAX_NUM_SAO_PART][MAX_NUM_SAO_TYPE]; 73 #if LGE_SAO_MIGRATION_D0091 74 Int64 ****m_count_PreDblk; //[LCU][YCbCr][MAX_NUM_SAO_TYPE][MAX_NUM_SAO_CLASS]; 75 Int64 ****m_offsetOrg_PreDblk; //[LCU][YCbCr][MAX_NUM_SAO_TYPE][MAX_NUM_SAO_CLASS]; 76 #endif 73 77 Int64 **m_iRate; //[MAX_NUM_SAO_PART][MAX_NUM_SAO_TYPE]; 74 78 Int64 **m_iDist; //[MAX_NUM_SAO_PART][MAX_NUM_SAO_TYPE]; … … 79 83 Int m_iOffsetTh; 80 84 Bool m_bUseSBACRD; 85 #if SAO_ENCODING_CHOICE 86 #if SAO_ENCODING_CHOICE_CHROMA 87 Double m_depthSaoRate[2][4]; 88 #else 89 Double m_depth0SaoRate; 90 #endif 91 #endif 81 92 82 93 public: … … 88 99 Void resetStats(); 89 100 #if SAO_CHROMA_LAMBDA 101 #if SAO_ENCODING_CHOICE 102 Void SAOProcess(SAOParam *pcSaoParam, Double dLambda, Double dLambdaChroma, Int depth); 103 #else 90 104 Void SAOProcess(SAOParam *pcSaoParam, Double dLambda, Double dLambdaChroma); 105 #endif 91 106 #else 92 107 Void SAOProcess(SAOParam *pcSaoParam, Double dLambda); 93 108 #endif 109 110 #if LGE_SAO_MIGRATION_D0091 111 Void runQuadTreeDecision(SAOQTPart *psQTPart, Int iPartIdx, Double &dCostFinal, Int iMaxLevel, Double dLambda, Int yCbCr); 112 Void rdoSaoOnePart(SAOQTPart *psQTPart, Int iPartIdx, Double dLambda, Int yCbCr); 113 #else 94 114 Void runQuadTreeDecision(SAOQTPart *psQTPart, Int iPartIdx, Double &dCostFinal, Int iMaxLevel, Double dLambda); 95 115 Void rdoSaoOnePart(SAOQTPart *psQTPart, Int iPartIdx, Double dLambda); 116 #endif 117 96 118 Void disablePartTree(SAOQTPart *psQTPart, Int iPartIdx); 97 119 Void getSaoStats(SAOQTPart *psQTPart, Int iYCbCr); … … 99 121 Void calcSaoStatsBlock( Pel* pRecStart, Pel* pOrgStart, Int stride, Int64** ppStats, Int64** ppCount, UInt width, UInt height, Bool* pbBorderAvail); 100 122 Void calcSaoStatsCuOrg(Int iAddr, Int iPartIdx, Int iYCbCr); 123 #if LGE_SAO_MIGRATION_D0091 124 Void calcSaoStatsCu_BeforeDblk( TComPic* pcPic ); 125 #endif 101 126 Void destroyEncBuffer(); 102 127 Void createEncBuffer(); 103 128 Void assignSaoUnitSyntax(SaoLcuParam* saoLcuParam, SAOQTPart* saoPart, Bool &oneUnitFlag, Int yCbCr); 104 129 Void checkMerge(SaoLcuParam * lcuParamCurr,SaoLcuParam * lcuParamCheck, Int dir); 130 #if SAO_ENCODING_CHOICE 131 Void rdoSaoUnitAll(SAOParam *saoParam, Double lambda, Double lambdaChroma, Int depth); 132 #else 105 133 Void rdoSaoUnitAll(SAOParam *saoParam, Double lambda, Double lambdaChroma); 134 #endif 135 #if LGE_SAO_MIGRATION_D0091 136 Void saoComponentParamDist(Int allowMergeLeft, Int allowMergeUp, SAOParam *saoParam, Int addr, Int addrUp, Int addrLeft, Int yCbCr, Double lambda, SaoLcuParam *compSaoParam, Double *distortion); 137 Void sao2ChromaParamDist(Int allowMergeLeft, Int allowMergeUp, SAOParam *saoParam, Int addr, Int addrUp, Int addrLeft, Double lambda, SaoLcuParam *crSaoParam, SaoLcuParam *cbSaoParam, Double *distortion); 138 inline Int64 estSaoDist(Int64 count, Int64 offset, Int64 offsetOrg, Int shift); 139 inline Int64 estIterOffset(Int typeIdx, Int classIdx, double lambda, Int64 offsetInput, Int64 count, Int64 offsetOrg, Int shift, Int bitIncrease, Int *currentDistortionTableBo, Double *currentRdCostTableBo ); 140 inline Int64 estSaoTypeDist(Int compIdx, Int typeIdx, Int shift, Double lambda, Int *currentDistortionTableBo, Double *currentRdCostTableBo); 141 #else 106 142 Void rdoSaoUnit(SAOParam *saoParam, Int addr, Int addrUp, Int addrLeft, Int yCbCr, Double lambda); 143 #endif 107 144 Void setMaxNumOffsetsPerPic(Int iVal) {m_maxNumOffsetsPerPic = iVal; } 108 145 Int getMaxNumOffsetsPerPic() {return m_maxNumOffsetsPerPic; }
Note: See TracChangeset for help on using the changeset viewer.