Changeset 1278 in SHVCSoftware
- Timestamp:
- 16 Jul 2015, 03:40:33 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1275 r1278 1318 1318 UChar *buf = new UChar[len]; 1319 1319 1320 UInt64 uiPos = (UInt64) m_apcSlicePilot->getPOC() * uiWidth * uiHeight * 3 / 2;1320 UInt64 uiPos = (UInt64) pcSlice->getPOC() * uiWidth * uiHeight * 3 / 2; 1321 1321 if( is16bit ) 1322 1322 { … … 1410 1410 #endif 1411 1411 1412 if ( m_layerId == 0 && m_apcSlicePilot->getRapPicFlag() && getNoClrasOutputFlag() )1412 if ( m_layerId == 0 && pcSlice->getRapPicFlag() && getNoClrasOutputFlag() ) 1413 1413 { 1414 1414 for (UInt i = 0; i < vps->getMaxLayers(); i++) … … 1425 1425 m_pcPic->setCurrAuFlag( true ); 1426 1426 1427 if( m_pcPic->getLayerId() > 0 && m_apcSlicePilot->isIDR() && !m_nonBaseIdrPresentFlag )1427 if( m_pcPic->getLayerId() > 0 && pcSlice->isIDR() && !m_nonBaseIdrPresentFlag ) 1428 1428 { 1429 1429 // IDR picture with nuh_layer_id > 0 present 1430 1430 m_nonBaseIdrPresentFlag = true; 1431 m_nonBaseIdrType = ( m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL);1431 m_nonBaseIdrType = (pcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL); 1432 1432 } 1433 1433 else 1434 1434 { 1435 if( m_apcSlicePilot->getNalUnitType() != NAL_UNIT_CODED_SLICE_IDR_W_RADL )1435 if( pcSlice->getNalUnitType() != NAL_UNIT_CODED_SLICE_IDR_W_RADL ) 1436 1436 { 1437 1437 // Picture with nal_unit_type not equal IDR_W_RADL present 1438 1438 m_picNonIdrWithRadlPresentFlag = true; 1439 1439 } 1440 if( m_apcSlicePilot->getNalUnitType() != NAL_UNIT_CODED_SLICE_IDR_N_LP )1440 if( pcSlice->getNalUnitType() != NAL_UNIT_CODED_SLICE_IDR_N_LP ) 1441 1441 { 1442 1442 // Picture with nal_unit_type not equal IDR_N_LP present … … 1447 1447 { 1448 1448 m_checkPocRestrictionsForCurrAu = true; 1449 m_pocResetIdcOrCurrAu = m_apcSlicePilot->getPocResetIdc();1449 m_pocResetIdcOrCurrAu = pcSlice->getPocResetIdc(); 1450 1450 if( m_pcPic->getLayerId() == 0 ) 1451 1451 { 1452 1452 // Base layer picture is present 1453 1453 m_baseLayerPicPresentFlag = true; 1454 if( m_apcSlicePilot->isIRAP() )1454 if( pcSlice->isIRAP() ) 1455 1455 { 1456 1456 // Base layer picture is IRAP 1457 1457 m_baseLayerIrapFlag = true; 1458 1458 } 1459 if( m_apcSlicePilot->isIDR() )1459 if( pcSlice->isIDR() ) 1460 1460 { 1461 1461 // Base layer picture is IDR … … 1469 1469 and vps_base_layer_internal_flag is equal to 1, the value of poc_reset_idc shall not be equal to 2 1470 1470 for any picture in the access unit. */ 1471 assert( m_apcSlicePilot->getPocResetIdc() != 2 );1471 assert( pcSlice->getPocResetIdc() != 2 ); 1472 1472 } 1473 1473 } … … 1477 1477 { 1478 1478 // The value of poc_reset_idc of all coded pictures that are present in the bitstream in an access unit shall be the same. 1479 assert( m_pocResetIdcOrCurrAu == m_apcSlicePilot->getPocResetIdc() );1479 assert( m_pocResetIdcOrCurrAu == pcSlice->getPocResetIdc() ); 1480 1480 1481 1481 /* When the picture in an access unit with nuh_layer_id equal to 0 is an IRAP picture and vps_base_layer_internal_flag is equal to 1 1482 1482 and there is at least one other picture in the same access unit that is not an IRAP picture, 1483 1483 the value of poc_reset_idc shall be equal to 1 or 2 for all pictures in the access unit. */ 1484 if( m_baseLayerPicPresentFlag && m_baseLayerIrapFlag && ! m_apcSlicePilot->isIRAP() && vps->getBaseLayerInternalFlag() )1485 { 1486 assert( m_apcSlicePilot->getPocResetIdc() == 1 || m_apcSlicePilot->getPocResetIdc() == 2 );1484 if( m_baseLayerPicPresentFlag && m_baseLayerIrapFlag && !pcSlice->isIRAP() && vps->getBaseLayerInternalFlag() ) 1485 { 1486 assert( pcSlice->getPocResetIdc() == 1 || pcSlice->getPocResetIdc() == 2 ); 1487 1487 } 1488 1488 … … 1490 1490 vps_base_layer_internal_flag is equal to 1 and there is at least one non-IDR picture in the same access unit, 1491 1491 the value of poc_reset_idc shall be equal to 2 for all pictures in the access unit. */ 1492 if( m_baseLayerPicPresentFlag && m_baseLayerIdrFlag && ! m_apcSlicePilot->isIDR() && vps->getBaseLayerInternalFlag() )1493 { 1494 assert( m_apcSlicePilot->getPocResetIdc() == 2 );1492 if( m_baseLayerPicPresentFlag && m_baseLayerIdrFlag && !pcSlice->isIDR() && vps->getBaseLayerInternalFlag() ) 1493 { 1494 assert( pcSlice->getPocResetIdc() == 2 ); 1495 1495 } 1496 1496 … … 1504 1504 )) 1505 1505 { 1506 assert( m_apcSlicePilot->getPocResetIdc() == 1 || m_apcSlicePilot->getPocResetIdc() == 2 );1506 assert( pcSlice->getPocResetIdc() == 1 || pcSlice->getPocResetIdc() == 2 ); 1507 1507 } 1508 1508 }
Note: See TracChangeset for help on using the changeset viewer.