Changeset 1252 in SHVCSoftware
- Timestamp:
- 14 Jul 2015, 01:49:50 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1246 r1252 92 92 MAIN_444_10_INTRA = 2310, 93 93 MAIN_444_12_INTRA = 2312, 94 MAIN_444_16_INTRA = 2316, 95 94 MAIN_444_16_INTRA = 2316 96 95 }; 97 96 … … 226 225 } 227 226 in>>entry.m_interRPSPrediction; 228 #if AUTO_INTER_RPS229 227 if (entry.m_interRPSPrediction==1) 230 228 { … … 240 238 in>>entry.m_deltaRPS; 241 239 } 242 #else243 if (entry.m_interRPSPrediction)244 {245 in>>entry.m_deltaRPS;246 in>>entry.m_numRefIdc;247 for ( Int i = 0; i < entry.m_numRefIdc; i++ )248 {249 in>>entry.m_refIdc[i];250 }251 }252 #endif253 240 return in; 254 241 } … … 2646 2633 fclose(fpt); 2647 2634 } 2648 } 2635 } 2649 2636 #endif 2650 2637 … … 3375 3362 memset( m_extraRPSs, 0, sizeof( m_extraRPSs ) ); 3376 3363 #else 3377 m_extraRPSs=0; 3364 m_extraRPSs=0; 3378 3365 #endif 3379 3366 -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1246 r1252 263 263 264 264 #define WRITE_BACK 1 ///< Enable/disable the encoder to replace the deltaPOC and Used by current from the config file with the values derived by the refIdc parameter. 265 #define AUTO_INTER_RPS 1 ///< Enable/disable the automatic generation of refIdc from the deltaPOC and Used by current from the config file.266 265 #define PRINT_RPS_INFO 0 ///< Enable/disable the printing of bits used to send the RPS. 267 266 // using one nearest frame as reference frame, and the other frames are high quality (POC%4==0) frames (1+X) -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h
r1246 r1252 61 61 Int m_referencePics[MAX_NUM_REF_PICS]; 62 62 Int m_usedByCurrPic[MAX_NUM_REF_PICS]; 63 #if AUTO_INTER_RPS64 63 Int m_interRPSPrediction; 65 #else66 Bool m_interRPSPrediction;67 #endif68 64 Int m_deltaRPS; 69 65 Int m_numRefIdc; -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1249 r1252 821 821 } 822 822 823 824 823 Void TEncTop::xInitSPS() 825 824 { … … 934 933 m_cSPS.setTemporalIdNestingFlag( ( m_maxTempLayer == 1 ) ? true : false ); 935 934 936 for ( 935 for (Int i = 0; i < min(m_cSPS.getMaxTLayers(),(UInt) MAX_TLAYER); i++ ) 937 936 { 938 937 #if SVC_EXTENSION … … 1222 1221 1223 1222 // handle inter RPS intialization from the config file. 1224 #if AUTO_INTER_RPS1225 1223 rps->setInterRPSPrediction(ge.m_interRPSPrediction > 0); // not very clean, converting anything > 0 to true. 1226 1224 rps->setDeltaRIdxMinus1(0); // index to the Reference RPS is always the previous one. … … 1266 1264 } 1267 1265 #if WRITE_BACK 1268 // the fol owing code overwrite the deltaPOC and Used by current values read from the config file with the ones1266 // the following code overwrite the deltaPOC and Used by current values read from the config file with the ones 1269 1267 // computed from the RefIdc. A warning is printed if they are not identical. 1270 1268 numNeg = 0; … … 1321 1319 #endif 1322 1320 } 1323 #else1324 rps->setInterRPSPrediction(ge.m_interRPSPrediction);1325 if (ge.m_interRPSPrediction)1326 {1327 rps->setDeltaRIdxMinus1(0);1328 rps->setDeltaRPS(ge.m_deltaRPS);1329 rps->setNumRefIdc(ge.m_numRefIdc);1330 for (Int j = 0; j < ge.m_numRefIdc; j++ )1331 {1332 rps->setRefIdc(j, ge.m_refIdc[j]);1333 }1334 #if WRITE_BACK1335 // the folowing code overwrite the deltaPOC and Used by current values read from the config file with the ones1336 // computed from the RefIdc. This is not necessary if both are identical. Currently there is no check to see if they are identical.1337 numNeg = 0;1338 numPos = 0;1339 TComReferencePictureSet* RPSRef = m_RPSList.getReferencePictureSet(i-1);1340 1341 for (Int j = 0; j < ge.m_numRefIdc; j++ )1342 {1343 if (ge.m_refIdc[j])1344 {1345 Int deltaPOC = ge.m_deltaRPS + ((j < RPSRef->getNumberOfPictures())? RPSRef->getDeltaPOC(j) : 0);1346 rps->setDeltaPOC((numNeg+numPos),deltaPOC);1347 rps->setUsed((numNeg+numPos),ge.m_refIdc[j]==1?1:0);1348 if (deltaPOC<0)1349 {1350 numNeg++;1351 }1352 else1353 {1354 numPos++;1355 }1356 }1357 }1358 rps->setNumberOfNegativePictures(numNeg);1359 rps->setNumberOfPositivePictures(numPos);1360 rps->sortDeltaPOC();1361 #endif1362 }1363 #endif //INTER_RPS_AUTO1364 1321 } 1365 1322 //In case of field coding, we need to set special parameters for the first bottom field of the sequence, since it is not specified in the cfg file.
Note: See TracChangeset for help on using the changeset viewer.