- Timestamp:
- 3 Jan 2015, 01:49:56 (10 years ago)
- Location:
- branches/SHM-dev
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/cfg/encoder_intra_main.cfg
r941 r951 7 7 NumProfileTierLevel : 3 8 8 #Profile for the whole bitstream 9 Profile0 : main9 Profile0 : scalable-main 10 10 #Profile for the base layer --- this will be ignored when BL is not HEVC 11 11 Profile1 : main 12 12 #Profile for the enhancement layer 13 Profile2 : main13 Profile2 : scalable-main 14 14 15 15 #======== Unit definition ================ -
branches/SHM-dev/cfg/encoder_intra_main10.cfg
r941 r951 7 7 NumProfileTierLevel : 3 8 8 #Profile for the whole bitstream 9 Profile0 : main109 Profile0 : scalable-main10 10 10 #Profile for the base layer --- this will be ignored when BL is not HEVC 11 11 Profile1 : main10 12 12 #Profile for the enhancement layer 13 Profile2 : main1013 Profile2 : scalable-main10 14 14 15 15 #======== Unit definition ================ -
branches/SHM-dev/cfg/encoder_lowdelay_main.cfg
r941 r951 7 7 NumProfileTierLevel : 3 8 8 #Profile for the whole bitstream 9 Profile0 : main9 Profile0 : scalable-main 10 10 #Profile for the base layer --- this will be ignored when BL is not HEVC 11 11 Profile1 : main 12 12 #Profile for the enhancement layer 13 Profile2 : main13 Profile2 : scalable-main 14 14 15 15 #======== Unit definition ================ -
branches/SHM-dev/cfg/encoder_lowdelay_main10.cfg
r941 r951 7 7 NumProfileTierLevel : 3 8 8 #Profile for the whole bitstream 9 Profile0 : main109 Profile0 : scalable-main10 10 10 #Profile for the base layer --- this will be ignored when BL is not HEVC 11 11 Profile1 : main10 12 12 #Profile for the enhancement layer 13 Profile2 : main1013 Profile2 : scalable-main10 14 14 15 15 #======== Unit definition ================ -
branches/SHM-dev/cfg/encoder_randomaccess_main.cfg
r941 r951 7 7 NumProfileTierLevel : 3 8 8 #Profile for the whole bitstream 9 Profile0 : main9 Profile0 : scalable-main 10 10 #Profile for the base layer --- this will be ignored when BL is not HEVC 11 11 Profile1 : main 12 12 #Profile for the enhancement layer 13 Profile2 : main13 Profile2 : scalable-main 14 14 15 15 #======== Unit definition ================ -
branches/SHM-dev/cfg/encoder_randomaccess_main10.cfg
r941 r951 7 7 NumProfileTierLevel : 3 8 8 #Profile for the whole bitstream 9 Profile0 : main109 Profile0 : scalable-main10 10 10 #Profile for the base layer --- this will be ignored when BL is not HEVC 11 11 Profile1 : main10 12 12 #Profile for the enhancement layer 13 Profile2 : main1013 Profile2 : scalable-main10 14 14 15 15 #======== Unit definition ================ -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r950 r951 290 290 {"main10", Profile::MAIN10}, 291 291 {"main-still-picture", Profile::MAINSTILLPICTURE}, 292 #if MULTIPLE_PTL_SUPPORT 293 {"range-extension", Profile::RANGEEXTENSION}, //This is not used in this software 294 {"range-extension-high", Profile::RANGEEXTENSIONHIGH}, //This is not used in this software 295 {"multiview-main", Profile::MULTIVIEWMAIN}, //This is not used in this software 296 {"scalable-main", Profile::SCALABLEMAIN}, 297 {"scalable-main10", Profile::SCALABLEMAIN10}, 298 #endif 292 299 }; 293 300 … … 841 848 // Profile and level 842 849 #if SVC_EXTENSION && MULTIPLE_PTL_SUPPORT 843 ("NumProfileTierLevel", m_numPTLInfo, 2, "Number of Profile, Tier and Level information")844 ("Profile%d", m_profileList, Profile::NONE, NUM_POSSIBLE_LEVEL, "Profile to be used when encoding (Incomplete)")845 ("Level%d", m_levelList, Level::NONE, NUM_POSSIBLE_LEVEL, "Level limit to be used, eg 5.1 (Incomplete)")846 ("Tier%d", m_levelTierList, Level::MAIN, NUM_POSSIBLE_LEVEL, "Tier to use for interpretation of --Level")847 848 ("ProgressiveSource%d", m_progressiveSourceFlagList, false, MAX_ VPS_LAYER_ID_PLUS1, "Indicate that source is progressive")849 ("InterlacedSource%d", m_interlacedSourceFlagList, false, MAX_ VPS_LAYER_ID_PLUS1, "Indicate that source is interlaced")850 ("NonPackedSource%d", m_nonPackedConstraintFlagList, false, MAX_ VPS_LAYER_ID_PLUS1, "Indicate that source does not contain frame packing")851 ("FrameOnly%d", m_frameOnlyConstraintFlagList, false, MAX_ VPS_LAYER_ID_PLUS1, "Indicate that the bitstream contains only frames")850 ("NumProfileTierLevel", m_numPTLInfo, 1, "Number of Profile, Tier and Level information") 851 ("Profile%d", m_profileList, Profile::NONE, MAX_NUM_LAYER_IDS + 1, "Profile to be used when encoding (Incomplete)") 852 ("Level%d", m_levelList, Level::NONE, MAX_NUM_LAYER_IDS + 1, "Level limit to be used, eg 5.1 (Incomplete)") 853 ("Tier%d", m_levelTierList, Level::MAIN, MAX_NUM_LAYER_IDS + 1, "Tier to use for interpretation of --Level") 854 ("ProfileCompatibility%d", m_profileCompatibility, Profile::NONE, MAX_NUM_LAYER_IDS + 1, "Compatible profile to be used when encoding") 855 ("ProgressiveSource%d", m_progressiveSourceFlagList, false, MAX_NUM_LAYER_IDS + 1, "Indicate that source is progressive") 856 ("InterlacedSource%d", m_interlacedSourceFlagList, false, MAX_NUM_LAYER_IDS + 1, "Indicate that source is interlaced") 857 ("NonPackedSource%d", m_nonPackedConstraintFlagList, false, MAX_NUM_LAYER_IDS + 1, "Indicate that source does not contain frame packing") 858 ("FrameOnly%d", m_frameOnlyConstraintFlagList, false, MAX_NUM_LAYER_IDS + 1, "Indicate that the bitstream contains only frames") 852 859 853 860 ("LayerPTLIndex%d", m_layerPTLIdx, 0, MAX_VPS_LAYER_ID_PLUS1, "Index of PTL for each layer") 854 ("ListOfProfileTierLevelOls%d", cfg_listOfLayerPTLOfOlss, string(""), MAX_VPS_ LAYER_ID_PLUS1, "PTL Index for each layer in each OLS except the first OLS. The PTL index for layer in the first OLS is set to 1")861 ("ListOfProfileTierLevelOls%d", cfg_listOfLayerPTLOfOlss, string(""), MAX_VPS_OUTPUT_LAYER_SETS_PLUS1, "PTL Index for each layer in each OLS except the first OLS. The PTL index for layer in the first OLS is set to 1") 855 862 #else 856 863 ("Profile", m_profile, Profile::NONE, "Profile to be used when encoding (Incomplete)") … … 1965 1972 } 1966 1973 #if MULTIPLE_PTL_SUPPORT 1967 if (olsCtr > startOlsCtr) // Non-default OLS 1968 { 1969 scanStringToArray( cfg_listOfLayerPTLOfOlss[olsCtr], m_numLayerInIdList[m_outputLayerSetIdx[olsCtr - startOlsCtr - 1]], "List of PTL for each layer in OLS", m_listOfLayerPTLofOlss[olsCtr] ); 1970 } 1971 else 1972 { 1973 scanStringToArray( cfg_listOfLayerPTLOfOlss[olsCtr], m_numLayerInIdList[olsCtr], "List of PTL for each layer in OLS", m_listOfLayerPTLofOlss[olsCtr] ); 1974 } 1974 Int olsToLsIndex = (olsCtr > startOlsCtr) ? m_outputLayerSetIdx[olsCtr - m_numLayerSets] : olsCtr; 1975 scanStringToArray( cfg_listOfLayerPTLOfOlss[olsCtr], m_numLayerInIdList[olsToLsIndex], "List of PTL for each layers in OLS", m_listOfLayerPTLofOlss[olsCtr] ); 1976 //For conformance checking 1977 //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: 1978 //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 1979 //Conformance of a layer in an output operation point associated with an OLS in a bitstream to the Scalable Main 10 profile is indicated as follows: 1980 //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 1981 //The following assert may be updated / upgraded to take care of general_profile_compatibility_flag. 1982 for ( Int ii = 1; ii < m_numLayerInIdList[olsToLsIndex]; ii++) 1983 { 1984 if (m_layerSetLayerIdList[ii - 1] != 0 && m_layerSetLayerIdList[ii] != 0) //Profile / profile compatibility of enhancement layers must indicate the same profile. 1985 { 1986 assert( (m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii]] == m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii - 1]]) || 1987 (m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii]] == m_profileCompatibility[m_listOfLayerPTLofOlss[olsCtr][ii - 1]]) || 1988 (m_profileCompatibility[m_listOfLayerPTLofOlss[olsCtr][ii]] == m_profileList[m_listOfLayerPTLofOlss[olsCtr][ii - 1]]) ); 1989 } 1990 } 1975 1991 #endif 1976 1992 } -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r950 r951 123 123 Int m_numPTLInfo; 124 124 Int m_layerPTLIdx[MAX_VPS_LAYER_ID_PLUS1]; ///< scalability_mask 125 Profile::Name m_profileList[NUM_POSSIBLE_LEVEL]; 126 Level::Tier m_levelTierList[NUM_POSSIBLE_LEVEL]; 127 Level::Name m_levelList[NUM_POSSIBLE_LEVEL]; 128 Bool m_progressiveSourceFlagList[NUM_POSSIBLE_LEVEL]; 129 Bool m_interlacedSourceFlagList[NUM_POSSIBLE_LEVEL]; 130 Bool m_nonPackedConstraintFlagList[NUM_POSSIBLE_LEVEL]; 131 Bool m_frameOnlyConstraintFlagList[NUM_POSSIBLE_LEVEL]; 125 Profile::Name m_profileList[MAX_NUM_LAYER_IDS + 1]; 126 Level::Tier m_levelTierList[MAX_NUM_LAYER_IDS + 1]; 127 Level::Name m_levelList[MAX_NUM_LAYER_IDS + 1]; 128 Profile::Name m_profileCompatibility[MAX_NUM_LAYER_IDS + 1]; 129 Bool m_progressiveSourceFlagList[MAX_NUM_LAYER_IDS + 1]; 130 Bool m_interlacedSourceFlagList[MAX_NUM_LAYER_IDS + 1]; 131 Bool m_nonPackedConstraintFlagList[MAX_NUM_LAYER_IDS + 1]; 132 Bool m_frameOnlyConstraintFlagList[MAX_NUM_LAYER_IDS + 1]; 132 133 133 134 std::vector< std::vector<Int> > m_listOfLayerPTLofOlss; -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r949 r951 211 211 profileTierLevel.setTierFlag(m_levelTierList[ii]); 212 212 profileTierLevel.setProfileIdc(m_profileList[ii]); 213 profileTierLevel.setProfileCompatibilityFlag(m_profile List[ii], 1);213 profileTierLevel.setProfileCompatibilityFlag(m_profileCompatibility[ii], 1); 214 214 profileTierLevel.setProgressiveSourceFlag(m_progressiveSourceFlagList[ii]); 215 215 profileTierLevel.setInterlacedSourceFlag(m_interlacedSourceFlagList[ii]); -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r942 r951 589 589 #if SVC_EXTENSION 590 590 #if MULTIPLE_PTL_SUPPORT 591 TComPTL m_pcPTLList[ NUM_POSSIBLE_LEVEL];591 TComPTL m_pcPTLList[MAX_NUM_LAYER_IDS + 1]; 592 592 #endif 593 593 #if DERIVE_LAYER_ID_LIST_VARIABLES -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r944 r951 71 71 72 72 #define MULTIPLE_PTL_SUPPORT 1 ///< Fixing profile, tier and level signalling 73 #define NUM_POSSIBLE_LEVEL 13 ///< Number of possible level as described in R101374 73 75 74 #define R0226_CONSTRAINT_TMVP_SEI 1 ///< JCTVC-R0226, Modification to semantics in temporal motion vector prediction constraints SEI message … … 805 804 MAIN10 = 2, 806 805 MAINSTILLPICTURE = 3, 806 #if MULTIPLE_PTL_SUPPORT 807 RANGEEXTENSION = 4, 808 RANGEEXTENSIONHIGH = 5, 809 MULTIVIEWMAIN = 6, 810 SCALABLEMAIN = 7, 811 SCALABLEMAIN10 = 7, 812 #endif 807 813 }; 808 814 } -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r943 r951 1789 1789 READ_CODE( numBitsForPtlIdx, uiCode, "profile_level_tier_idx[i]" ); 1790 1790 vps->setProfileLevelTierIdx(i, j, uiCode ); 1791 #if MULTIPLE_PTL_SUPPORT 1792 //For conformance checking 1793 //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: 1794 //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 1795 //Conformance of a layer in an output operation point associated with an OLS in a bitstream to the Scalable Main 10 profile is indicated as follows: 1796 //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 1797 //The following assert may be updated / upgraded to take care of general_profile_compatibility_flag. 1798 if (j > 0 && vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j) != 0 && vps->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, j - 1) != 0) 1799 { 1800 assert(vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL()->getProfileIdc() == vps->getPTL(vps->getProfileLevelTierIdx(i, j - 1))->getGeneralPTL()->getProfileIdc() || 1801 vps->getPTL(vps->getProfileLevelTierIdx(i, j - 1))->getGeneralPTL()->getProfileCompatibilityFlag(vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL()->getProfileIdc()) || 1802 vps->getPTL(vps->getProfileLevelTierIdx(i, j))->getGeneralPTL()->getProfileCompatibilityFlag(vps->getPTL(vps->getProfileLevelTierIdx(i, j - 1))->getGeneralPTL()->getProfileIdc()) ); 1803 } 1804 #endif 1791 1805 } 1792 1806 }
Note: See TracChangeset for help on using the changeset viewer.