Changeset 866 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibDecoder
- Timestamp:
- 13 Aug 2014, 03:52:31 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp ¶
r865 r866 1374 1374 READ_UVLC( uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 ); 1375 1375 #endif 1376 #if PER_LAYER_PTL 1377 Int const numBitsForPtlIdx = vps->calculateLenOfSyntaxElement( vps->getNumProfileTierLevel() ); 1378 #endif 1376 1379 vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel()); 1377 1380 #if LIST_OF_PTL … … 1472 1475 vps->setOutputLayerFlag(0, 0, true); 1473 1476 vps->deriveNecessaryLayerFlag(0); 1477 #if PER_LAYER_PTL 1478 vps->getProfileLevelTierIdx()->resize(numOutputLayerSets); 1479 vps->getProfileLevelTierIdx(0)->push_back( vps->getBaseLayerInternalFlag() && vps->getMaxLayers() > 1 ? 1 : 0); 1480 #endif 1474 1481 #endif 1475 1482 for(i = 1; i < numOutputLayerSets; i++) … … 1488 1495 vps->setOutputLayerSetIdx( i, i ); 1489 1496 } 1497 Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx(i); 1490 1498 #if Q0078_ADD_LAYER_SETS 1491 1499 if ( i > vps->getVpsNumLayerSetsMinus1() || vps->getDefaultTargetOutputLayerIdc() >= 2 ) … … 1494 1502 #endif 1495 1503 { 1496 Int lsIdx = vps->getOutputLayerSetIdx(i);1497 1504 #if NUM_OL_FLAGS 1498 for(j = 0; j < vps->getNumLayersInIdList(l sIdx); j++)1505 for(j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++) 1499 1506 #else 1500 1507 for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++) … … 1508 1515 // i <= (vps->getNumLayerSets() - 1) 1509 1516 // Assign OutputLayerFlag depending on default_one_target_output_layer_flag 1510 Int lsIdx = i;1511 1517 if( vps->getDefaultTargetOutputLayerIdc() == 1 ) 1512 1518 { 1513 for(j = 0; j < vps->getNumLayersInIdList(l sIdx); j++)1514 { 1515 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(l sIdx)-1)) && (vps->getDimensionId(j,1) == 0) );1519 for(j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++) 1520 { 1521 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet)-1)) && (vps->getDimensionId(j,1) == 0) ); 1516 1522 } 1517 1523 } 1518 1524 else if ( vps->getDefaultTargetOutputLayerIdc() == 0 ) 1519 1525 { 1520 for(j = 0; j < vps->getNumLayersInIdList(l sIdx); j++)1526 for(j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++) 1521 1527 { 1522 1528 vps->setOutputLayerFlag(i, j, 1); … … 1527 1533 vps->deriveNecessaryLayerFlag(i); 1528 1534 #endif 1535 #if PER_LAYER_PTL 1536 vps->getProfileLevelTierIdx(i)->assign(vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet), -1); 1537 for(j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet) ; j++) 1538 { 1539 if( vps->getNecessaryLayerFlag(i, j) ) 1540 { 1541 READ_CODE( numBitsForPtlIdx, uiCode, "profile_level_tier_idx[i]" ); 1542 vps->setProfileLevelTierIdx(i, j, uiCode ); 1543 } 1544 } 1545 #else 1529 1546 Int numBits = 1; 1530 1547 while ((1 << numBits) < (vps->getNumProfileTierLevel())) … … 1533 1550 } 1534 1551 READ_CODE( numBits, uiCode, "profile_level_tier_idx[i]" ); vps->setProfileLevelTierIdx(i, uiCode); 1552 #endif 1535 1553 #if P0300_ALT_OUTPUT_LAYER_FLAG 1536 1554 NumOutputLayersInOutputLayerSet[i] = 0; 1537 Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx(i);1538 1555 for (j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++) 1539 1556 {
Note: See TracChangeset for help on using the changeset viewer.