Changeset 1182 in SHVCSoftware for branches/SHM-dev/source/Lib
- Timestamp:
- 8 Jul 2015, 03:09:51 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
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.