Changeset 601 in 3DVCSoftware for branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder
- Timestamp:
- 29 Aug 2013, 15:10:30 (12 years ago)
- Location:
- branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r598 r601 874 874 // get DC prediction for each segment 875 875 Pel apDCPredValues[2]; 876 #if KWU_SDC_SIMPLE_DC_E0117 877 m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride, uiLumaPredMode); 878 #else 876 879 m_pcPrediction->analyzeSegmentsSDC(piPred, uiStride, uiWidth, apDCPredValues, uiNumSegments, pbMask, uiMaskStride); 880 #endif 877 881 878 882 // reconstruct residual based on mask + DC residuals -
branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecSbac.cpp
r598 r601 89 89 #if H_3D_DIM_DMM 90 90 , m_cDmm1DataSCModel ( 1, 1, NUM_DMM1_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 91 #if !SEC_DMM2_E0146 91 92 , m_cDmm2DataSCModel ( 1, 1, NUM_DMM2_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 93 #endif 92 94 , m_cDmm3DataSCModel ( 1, 1, NUM_DMM3_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 93 95 #endif … … 177 179 #if H_3D_DIM_DMM 178 180 m_cDmm1DataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM1_DATA ); 181 #if !SEC_DMM2_E0146 179 182 m_cDmm2DataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM2_DATA ); 183 #endif 180 184 m_cDmm3DataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM3_DATA ); 181 185 #endif … … 251 255 #if H_3D_DIM_DMM 252 256 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA ); 257 #if !SEC_DMM2_E0146 253 258 m_cDmm2DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM2_DATA ); 259 #endif 254 260 m_cDmm3DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM3_DATA ); 255 261 #endif … … 438 444 ruiTabIdx = uiIdx; 439 445 } 446 #if !SEC_DMM2_E0146 440 447 Void TDecSbac::xParseDmm2Offset( Int& riOffset ) 441 448 { … … 463 470 riOffset = iDeltaEnd; 464 471 } 472 #endif 465 473 Void TDecSbac::xParseDmm3WedgeIdx( UInt& ruiIntraIdx, Int iNumBit ) 466 474 { … … 1154 1162 pcCU->setDmmWedgeTabIdxSubParts( uiTabIdx, dimType, absPartIdx, depth ); 1155 1163 } break; 1164 #if !SEC_DMM2_E0146 1156 1165 case( DMM2_IDX ): 1157 1166 { … … 1160 1169 pcCU->setDmm2DeltaEndSubParts( iOffset, absPartIdx, depth ); 1161 1170 } break; 1171 #endif 1162 1172 case( DMM3_IDX ): 1163 1173 { … … 1227 1237 if( puIdx == 2 ) 1228 1238 { 1239 #if !LGE_SDC_REMOVE_DC_E0158 1229 1240 while( binNum < 2 && symbol ) 1241 #endif 1230 1242 { 1231 1243 ctxDepthMode = puIdx*3 + binNum; … … 1235 1247 } 1236 1248 if( modeCode == 0 ) { dir = PLANAR_IDX; sdcFlag = 1;} 1249 #if LGE_SDC_REMOVE_DC_E0158 1250 else if( modeCode == 1 ) { dir = 0; sdcFlag = 0;} 1251 #else 1237 1252 else if( modeCode == 2 ) { dir = 0; sdcFlag = 0;} 1238 1253 else if( modeCode == 3 ) { dir = DC_IDX; sdcFlag = 1;} 1254 #endif 1239 1255 } 1240 1256 else if( puIdx == 0 ) … … 1254 1270 else 1255 1271 { 1272 #if ZJU_DEPTH_INTRA_MODE_E0204 1273 UInt maxBinNum = 0; 1274 m_pcTDecBinIf->decodeBinEP(symbol); 1275 if( symbol == 1 ) 1276 { 1277 maxBinNum = 3; 1278 } 1279 else 1280 { 1281 maxBinNum = 2; 1282 symbol = 1; 1283 } 1284 while( binNum<maxBinNum && symbol ) 1285 { 1286 ctxDepthMode = puIdx*3 + ( binNum >= 2 ? 2 : binNum ); 1287 m_pcTDecBinIf->decodeBin(symbol,m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode)); 1288 modeCode = (modeCode<<1)+symbol; 1289 binNum++; 1290 } 1291 if( maxBinNum == 3 ) 1292 { 1293 if ( modeCode == 0 ) { dir = PLANAR_IDX; sdcFlag = 1;} 1294 else if ( modeCode == 2 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;} 1295 else if ( modeCode == 6 ) { dir = (2*DMM3_IDX+DIM_OFFSET); sdcFlag = 0;} 1296 else if ( modeCode == 7 ) { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 0;} 1297 } 1298 else 1299 { 1300 if ( modeCode == 0 ) { dir = 5; sdcFlag = 0;} 1301 else if ( modeCode == 2 ) { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 1;} 1302 else if ( modeCode == 3 ) { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;} 1303 } 1304 #else 1256 1305 ctxDepthMode = puIdx*3 ; 1257 1306 m_pcTDecBinIf->decodeBin( symbol, m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode) ); … … 1283 1332 { 1284 1333 binNum = 0; 1334 #if LGE_SDC_REMOVE_DC_E0158 1335 #if !SEC_DMM2_E0146 1336 while( symbol && binNum < 2 ) 1337 #endif 1338 #else 1339 #if SEC_DMM2_E0146 1340 while( symbol && binNum < 2 ) 1341 #else 1285 1342 while( symbol && binNum < 3 ) 1343 #endif 1344 #endif 1286 1345 { 1287 1346 ctxDepthMode = puIdx*3 + 2; … … 1298 1357 else if( modeCode == 5 ) { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;} 1299 1358 else if( modeCode == 6 ) { dir = (2*DMM3_IDX+DIM_OFFSET); sdcFlag = 0;} 1359 #if LGE_SDC_REMOVE_DC_E0158 1360 #if SEC_DMM2_E0146 1361 else if( modeCode == 7 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;} 1362 #else 1363 else if( modeCode == 14 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;} 1364 else if( modeCode == 15 ) { dir = (2*DMM2_IDX+DIM_OFFSET); sdcFlag = 0;} 1365 #endif 1366 #else 1300 1367 else if( modeCode == 14 ) { dir = DC_IDX; sdcFlag = 1;} 1368 #if SEC_DMM2_E0146 1369 else if( modeCode == 15 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;} 1370 #else 1301 1371 else if( modeCode == 30 ) { dir = (2* RBC_IDX+DIM_OFFSET); sdcFlag = 0;} 1302 1372 else if( modeCode == 31 ) { dir = (2*DMM2_IDX+DIM_OFFSET); sdcFlag = 0;} 1373 #endif 1374 #endif 1375 #endif 1303 1376 } 1304 1377 pcCU->setLumaIntraDirSubParts( (UChar)dir, absPartIdx, depth ); -
branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecSbac.h
r598 r601 102 102 #if H_3D_DIM_DMM 103 103 Void xParseDmm1WedgeIdx ( UInt& ruiTabIdx, Int iNumBit ); 104 #if !SEC_DMM2_E0146 104 105 Void xParseDmm2Offset ( Int& riOffset ); 106 #endif 105 107 Void xParseDmm3WedgeIdx ( UInt& ruiIntraIdx, Int iNumBit ); 106 108 #endif … … 214 216 #if H_3D_DIM_DMM 215 217 ContextModel3DBuffer m_cDmm1DataSCModel; 218 #if !SEC_DMM2_E0146 216 219 ContextModel3DBuffer m_cDmm2DataSCModel; 220 #endif 217 221 ContextModel3DBuffer m_cDmm3DataSCModel; 218 222 #endif
Note: See TracChangeset for help on using the changeset viewer.