Changeset 1461 in SHVCSoftware
- Timestamp:
- 21 Aug 2015, 02:13:49 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1458 r1461 2892 2892 vps->getProfileLevelTierIdx(0)->push_back( vps->getBaseLayerInternalFlag() && vps->getMaxLayers() > 1 ? 1 : 0); 2893 2893 2894 std::vector<Profile::Name> profiles; 2895 2896 if( vps->getScalabilityMask( VIEW_ORDER_INDEX ) ) 2897 { 2898 profiles.push_back( Profile::MULTIVIEWMAIN ); 2899 } 2900 2901 if( vps->getScalabilityMask( SCALABILITY_ID ) ) 2902 { 2903 profiles.push_back( Profile::SCALABLEMAIN ); 2904 } 2905 2894 2906 for(i = 1; i < numOutputLayerSets; i++) 2895 2907 { … … 2942 2954 2943 2955 vps->getProfileLevelTierIdx(i)->assign(vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet), -1); 2956 2957 std::vector<UInt> passedCheck(profiles.size(), 0); 2958 UInt numIncludedLayers = 0; 2944 2959 2945 2960 for( j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++ ) … … 2961 2976 if( vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j) != 0 && vps->getNecessaryLayerFlag(i, j) ) 2962 2977 { 2963 std::vector<Profile::Name> profiles;2964 2965 if( vps->getScalabilityMask( VIEW_ORDER_INDEX ) )2966 {2967 profiles.push_back( Profile::MULTIVIEWMAIN );2968 }2969 2970 if( vps->getScalabilityMask( SCALABILITY_ID ) )2971 {2972 profiles.push_back( Profile::SCALABLEMAIN );2973 }2974 2975 2978 ProfileTierLevel* ptl = vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL(); 2976 2977 Bool found = false; 2979 numIncludedLayers++; 2980 const Profile::Name profileName = ptl->getProfileIdc() == Profile::SCALABLEMAIN10 ? Profile::SCALABLEMAIN : ptl->getProfileIdc(); 2981 2978 2982 for( Int p = 0; p < profiles.size(); p++ ) 2979 2983 { 2980 found = ptl->getProfileIdc()== profiles[p] || ptl->getProfileCompatibilityFlag(Int(profiles[p]));2984 passedCheck[p] += profileName == profiles[p] || ptl->getProfileCompatibilityFlag(Int(profiles[p])); 2981 2985 } 2982 2983 assert( found );2984 2986 } 2985 2987 } 2986 2988 } 2987 2989 } 2990 2991 // check whether all layers are compatible to at least one extension profile 2992 assert( std::find(passedCheck.begin(), passedCheck.end(), numIncludedLayers) != passedCheck.end() ); 2988 2993 2989 2994 NumOutputLayersInOutputLayerSet[i] = 0;
Note: See TracChangeset for help on using the changeset viewer.