Changeset 1182 in SHVCSoftware for branches/SHM-dev/source
- Timestamp:
- 8 Jul 2015, 03:09:51 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1172 r1182 65 65 MAINREXT = 4, 66 66 HIGHTHROUGHPUTREXT = 5, // Placeholder profile for development 67 #if MULTIPLE_PTL_SUPPORT67 #if SVC_EXTENSION 68 68 MULTIVIEWMAIN = 6, 69 69 SCALABLEMAIN = 7, … … 307 307 {"main-RExt", Profile::MAINREXT }, 308 308 {"high-throughput-RExt", Profile::HIGHTHROUGHPUTREXT }, 309 #if MULTIPLE_PTL_SUPPORT309 #if SVC_EXTENSION 310 310 {"multiview-main", Profile::MULTIVIEWMAIN }, //This is not used in this software 311 311 {"scalable-main", Profile::SCALABLEMAIN }, … … 346 346 {"main_444_12_intra", MAIN_444_12_INTRA}, 347 347 {"main_444_16_intra", MAIN_444_16_INTRA}, 348 #if MULTIPLE_PTL_SUPPORT348 #if SVC_EXTENSION 349 349 {"multiview-main", MULTIVIEWMAIN }, 350 350 {"scalable-main", SCALABLEMAIN }, … … 495 495 } 496 496 497 #if MULTIPLE_PTL_SUPPORT497 #if SVC_EXTENSION 498 498 namespace Profile 499 499 { … … 835 835 Int* cfg_layerSwitchOffEnd[MAX_LAYERS]; 836 836 837 #if MULTIPLE_PTL_SUPPORT838 837 Bool tmpIntraConstraintFlag; 839 838 Bool tmpLowerBitRateConstraintFlag; 840 839 UInt tmpBitDepthConstraint; 841 840 Int* cfg_layerPTLIdx[MAX_VPS_LAYER_IDX_PLUS1]; 842 #endif 843 844 for(UInt layer = 0; layer < MAX_LAYERS; layer++) 841 842 for( UInt layer = 0; layer < MAX_LAYERS; layer++ ) 845 843 { 846 844 cfg_InputFile[layer] = &m_acLayerCfg[layer].m_cInputFile; … … 931 929 cfg_layerSwitchOffBegin[layer] = &m_acLayerCfg[layer].m_layerSwitchOffBegin; 932 930 cfg_layerSwitchOffEnd[layer] = &m_acLayerCfg[layer].m_layerSwitchOffEnd; 933 #if MULTIPLE_PTL_SUPPORT934 931 cfg_layerPTLIdx[layer] = &m_acLayerCfg[layer].m_layerPTLIdx; 935 #endif936 932 } 937 933 … … 954 950 string* cfg_listOfOutputLayers = new string[MAX_VPS_OUTPUT_LAYER_SETS_PLUS1]; 955 951 string* cfg_outputLayerSetIdx = new string; 956 #if MULTIPLE_PTL_SUPPORT957 952 string* cfg_listOfLayerPTLOfOlss = new string[MAX_VPS_OUTPUT_LAYER_SETS_PLUS1]; 958 #endif959 953 #if AVC_BASE 960 954 string cfg_BLInputFile; … … 978 972 Int tmpConstraintChromaFormat; 979 973 string inputColourSpaceConvert; 980 #if MULTIPLE_PTL_SUPPORT974 #if SVC_EXTENSION 981 975 ExtendedProfileName extendedProfile[MAX_NUM_LAYER_IDS + 1]; 982 976 #else … … 1207 1201 1208 1202 // Profile and level 1209 #if MULTIPLE_PTL_SUPPORT1203 #if SVC_EXTENSION 1210 1204 ("NumProfileTierLevel", m_numPTLInfo, 1, "Number of Profile, Tier and Level information") 1211 1205 ("Profile%d", extendedProfile, NONE, (MAX_NUM_LAYER_IDS + 1), "Profile name to use for encoding. Use main (for main), main10 (for main10), main-still-picture, main-RExt (for Range Extensions profile), any of the RExt specific profile names, or none") … … 1876 1870 1877 1871 #if SVC_EXTENSION 1878 for (Int layer = 0; layer < MAX_LAYERS; layer++)1879 { 1880 if (m_acLayerCfg[layer].m_layerSwitchOffBegin < m_acLayerCfg[layer].m_layerSwitchOffEnd)1881 { 1882 if (m_iGOPSize > 0 && (m_acLayerCfg[layer].m_layerSwitchOffBegin % m_iGOPSize) != 0)1872 for( Int layer = 0; layer < MAX_LAYERS; layer++) 1873 { 1874 if( m_acLayerCfg[layer].m_layerSwitchOffBegin < m_acLayerCfg[layer].m_layerSwitchOffEnd ) 1875 { 1876 if( m_iGOPSize > 0 && (m_acLayerCfg[layer].m_layerSwitchOffBegin % m_iGOPSize) != 0 ) 1883 1877 { 1884 1878 printf("LayerSwitchOffBegin%d: Must be multiple of GOP size.\n", layer); 1885 1879 exit(EXIT_FAILURE); 1886 1880 } 1887 if (m_acLayerCfg[layer].m_iIntraPeriod > 0 && (m_acLayerCfg[layer].m_layerSwitchOffEnd % m_acLayerCfg[layer].m_iIntraPeriod) != 0)1881 if( m_acLayerCfg[layer].m_iIntraPeriod > 0 && (m_acLayerCfg[layer].m_layerSwitchOffEnd % m_acLayerCfg[layer].m_iIntraPeriod) != 0 ) 1888 1882 { 1889 1883 printf("LayerSwitchOffEnd%d: Must be IRAP picture.\n", layer); … … 1891 1885 } 1892 1886 } 1893 } 1894 #endif 1895 1896 #if MULTIPLE_PTL_SUPPORT 1897 for( Int layer = 0; layer < MAX_LAYERS; layer++ ) 1898 { 1887 1899 1888 m_acLayerCfg[layer].m_bitDepthConstraint = tmpBitDepthConstraint; 1900 1889 m_acLayerCfg[layer].m_intraConstraintFlag = tmpIntraConstraintFlag; … … 2006 1995 } 2007 1996 2008 #if SVC_EXTENSION2009 ChromaFormat m_chromaFormatIDC = m_acLayerCfg[0].m_chromaFormatIDC;2010 #endif2011 2012 1997 if (m_profile == Profile::HIGHTHROUGHPUTREXT ) 2013 1998 { … … 2019 2004 if (m_bitDepthConstraint == 0 && tmpConstraintChromaFormat == 0) 2020 2005 { 2021 #if SVC_EXTENSION2022 Bool m_useExtendedPrecision = m_acLayerCfg[0].m_useExtendedPrecision;2023 Int m_internalBitDepth[] = {m_acLayerCfg[0].m_internalBitDepth[CHANNEL_TYPE_LUMA], m_acLayerCfg[0].m_internalBitDepth[CHANNEL_TYPE_CHROMA]};2024 ChromaFormat m_chromaFormatIDC = m_acLayerCfg[0].m_chromaFormatIDC;2025 #endif2026 2006 // produce a valid combination, if possible. 2027 2007 const Bool bUsingGeneralRExtTools = m_useResidualRotation || … … 2066 2046 for(Int layer = 0; layer < MAX_LAYERS; layer++) 2067 2047 { 2068 #if !MULTIPLE_PTL_SUPPORT2069 m_acLayerCfg[layer].m_chromaFormatConstraint = m_chromaFormatConstraint;2070 m_acLayerCfg[layer].m_bitDepthConstraint = m_bitDepthConstraint;2071 #endif2072 2073 2048 // If number of scaled ref. layer offsets is non-zero, at least one of the offsets should be specified 2074 2049 if(m_acLayerCfg[layer].m_numRefLayerLocationOffsets) … … 2464 2439 scanStringToArray( *cfg_numOutputLayersInOutputLayerSet, m_numOutputLayerSets - 1, "NumOutputLayersInOutputLayerSets", m_numOutputLayersInOutputLayerSet ); 2465 2440 m_numOutputLayersInOutputLayerSet.insert(m_numOutputLayersInOutputLayerSet.begin(), 1); 2441 2466 2442 // Layers in the output layer set 2467 2443 m_listOfOutputLayers.resize(m_numOutputLayerSets); 2468 2469 #if MULTIPLE_PTL_SUPPORT2470 2444 m_listOfLayerPTLofOlss.resize(m_numOutputLayerSets); 2471 #endif2472 2445 2473 2446 Int startOlsCtr = 1; … … 2477 2450 startOlsCtr = m_numLayerSets; 2478 2451 } 2452 2479 2453 for( Int olsCtr = 1; olsCtr < m_numOutputLayerSets; olsCtr++ ) 2480 2454 { … … 2490 2464 assert( scanStringToArray( cfg_listOfOutputLayers[olsCtr], m_numOutputLayersInOutputLayerSet[olsCtr], "ListOfOutputLayers", m_listOfOutputLayers[olsCtr] ) ); 2491 2465 } 2492 #if MULTIPLE_PTL_SUPPORT 2466 2493 2467 Int olsToLsIndex = (olsCtr >= (m_numLayerSets + m_numAddLayerSets)) ? m_outputLayerSetIdx[olsCtr - (m_numLayerSets + m_numAddLayerSets)] : olsCtr; 2494 2468 2495 2469 // This is a fix to allow setting of PTL for additional layer sets 2496 if (olsCtr >= m_numLayerSets && olsCtr < (m_numLayerSets + m_numAddLayerSets))2470 if( olsCtr >= m_numLayerSets && olsCtr < (m_numLayerSets + m_numAddLayerSets) ) 2497 2471 { 2498 2472 scanStringToArrayNumEntries(cfg_listOfLayerPTLOfOlss[olsCtr], m_numLayerInIdList[olsToLsIndex], "List of PTL for each layers in OLS", m_listOfLayerPTLofOlss[olsCtr]); … … 2521 2495 } 2522 2496 } 2523 #endif 2524 } 2525 #if MULTIPLE_PTL_SUPPORT 2497 } 2498 2526 2499 m_listOfLayerPTLofOlss[0].push_back(*cfg_layerPTLIdx[0]); 2527 2500 delete [] cfg_listOfLayerPTLOfOlss; 2528 #endif2529 2501 delete cfg_numOutputLayersInOutputLayerSet; 2530 2502 delete [] cfg_listOfOutputLayers; … … 2905 2877 m_saoOffsetBitShift[CHANNEL_TYPE_CHROMA] = m_acLayerCfg[layerIdx].m_saoOffsetBitShift[CHANNEL_TYPE_CHROMA]; 2906 2878 2907 #if MULTIPLE_PTL_SUPPORT2908 2879 Int layerPTLIdx = m_acLayerCfg[layerIdx].m_layerPTLIdx; 2909 2880 Profile::Name m_profile = m_profileList[layerPTLIdx]; … … 2911 2882 Bool m_intraConstraintFlag = m_acLayerCfg[layerIdx].m_intraConstraintFlag; 2912 2883 Bool m_lowerBitRateConstraintFlag = m_acLayerCfg[layerIdx].m_lowerBitRateConstraintFlag; 2913 #endif2914 2884 #else 2915 2885 Void TAppEncCfg::xCheckParameter() … … 2925 2895 fprintf(stderr, "******************************************************************\n"); 2926 2896 } 2927 #if SVC_EXTENSION && MULTIPLE_PTL_SUPPORT2897 #if SVC_EXTENSION 2928 2898 Int ii = 0; 2929 2899 while( ii < m_numPTLInfo ) … … 3019 2989 else 3020 2990 { 3021 #if MULTIPLE_PTL_SUPPORT2991 #if SVC_EXTENSION 3022 2992 xConfirmPara(m_bitDepthConstraint!=((m_profile==Profile::MAIN10 || m_profile==Profile::SCALABLEMAIN10)?10:8), "BitDepthConstraint must be 8 for MAIN profile and 10 for MAIN10 or Scalable-main10 profile."); 3023 2993 #else … … 4434 4404 printf("Frame index : %u - %d (%d frames)\n", m_FrameSkip, m_FrameSkip+m_framesToBeEncoded-1, m_framesToBeEncoded ); 4435 4405 } 4436 #if ! MULTIPLE_PTL_SUPPORT4406 #if !SVC_EXTENSION 4437 4407 if (m_profile == Profile::MAINREXT) 4438 4408 { -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1172 r1182 124 124 Bool m_cabacZeroWordPaddingEnabled; 125 125 126 #if MULTIPLE_PTL_SUPPORT126 #if SVC_EXTENSION 127 127 Int m_numPTLInfo; 128 128 Profile::Name m_profileList[MAX_NUM_LAYER_IDS + 1]; -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp
r1147 r1182 220 220 #endif 221 221 printf("Internal Format : %dx%d %dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate ); 222 #if MULTIPLE_PTL_SUPPORT223 222 printf("PTL index : %d\n", m_layerPTLIdx ); 224 #endif225 223 #if O0194_DIFFERENT_BITDEPTH_EL_BL 226 224 printf("Input bit depth : (Y:%d, C:%d)\n", m_inputBitDepth[CHANNEL_TYPE_LUMA], m_inputBitDepth[CHANNEL_TYPE_CHROMA] ); -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h
r1149 r1182 147 147 Int m_layerSwitchOffEnd; 148 148 149 #if MULTIPLE_PTL_SUPPORT150 149 // profile/level 151 150 Int m_layerPTLIdx; 152 #endif153 151 154 152 public: -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1173 r1182 193 193 #endif 194 194 195 #if MULTIPLE_PTL_SUPPORT196 195 //Populate PTL in VPS 197 196 TComVPS *pVPS = m_acTEncTop[0].getVPS(); … … 209 208 pVPS->setNumProfileTierLevel(m_numPTLInfo); 210 209 211 std::vector< int> myvector;210 std::vector<Int> myvector; 212 211 vps->getProfileLevelTierIdx()->resize(m_numOutputLayerSets); 213 for (int ii = 0; ii < m_numOutputLayerSets; ii++)212 for( Int ii = 0; ii < m_numOutputLayerSets; ii++ ) 214 213 { 215 214 myvector = m_listOfLayerPTLofOlss[ii]; 216 215 217 for (std::vector<int>::iterator it = myvector.begin() ; it != myvector.end(); ++it)216 for( std::vector<Int>::iterator it = myvector.begin() ; it != myvector.end(); ++it ) 218 217 { 219 218 pVPS->addProfileLevelTierIdx(ii, it[0]); 220 219 } 221 220 } 222 #endif223 221 224 222 assert( m_numLayers <= MAX_LAYERS ); … … 243 241 #endif 244 242 245 #if MULTIPLE_PTL_SUPPORT246 243 Int layerPTLIdx = m_acLayerCfg[layer].m_layerPTLIdx; 247 244 m_acTEncTop[layer].setProfile ( m_profileList[layerPTLIdx] ); … … 255 252 m_acTEncTop[layer].setIntraConstraintFlag ( m_acLayerCfg[layer].m_intraConstraintFlag ); 256 253 m_acTEncTop[layer].setLowerBitRateConstraintFlag ( m_acLayerCfg[layer].m_lowerBitRateConstraintFlag ); 257 #else258 m_acTEncTop[layer].setProfile ( m_profile );259 m_acTEncTop[layer].setLevel ( m_levelTier, m_level );260 m_acTEncTop[layer].setProgressiveSourceFlag ( m_progressiveSourceFlag );261 m_acTEncTop[layer].setInterlacedSourceFlag ( m_interlacedSourceFlag );262 m_acTEncTop[layer].setNonPackedConstraintFlag ( m_nonPackedConstraintFlag );263 m_acTEncTop[layer].setFrameOnlyConstraintFlag ( m_frameOnlyConstraintFlag );264 m_acTEncTop[layer].setBitDepthConstraintValue ( m_bitDepthConstraint );265 m_acTEncTop[layer].setChromaFormatConstraintValue ( m_acLayerCfg[layer].m_chromaFormatConstraint );266 m_acTEncTop[layer].setIntraConstraintFlag ( m_intraConstraintFlag );267 m_acTEncTop[layer].setLowerBitRateConstraintFlag ( m_lowerBitRateConstraintFlag );268 #endif269 254 270 255 m_acTEncTop[layer].setPrintMSEBasedSequencePSNR ( m_printMSEBasedSequencePSNR); … … 1555 1540 vps->deriveNecessaryLayerFlag(); 1556 1541 vps->checkNecessaryLayerFlagCondition(); 1557 1558 #if !MULTIPLE_PTL_SUPPORT1559 vps->getProfileLevelTierIdx()->resize(vps->getNumOutputLayerSets());1560 vps->getProfileLevelTierIdx(0)->push_back( vps->getBaseLayerInternalFlag() && vps->getMaxLayers() > 1 ? 1 : 0 ); // Default 0-th output layer set1561 for(i = 1; i < vps->getNumOutputLayerSets(); i++)1562 {1563 Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i );1564 Int numLayerInLayerSet = vps->getNumLayersInIdList( layerSetIdxForOutputLayerSet );1565 for(Int j = 0; j < numLayerInLayerSet; j++)1566 {1567 Int layerIdxInVps = vps->getLayerIdxInVps( vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j) );1568 if( vps->getNecessaryLayerFlag(i, j) )1569 {1570 vps->getProfileLevelTierIdx(i)->push_back( vps->getBaseLayerInternalFlag() && vps->getMaxLayers() > 1 ? layerIdxInVps + 1 : layerIdxInVps);1571 }1572 else1573 {1574 vps->getProfileLevelTierIdx(i)->push_back( -1 );1575 }1576 }1577 }1578 #endif1579 1580 1542 vps->calculateMaxSLInLayerSets(); 1581 1543 1582 1544 // Initialize dpb_size_table() for all ouput layer sets in the VPS extension 1583 for( i = 1; i < vps->getNumOutputLayerSets(); i++)1545 for( i = 1; i < vps->getNumOutputLayerSets(); i++ ) 1584 1546 { 1585 1547 Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i ); … … 1601 1563 } 1602 1564 #endif 1565 1603 1566 vps->setMaxOneActiveRefLayerFlag(maxDirectRefLayers > 1 ? false : true); 1604 1567 #if O0062_POC_LSB_NOT_PRESENT_FLAG -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1180 r1182 582 582 UInt m_numOpSets; 583 583 Bool m_layerIdIncludedFlag[MAX_VPS_OP_SETS_PLUS1][MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1]; 584 #endif585 #if !MULTIPLE_PTL_SUPPORT586 584 TComPTL m_pcPTL; 587 585 #endif … … 591 589 Bool m_baseLayerInternalFlag; 592 590 Bool m_baseLayerAvailableFlag; 593 #if MULTIPLE_PTL_SUPPORT594 591 TComPTL m_pcPTLList[MAX_NUM_LAYER_IDS + 1]; 595 #endif596 592 597 593 std::vector< std::vector<Int> > m_layerSetLayerIdList; … … 623 619 // Profile-tier-level signalling related 624 620 Bool m_profilePresentFlag[MAX_VPS_LAYER_SETS_PLUS1]; // The value with index 0 will not be used. 625 #if ! MULTIPLE_PTL_SUPPORT621 #if !SVC_EXTENSION 626 622 std::vector<TComPTL> m_pcPTLForExtn; 627 623 #endif … … 811 807 Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id) { m_layerIdIncludedFlag[opsIdx][id] = v; } 812 808 813 #if ! MULTIPLE_PTL_SUPPORT809 #if !SVC_EXTENSION 814 810 TComPTL* getPTL() { return &m_pcPTL; } 815 811 #endif … … 847 843 } 848 844 #endif 849 #if MULTIPLE_PTL_SUPPORT 850 TComPTL* getPTL() { return &m_pcPTLList[0]; } 851 TComPTL* getPTL(UInt idx) { return &m_pcPTLList[idx]; } 852 #endif 845 TComPTL* getPTL() { return &m_pcPTLList[0]; } 846 TComPTL* getPTL(UInt idx) { return &m_pcPTLList[idx]; } 847 853 848 Int getLayerSetLayerIdList(Int set, Int layerId) { return m_layerSetLayerIdList[set][layerId]; } 854 849 Void setLayerSetLayerIdList(Int set, Int layerId, Int x) { m_layerSetLayerIdList[set][layerId] = x; } … … 928 923 Void setProfilePresentFlag(Int id, Bool x) { m_profilePresentFlag[id] = x; } 929 924 930 #if !MULTIPLE_PTL_SUPPORT931 std::vector<TComPTL>* getPTLForExtnPtr() { return &m_pcPTLForExtn; }932 TComPTL* getPTLForExtn(Int id) { return &m_pcPTLForExtn[id]; }933 #endif934 925 // Target output layer signalling related 935 926 UInt getNumOutputLayerSets() { return m_numOutputLayerSets; } … … 976 967 Int getProfileLevelTierIdx(Int const olsIdx, Int const layerIdx) { return m_profileLevelTierIdx[olsIdx][layerIdx]; } 977 968 Void setProfileLevelTierIdx(Int const olsIdx, Int const layerIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx][layerIdx] = ptlIdx; } 978 #if MULTIPLE_PTL_SUPPORT979 969 Void addProfileLevelTierIdx(Int const olsIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx].push_back(ptlIdx); } 980 #endif981 970 Int calculateLenOfSyntaxElement( Int const numVal ); 982 971 -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1181 r1182 117 117 #define O0062_POC_LSB_NOT_PRESENT_FLAG 1 ///< JCTVC-O0062: signal poc_lsb_not_present_flag for each layer in VPS extension 118 118 119 #define MULTIPLE_PTL_SUPPORT 1 ///< Profile, tier and level signalling120 121 119 #define VPS_DPB_SIZE_TABLE 1 ///< JCTVC-O0217: DPB operations: signaling DPB-related parameters 122 120 123 #define DPB_PARAMS_MAXTLAYERS 1 ///< JCTVC-P0156 DPB parameters up to maximum temporal sub-layers in the layer set124 121 #define NO_CLRAS_OUTPUT_FLAG 1 125 122 … … 783 780 MAINREXT = 4, 784 781 HIGHTHROUGHPUTREXT = 5, 785 #if MULTIPLE_PTL_SUPPORT782 #if SVC_EXTENSION 786 783 MULTIVIEWMAIN = 6, 787 784 SCALABLEMAIN = 7, -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1180 r1182 2109 2109 for (Int i = 0; i < maxNumSubLayersMinus1; i++) 2110 2110 { 2111 #if MULTIPLE_PTL_SUPPORT2111 #if SVC_EXTENSION 2112 2112 READ_FLAG( uiCode, "sub_layer_profile_present_flag[i]" ); rpcPTL->setSubLayerProfilePresentFlag(i, uiCode); 2113 2113 #else … … 2131 2131 for(Int i = 0; i < maxNumSubLayersMinus1; i++) 2132 2132 { 2133 #if MULTIPLE_PTL_SUPPORT2133 #if SVC_EXTENSION 2134 2134 if( rpcPTL->getSubLayerProfilePresentFlag(i) ) 2135 2135 #else … … 2183 2183 READ_FLAG( uiCode, "general_one_picture_only_constraint_flag"); 2184 2184 READ_FLAG( uiCode, "general_lower_bit_rate_constraint_flag"); ptl->setLowerBitRateConstraintFlag(uiCode != 0); 2185 #if MULTIPLE_PTL_SUPPORT2185 #if SVC_EXTENSION 2186 2186 READ_CODE(32, uiCode, "general_reserved_zero_34bits"); READ_CODE(2, uiCode, "general_reserved_zero_34bits"); 2187 2187 } … … 2662 2662 { 2663 2663 vps->setProfilePresentFlag(1, false); 2664 #if MULTIPLE_PTL_SUPPORT2665 2664 parsePTL( vps->getPTL(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 ); 2666 #else2667 vps->getPTLForExtnPtr()->empty();2668 vps->getPTLForExtnPtr()->resize(2);2669 vps->getPTLForExtn(1)->copyProfileInfo( vps->getPTL() );2670 parsePTL( vps->getPTLForExtn(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 );2671 #endif2672 2665 } 2673 2666 … … 2857 2850 2858 2851 Int const numBitsForPtlIdx = vps->calculateLenOfSyntaxElement( vps->getNumProfileTierLevel() ); 2859 #if !MULTIPLE_PTL_SUPPORT 2860 vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel()); 2861 #endif 2862 2863 for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx < vps->getNumProfileTierLevel(); idx++) 2852 2853 for( Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx < vps->getNumProfileTierLevel(); idx++ ) 2864 2854 { 2865 2855 READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); vps->setProfilePresentFlag(idx, uiCode ? true : false); 2856 2866 2857 if( !vps->getProfilePresentFlag(idx) ) 2867 2858 { 2868 2859 // Copy profile information from previous one 2869 #if MULTIPLE_PTL_SUPPORT2870 2860 vps->getPTL(idx)->copyProfileInfo( vps->getPTL( idx - 1 ) ); 2871 #else 2872 vps->getPTLForExtn(idx)->copyProfileInfo( (idx==1) ? vps->getPTL() : vps->getPTLForExtn( idx - 1 ) ); 2873 #endif 2874 } 2875 #if MULTIPLE_PTL_SUPPORT 2861 } 2862 2876 2863 parsePTL( vps->getPTL(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 2877 #else2878 parsePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );2879 #endif2880 2864 } 2881 2865 … … 2952 2936 2953 2937 vps->getProfileLevelTierIdx(i)->assign(vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet), -1); 2954 for(j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet) ; j++) 2938 2939 for( j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); j++ ) 2955 2940 { 2956 2941 if( vps->getNecessaryLayerFlag(i, j) && (vps->getNumProfileTierLevel()-1) > 0 ) … … 2959 2944 vps->setProfileLevelTierIdx(i, j, uiCode ); 2960 2945 2961 #if MULTIPLE_PTL_SUPPORT2962 2946 //For conformance checking 2963 2947 //Conformance of a layer in an output operation point associated with an OLS in a bitstream to the Scalable Main profile is indicated as follows: … … 2977 2961 } 2978 2962 } 2979 #endif2980 2963 } 2981 2964 } -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1180 r1182 1333 1333 for (Int i = 0; i < maxNumSubLayersMinus1; i++) 1334 1334 { 1335 #if MULTIPLE_PTL_SUPPORT1335 #if SVC_EXTENSION 1336 1336 WRITE_FLAG( pcPTL->getSubLayerProfilePresentFlag(i), "sub_layer_profile_present_flag[i]" ); 1337 1337 #else … … 1355 1355 for(Int i = 0; i < maxNumSubLayersMinus1; i++) 1356 1356 { 1357 #if MULTIPLE_PTL_SUPPORT1357 #if SVC_EXTENSION 1358 1358 if( pcPTL->getSubLayerProfilePresentFlag(i) ) 1359 1359 #else … … 1373 1373 WRITE_CODE( ptl->getProfileSpace(), 2 , "XXX_profile_space[]"); 1374 1374 WRITE_FLAG( ptl->getTierFlag()==Level::HIGH, "XXX_tier_flag[]" ); 1375 #if MULTIPLE_PTL_SUPPORT1375 #if SVC_EXTENSION 1376 1376 WRITE_CODE( (ptl->getProfileIdc() == Profile::SCALABLEMAIN || ptl->getProfileIdc() == Profile::SCALABLEMAIN10) ? 7 : Int(ptl->getProfileIdc()), 5 , "XXX_profile_idc[]" ); 1377 1377 #else … … 1401 1401 WRITE_FLAG(0, "general_one_picture_only_constraint_flag"); 1402 1402 WRITE_FLAG(ptl->getLowerBitRateConstraintFlag(), "general_lower_bit_rate_constraint_flag"); 1403 #if MULTIPLE_PTL_SUPPORT1403 #if SVC_EXTENSION 1404 1404 WRITE_CODE(0, 32, "general_reserved_zero_34bits"); WRITE_CODE(0, 2, "general_reserved_zero_34bits"); 1405 1405 } … … 1977 1977 if( vps->getMaxLayers() > 1 && vps->getBaseLayerInternalFlag() ) 1978 1978 { 1979 #if MULTIPLE_PTL_SUPPORT1980 1979 codePTL( vps->getPTL(1), false, vps->getMaxTLayers() - 1 ); 1981 #else1982 codePTL( vps->getPTLForExtn(1), false, vps->getMaxTLayers() - 1 );1983 #endif1984 1980 } 1985 1981 … … 2112 2108 Int const numBitsForPtlIdx = vps->calculateLenOfSyntaxElement( vps->getNumProfileTierLevel() ); 2113 2109 2114 #if MULTIPLE_PTL_SUPPORT2115 2110 //Do something here to make sure the loop is correct to consider base layer internal stuff 2116 #else 2117 assert( vps->getNumProfileTierLevel() == vps->getPTLForExtnPtr()->size()); 2118 #endif 2119 for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx < vps->getNumProfileTierLevel(); idx++) 2120 { 2121 #if MULTIPLE_PTL_SUPPORT 2111 2112 for( Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx < vps->getNumProfileTierLevel(); idx++ ) 2113 { 2122 2114 vps->setProfilePresentFlag(idx, true); 2123 #endif 2115 2124 2116 WRITE_FLAG( vps->getProfilePresentFlag(idx), "vps_profile_present_flag[i]" ); 2125 #if MULTIPLE_PTL_SUPPORT 2117 2126 2118 codePTL( vps->getPTL(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 2127 #else2128 codePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );2129 #endif2130 2119 } 2131 2120 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1174 r1182 240 240 241 241 // set the VPS profile information 242 #if !MULTIPLE_PTL_SUPPORT243 *m_cVPS.getPTL() = *m_cSPS.getPTL();244 #endif245 242 #if VPS_VUI_BSP_HRD_PARAMS 246 243 m_cVPS.getTimingInfo()->setTimingInfoPresentFlag ( true ); 247 244 #else 245 *m_cVPS.getPTL() = *m_cSPS.getPTL(); 248 246 m_cVPS.getTimingInfo()->setTimingInfoPresentFlag ( false ); 249 247 #endif
Note: See TracChangeset for help on using the changeset viewer.