Changeset 1462 in SHVCSoftware
- Timestamp:
- 21 Aug 2015, 18:43:51 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1460 r1462 2485 2485 } 2486 2486 2487 std::vector<Profile::Name> profiles; 2488 2489 if( m_scalabilityMask[VIEW_ORDER_INDEX] ) 2490 { 2491 profiles.push_back( Profile::MULTIVIEWMAIN ); 2492 } 2493 2494 if( m_scalabilityMask[SCALABILITY_ID] ) 2495 { 2496 profiles.push_back( Profile::SCALABLEMAIN ); 2497 } 2498 2487 2499 for( Int olsCtr = 1; olsCtr < m_numOutputLayerSets; olsCtr++ ) 2488 2500 { … … 2517 2529 //If OpTid of the output operation point is equal to vps_max_sub_layer_minus1, the conformance is indicated by general_profile_idc being equal to 7 or general_profile_compatibility_flag[ 7 ] being equal to 1 2518 2530 //The following assert may be updated / upgraded to take care of general_profile_compatibility_flag. 2519 if (m_numAddLayerSets == 0) 2520 { 2521 for ( Int ii = 1; ii < m_numLayerInIdList[olsToLsIndex]; ii++) 2522 { 2523 if (m_layerSetLayerIdList[olsToLsIndex][ii - 1] != 0 && m_layerSetLayerIdList[olsToLsIndex][ii] != 0) //Profile / profile compatibility of enhancement layers must indicate the same profile. 2531 if( olsToLsIndex < m_numLayerSets ) 2532 { 2533 std::vector<UInt> passedCheck(profiles.size(), 0); 2534 UInt numIncludedLayers = 0; 2535 2536 for( Int ii = 1; ii < m_numLayerInIdList[olsToLsIndex]; ii++ ) 2537 { 2538 if( m_layerSetLayerIdList[olsToLsIndex][ii - 1] != 0 && m_layerSetLayerIdList[olsToLsIndex][ii] != 0 ) //Profile / profile compatibility of enhancement layers must indicate the same profile. 2524 2539 { 2525 assert( (m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii]] == m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii - 1]]) || 2526 (m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii]] == m_profileCompatibility[m_listOfLayerPTLofOlss[olsCtr][ii - 1]]) || 2527 (m_profileCompatibility[m_listOfLayerPTLofOlss[olsCtr][ii]] == m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii - 1]]) ); 2540 numIncludedLayers++; 2541 const Profile::Name profileName = m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii]] == Profile::SCALABLEMAIN10 ? Profile::SCALABLEMAIN : m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii]]; 2542 2543 for( Int p = 0; p < profiles.size(); p++ ) 2544 { 2545 passedCheck[p] += profileName == profiles[p] || m_profileCompatibility[Int(profiles[p])]; 2546 } 2528 2547 } 2529 2548 } 2549 2550 // check whether all layers are compatible to at least one extension profile 2551 assert( std::find(passedCheck.begin(), passedCheck.end(), numIncludedLayers) != passedCheck.end() ); 2530 2552 } 2531 2553 }
Note: See TracChangeset for help on using the changeset viewer.