Changeset 769 in 3DVCSoftware for branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp
- Timestamp:
- 13 Jan 2014, 08:05:57 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp
r767 r769 725 725 #endif 726 726 727 #if H_MV 727 728 xCeckNoClrasOutput(); 729 #endif 728 730 // Skip pictures due to random access 729 731 if (isRandomAccessSkipPicture(iSkipFrame, iPOCLastDisplay)) … … 731 733 m_prevSliceSkipped = true; 732 734 m_skippedPOC = m_apcSlicePilot->getPOC(); 733 sliceSkippedFlag = true; 735 #if H_MV 736 sliceSkippedFlag = true; 737 #endif 734 738 return false; 735 739 } … … 739 743 m_prevSliceSkipped = true; 740 744 m_skippedPOC = m_apcSlicePilot->getPOC(); 741 sliceSkippedFlag = true; 745 #if H_MV 746 sliceSkippedFlag = true; 747 #endif 742 748 return false; 743 749 } … … 1273 1279 return true; 1274 1280 } 1281 #if H_MV 1275 1282 else if ( !m_layerInitilizedFlag[ m_layerId ] ) // start of random access point, m_pocRandomAccess has not been set yet. 1283 #else 1284 else if (m_pocRandomAccess == MAX_INT) // start of random access point, m_pocRandomAccess has not been set yet. 1285 #endif 1276 1286 { 1277 1287 if ( m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA … … 1281 1291 { 1282 1292 1293 #if H_MV 1283 1294 if ( xAllRefLayersInitilized() ) 1284 1295 { … … 1290 1301 return true; 1291 1302 } 1303 #else 1304 // set the POC random access since we need to skip the reordered pictures in the case of CRA/CRANT/BLA/BLANT. 1305 m_pocRandomAccess = m_apcSlicePilot->getPOC(); 1306 #endif 1292 1307 } 1293 1308 else if ( m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP ) 1294 1309 { 1310 #if H_MV 1295 1311 if ( xAllRefLayersInitilized() ) 1296 1312 { 1297 1313 m_layerInitilizedFlag[ m_layerId ] = true; 1314 m_pocRandomAccess = -MAX_INT; // no need to skip the reordered pictures in IDR, they are decodable. 1315 } 1316 else 1317 { 1318 return true; 1319 } 1320 #else 1298 1321 m_pocRandomAccess = -MAX_INT; // no need to skip the reordered pictures in IDR, they are decodable. 1322 #endif 1299 1323 } 1300 1324 else 1301 1325 { 1302 return true; 1303 } 1304 } 1305 else 1306 { 1326 #if H_MV_FIX_SKIP_PICTURES 1307 1327 static Bool warningMessage[MAX_NUM_LAYERS]; 1308 1328 static Bool warningInitFlag = false; … … 1322 1342 warningMessage[m_layerId] = false; 1323 1343 } 1344 #else 1345 static Bool warningMessage = false; 1346 if(!warningMessage) 1347 { 1348 printf("\nWarning: this is not a valid random access point and the data is discarded until the first CRA picture"); 1349 warningMessage = true; 1350 } 1351 #endif 1324 1352 return true; 1325 1353 } … … 1331 1359 return true; 1332 1360 } 1361 #if H_MV 1333 1362 return !m_layerInitilizedFlag[ getLayerId() ]; 1363 #else 1364 // if we reach here, then the picture is not skipped. 1365 return false; 1366 #endif 1334 1367 } 1335 1368 … … 1373 1406 } 1374 1407 1408 #if H_MV 1375 1409 Void TDecTop::xCeckNoClrasOutput() 1376 1410 { … … 1407 1441 } 1408 1442 #endif 1443 #endif 1409 1444 //! \}
Note: See TracChangeset for help on using the changeset viewer.