Changeset 878 in 3DVCSoftware for branches/HTM-10.1-dev0/source/Lib/TLibDecoder
- Timestamp:
- 27 Mar 2014, 19:51:52 (11 years ago)
- Location:
- branches/HTM-10.1-dev0/source/Lib/TLibDecoder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecCu.cpp
r877 r878 1119 1119 #if QC_PKU_SDC_SPLIT_G0123 1120 1120 #if HS_TSINGHUA_SDC_SPLIT_G0111 1121 #if QC_GENERIC_SDC_G01221122 1121 TComWedgelet* dmm4SegmentationOrg = new TComWedgelet( uiWidth, uiHeight ); 1123 #endif1124 1122 #else 1125 #if QC_GENERIC_SDC_G01221126 1123 TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight ); 1127 #endif1128 1124 #endif 1129 1125 #endif … … 1210 1206 #endif 1211 1207 #if !QC_PKU_SDC_SPLIT_G0123 1212 #if QC_GENERIC_SDC_G01221213 1208 TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight ); 1214 #endif1215 1209 #endif 1216 1210 #if HS_TSINGHUA_SDC_SPLIT_G0111 … … 1222 1216 { 1223 1217 m_pcPrediction->predIntraLumaDepth( pcCU, uiAbsPartIdx, uiLumaPredMode, piPred, uiStride, uiWidth, uiHeight 1224 #if QC_GENERIC_SDC_G01221225 1218 , false, dmm4Segmentation 1226 #endif1227 1219 ); 1228 1220 #if HS_TSINGHUA_SDC_SPLIT_G0111 … … 1292 1284 uiMaskStride = pcWedgelet->getStride(); 1293 1285 } 1294 #if QC_GENERIC_SDC_G01221295 1286 if( getDimType( uiLumaPredMode ) == DMM4_IDX ) 1296 1287 { … … 1304 1295 #endif 1305 1296 } 1306 #endif1307 1297 // get DC prediction for each segment 1308 1298 Pel apDCPredValues[2]; … … 1366 1356 pRecCr += uiStrideC; 1367 1357 } 1368 #if QC_GENERIC_SDC_G01221369 1358 #if HS_TSINGHUA_SDC_SPLIT_G0111 1370 1359 dmm4SegmentationOrg->destroy(); delete dmm4SegmentationOrg; 1371 1360 #else 1372 1361 dmm4Segmentation->destroy(); delete dmm4Segmentation; 1373 #endif1374 1362 #endif 1375 1363 } -
branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecSbac.cpp
r877 r878 86 86 , m_cDdcFlagSCModel ( 1, 1, NUM_DDC_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 87 87 , m_cDdcDataSCModel ( 1, 1, NUM_DDC_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) 88 #if QC_GENERIC_SDC_G012289 88 , m_cAngleFlagSCModel ( 1, 1, NUM_ANGLE_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 90 #endif91 89 #if H_3D_DIM_DMM 92 90 , m_cDmm1DataSCModel ( 1, 1, NUM_DMM1_DATA_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 172 170 m_cDdcFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DDC_FLAG ); 173 171 m_cDdcDataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DDC_DATA ); 174 #if QC_GENERIC_SDC_G0122175 172 m_cAngleFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_ANGLE_FLAG ); 176 #endif177 173 #if H_3D_DIM_DMM 178 174 m_cDmm1DataSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DMM1_DATA ); … … 244 240 m_cDdcFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_FLAG ); 245 241 m_cDdcDataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DDC_DATA ); 246 #if QC_GENERIC_SDC_G0122247 242 m_cAngleFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_ANGLE_FLAG ); 248 #endif249 243 #if H_3D_DIM_DMM 250 244 m_cDmm1DataSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DMM1_DATA ); … … 1017 1011 } 1018 1012 if( pcCU->getLumaIntraDir( absPartIdx+partOffset*j ) < NUM_INTRA_MODE ) 1019 #if H_3D_DIM_SDC1020 #if QC_GENERIC_SDC_G01221021 if( 1 ) // This should be cleaned up.1022 #else1023 if( !pcCU->getSDCFlag( absPartIdx+partOffset*j ) )1024 #endif1025 #endif1026 1013 { 1027 1014 #endif … … 1039 1026 #if H_3D_DIM 1040 1027 if( pcCU->getLumaIntraDir( absPartIdx+partOffset*j ) < NUM_INTRA_MODE ) 1041 #if H_3D_DIM_SDC1042 #if QC_GENERIC_SDC_G01221043 if( 1 ) // This should be cleaned up.1044 #else1045 if( !pcCU->getSDCFlag( absPartIdx+partOffset*j ) )1046 #endif1047 #endif1048 1028 { 1049 1029 #endif … … 1150 1130 } 1151 1131 1152 #if QC_GENERIC_SDC_G01221153 1132 Void TDecSbac::parseIntraDepthMode( TComDataCU* pcCU, UInt absPartIdx, UInt depth ) 1154 1133 { … … 1180 1159 } 1181 1160 } 1182 #else1183 Void TDecSbac::parseIntraDepthMode( TComDataCU* pcCU, UInt absPartIdx, UInt depth )1184 {1185 UInt puIdx = (pcCU->getWidth(absPartIdx) == 64) ? 2 : ( (pcCU->getPartitionSize(absPartIdx) == SIZE_NxN && pcCU->getWidth(absPartIdx) == 8) ? 0 : 1 );1186 UInt dir = 0;1187 Bool sdcFlag = 0;1188 UInt symbol = 1;1189 UInt modeCode = 0 ;1190 UInt binNum = 0;1191 UInt ctxDepthMode = 0;1192 1193 if( puIdx == 2 )1194 {1195 {1196 ctxDepthMode = puIdx*3 + binNum;1197 m_pcTDecBinIf->decodeBin( symbol, m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode) );1198 modeCode = (modeCode<<1) + symbol;1199 binNum++;1200 }1201 if( modeCode == 0 ) { dir = PLANAR_IDX; sdcFlag = 1;}1202 else if( modeCode == 1 ) { dir = 0; sdcFlag = 0;}1203 }1204 else if( puIdx == 0 )1205 {1206 while( binNum < 1 && symbol )1207 {1208 ctxDepthMode = puIdx*3 + ((binNum >= 2) ? 2 : binNum);1209 m_pcTDecBinIf->decodeBin( symbol, m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode) );1210 modeCode = (modeCode<<1) + symbol;1211 binNum++;1212 }1213 if( modeCode == 0 )1214 {1215 dir = 0;1216 sdcFlag = 0;1217 }1218 else if ( modeCode == 1 )1219 {1220 dir = (2*DMM1_IDX+DIM_OFFSET);1221 sdcFlag = 0;1222 }1223 }1224 else1225 {1226 while( binNum < 4 && symbol )1227 {1228 ctxDepthMode = puIdx*3 + ((binNum >= 2) ? 2 : binNum);1229 m_pcTDecBinIf->decodeBin( symbol, m_cDepthIntraModeSCModel.get(0,0,ctxDepthMode) );1230 modeCode = (modeCode<<1) + symbol;1231 binNum++;1232 }1233 if ( modeCode == 0 ) { dir = PLANAR_IDX; sdcFlag = 1;}1234 else if ( modeCode == 2 ) { dir = 5; sdcFlag = 0;}1235 else if ( modeCode == 6 ) { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 1;}1236 else if ( modeCode == 14 ) { dir = (2*DMM1_IDX+DIM_OFFSET); sdcFlag = 0;}1237 else if ( modeCode == 15 ) { dir = (2*DMM4_IDX+DIM_OFFSET); sdcFlag = 0;}1238 1239 }1240 pcCU->setLumaIntraDirSubParts( (UChar)dir, absPartIdx, depth );1241 #if H_3D_DIM_SDC1242 pcCU->setSDCFlagSubParts( sdcFlag, absPartIdx, depth );1243 #endif1244 }1245 #endif1246 1161 #endif 1247 1162 -
branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecSbac.h
r877 r878 213 213 ContextModel3DBuffer m_cDdcFlagSCModel; 214 214 ContextModel3DBuffer m_cDdcDataSCModel; 215 #if QC_GENERIC_SDC_G0122216 215 ContextModel3DBuffer m_cAngleFlagSCModel; 217 #endif218 216 #if H_3D_DIM_DMM 219 217 ContextModel3DBuffer m_cDmm1DataSCModel;
Note: See TracChangeset for help on using the changeset viewer.