Changeset 950 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecSbac.cpp
- Timestamp:
- 25 Apr 2014, 12:38:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/TDecSbac.cpp
r884 r950 87 87 , m_cDdcDataSCModel ( 1, 1, NUM_DDC_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 88 88 , m_cAngleFlagSCModel ( 1, 1, NUM_ANGLE_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 89 #if H_3D_DIM_DMM 89 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 90 90 , m_cDmm1DataSCModel ( 1, 1, NUM_DMM1_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 91 91 #endif … … 171 171 m_cDdcDataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DDC_DATA ); 172 172 m_cAngleFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_ANGLE_FLAG ); 173 #if H_3D_DIM_DMM 173 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 174 174 m_cDmm1DataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM1_DATA ); 175 175 #endif … … 241 241 m_cDdcDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_DATA ); 242 242 m_cAngleFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG ); 243 #if H_3D_DIM_DMM 243 #if H_3D_DIM_DMM && !MTK_DMM_SIMP_CODE_H0092 244 244 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA ); 245 245 #endif … … 386 386 uiCount++; 387 387 } 388 #if QC_SIMP_DELTADC_CODING_H0131 389 while( uiSymbol && ( uiCount != 3 ) ); 390 #else 388 391 while( uiSymbol && ( uiCount != 13 ) ); 389 392 #endif 390 393 ruiSymbol = uiCount - 1; 391 394 … … 423 426 for( Int i = 0; i < iNumBit; i++ ) 424 427 { 428 #if MTK_DMM_SIMP_CODE_H0092 429 m_pcTDecBinIf->decodeBinEP( uiSymbol ); 430 #else 425 431 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDmm1DataSCModel.get(0, 0, 0) ); 432 #endif 426 433 uiIdx += uiSymbol << i; 427 434 } … … 1128 1135 if( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() >> pcCU->getDepth( absPartIdx ) ) < 64 ) //DMM and HEVC intra modes are both allowed 1129 1136 { 1137 #if LGE_SIMP_DIM_NOT_PRESENT_FLAG_CODING_H0119_H0135 1138 m_pcTDecBinIf->decodeBin( uiSymbol, m_cAngleFlagSCModel.get( 0, 0, 0 ) ); 1139 #else 1130 1140 m_pcTDecBinIf->decodeBin( uiSymbol, m_cAngleFlagSCModel.get( 0, 0, pcCU->getCtxAngleFlag( absPartIdx ) ) ); 1141 #endif 1131 1142 } 1132 1143 else … … 2068 2079 UInt dir = pcCU->getLumaIntraDir( absPartIdx ); 2069 2080 uiNumSegments = isDimMode( dir ) ? 2 : 1; 2070 2081 #if MTK_DELTA_DC_FLAG_ONE_CONTEXT_H0084_H0100_H0113 2082 m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get( 0, 0, 0 ) ); 2083 #else 2071 2084 m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get( 0, 0, uiNumSegments-1 ) ); 2072 2085 #endif 2073 2086 if( pcCU->getSDCFlag( absPartIdx ) ) 2074 2087 { … … 2141 2154 Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2142 2155 { 2156 #if !MTK_DBBP_SIGNALING_H0094 2143 2157 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2158 #endif 2144 2159 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 2145 2160 AOF( !pcCU->getSlice()->getIsDepth() ); 2161 #if !MTK_DBBP_SIGNALING_H0094 2146 2162 AOF( ePartSize == RWTH_DBBP_PACK_MODE ); 2163 #endif 2147 2164 2148 2165 UInt uiSymbol = 0; … … 2153 2170 { 2154 2171 pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth); 2172 #if MTK_DIS_SPBIP8X4_H0205 2173 UInt uiCurrPartNumQ = (pcCU->getPic()->getNumPartInCU() >> (2 * uiDepth)) >> 2; 2174 pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx + 2*uiCurrPartNumQ, 1, uiDepth); 2175 #endif 2155 2176 } 2156 2177 }
Note: See TracChangeset for help on using the changeset viewer.