Changeset 883 in 3DVCSoftware
- Timestamp:
- 28 Mar 2014, 01:43:58 (11 years ago)
- Location:
- branches/HTM-10.1-dev0/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.1-dev0/source/Lib/TLibCommon/TComSlice.cpp
r882 r883 2166 2166 } 2167 2167 2168 Int TComVPS::getMaxSubLayersInLayerSetMinus1( Int i ) 2169 { 2170 Int maxSLMinus1 = 0; 2171 Int optLsIdx = getLayerSetIdxForOutputLayerSet( i ); 2172 for( Int k = 0; k < getNumLayersInIdList( optLsIdx ); k++ ) 2173 { 2174 Int lId = m_layerSetLayerIdList[optLsIdx][k]; 2175 maxSLMinus1 = std::max( maxSLMinus1, getSubLayersVpsMaxMinus1( getLayerIdInVps( lId ) )); 2176 } 2177 return maxSLMinus1; 2178 } 2179 2168 2180 #endif // H_MV 2169 2181 … … 3832 3844 } 3833 3845 3846 Void TComVPSVUI::inferVpsVui( Bool encoderFlag ) 3847 { 3848 // inference of syntax elements that differ from default inference (as done in constructor), when VPS VUI is not present 3849 if (!encoderFlag ) 3850 { 3851 setCrossLayerIrapAlignedFlag( false ); 3852 } 3853 else 3854 { 3855 assert( !getCrossLayerIrapAlignedFlag() ); 3856 } 3857 } 3858 3834 3859 Void TComRepFormat::inferChromaAndBitDepth( TComRepFormat* prevRepFormat, Bool encoderFlag ) 3835 3860 { … … 3896 3921 setMatrixCoefficients ( videoSignalInfo->getMatrixCoeffsVps () ); 3897 3922 } 3898 #endif 3923 3924 TComDpbSize::TComDpbSize() 3925 { 3926 for (Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++ ) 3927 { 3928 m_subLayerFlagInfoPresentFlag[i] = false; 3929 3930 for (Int j = 0; j < MAX_TLAYER; j++ ) 3931 { 3932 m_subLayerDpbInfoPresentFlag [i][j] = ( j == 0) ; 3933 m_maxVpsNumReorderPics [i][j] = 0; 3934 m_maxVpsLatencyIncreasePlus1 [i][j] = 0; 3935 3936 for (Int k = 0; k < MAX_NUM_LAYER_IDS; k++ ) 3937 { 3938 m_maxVpsDecPicBufferingMinus1[i][k][j] = 0; 3939 } 3940 } 3941 } 3942 } 3943 #endif -
branches/HTM-10.1-dev0/source/Lib/TLibCommon/TComSlice.h
r882 r883 587 587 Bool getBaseLayerParameterSetCompatibilityFlag( Int i ) { return m_baseLayerParameterSetCompatibilityFlag[i]; } 588 588 589 Void inferVpsVui( Bool encoderFlag ) 590 { 591 // inference of syntax elements that differ from default inference (as done in constructor), when VPS VUI is not present 592 if (!encoderFlag ) 593 { 594 setCrossLayerIrapAlignedFlag( false ); 595 } 596 else 597 { 598 assert( !getCrossLayerIrapAlignedFlag() ); 599 } 600 601 } 589 Void inferVpsVui( Bool encoderFlag ); 602 590 }; 603 591 … … 654 642 655 643 public: 656 TComDpbSize( ) 657 { 658 for (Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++ ) 659 { 660 m_subLayerFlagInfoPresentFlag[i] = false; 661 662 for (Int j = 0; j < MAX_TLAYER; j++ ) 663 { 664 m_subLayerDpbInfoPresentFlag [i][j] = ( j == 0) ; 665 m_maxVpsNumReorderPics [i][j] = 0; 666 m_maxVpsLatencyIncreasePlus1 [i][j] = 0; 667 668 for (Int k = 0; k < MAX_NUM_LAYER_IDS; k++ ) 669 { 670 m_maxVpsDecPicBufferingMinus1[i][k][j] = 0; 671 } 672 } 673 } 674 } 644 TComDpbSize( ); 675 645 676 646 Void setSubLayerFlagInfoPresentFlag( Int i, Bool flag ) { m_subLayerFlagInfoPresentFlag[i] = flag; } … … 929 899 Void setScalabilityMaskFlag( Int scalType, Bool val ) { m_scalabilityMaskFlag[scalType] = val; } 930 900 Bool getScalabilityMaskFlag( Int scalType ) { return m_scalabilityMaskFlag[scalType]; } 901 931 902 Int getNumScalabilityTypes( ); 932 903 … … 950 921 Void setViewIdVal( Int viewOrderIndex, Int val ) { m_viewIdVal[viewOrderIndex] = val; } 951 922 Int getViewIdVal( Int viewOrderIndex ) { return m_viewIdVal[viewOrderIndex]; } 923 952 924 Void setDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Bool val ) { m_directDependencyFlag[depLayeridInVps][refLayeridInVps] = val; } 953 925 Bool getDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps ) { return m_directDependencyFlag[depLayeridInVps][refLayeridInVps]; } 926 954 927 Void setVpsSubLayersMaxMinus1PresentFlag( Bool flag ) { m_vpsSubLayersMaxMinus1PresentFlag = flag; } 955 928 Bool getVpsSubLayersMaxMinus1PresentFlag( ) { return m_vpsSubLayersMaxMinus1PresentFlag; } 929 956 930 Void setSubLayersVpsMaxMinus1( Int i, Int val ) { m_subLayersVpsMaxMinus1[i] = val; } 957 931 Int getSubLayersVpsMaxMinus1( Int i ) { return m_subLayersVpsMaxMinus1[i]; } 958 932 Void checkSubLayersVpsMaxMinus1( Int i ) { assert( m_subLayersVpsMaxMinus1[i] >= 0 && m_subLayersVpsMaxMinus1[i] <= m_uiMaxTLayers - 1 ); } 933 959 934 Void setMaxTidRefPresentFlag( Bool flag ) { m_maxTidRefPresentFlag = flag; } 960 935 Bool getMaxTidRefPresentFlag( ) { return m_maxTidRefPresentFlag; } 936 961 937 Void setMaxTidIlRefPicsPlus1( Int i, Int j, Int val ) { m_maxTidIlRefPicsPlus1[i][j] = val; } 962 938 Int getMaxTidIlRefPicsPlus1( Int i, Int j ) { return m_maxTidIlRefPicsPlus1[i][j]; } 939 963 940 Void setAllRefLayersActiveFlag( Bool flag ) { m_allRefLayersActiveFlag = flag; } 964 941 Bool getAllRefLayersActiveFlag( ) { return m_allRefLayersActiveFlag; } … … 1001 978 Void setRepFormat( Int i, TComRepFormat* val ) { m_repFormat[i] = val; } 1002 979 TComRepFormat* getRepFormat( Int i ) { return m_repFormat[i]; } 980 1003 981 Void setMaxOneActiveRefLayerFlag( Bool flag) { m_maxOneActiveRefLayerFlag = flag; } 1004 982 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } … … 1014 992 Void setPocLsbNotPresentFlag( Int i, Bool flag ) { m_pocLsbNotPresentFlag[i] = flag; } 1015 993 Bool getPocLsbNotPresentFlag( Int i ) { return m_pocLsbNotPresentFlag[i]; } 994 1016 995 Void setDirectDepTypeLenMinus2( Int val) { m_directDepTypeLenMinus2 = val; } 1017 996 Int getDirectDepTypeLenMinus2( ) { return m_directDepTypeLenMinus2; } … … 1022 1001 Void setDefaultDirectDependencyType( Int val ) { m_defaultDirectDependencyType = val; } 1023 1002 Int getDefaultDirectDependencyType( ) { return m_defaultDirectDependencyType; } 1003 1024 1004 Void setDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps, Int val) { m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ] = val; } 1025 1005 Int getDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps) { return m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ]; } … … 1067 1047 Int getOlsHighestOutputLayerId( Int i ) { return getTargetOptLayerIdList( i ).back(); }; 1068 1048 1069 Int getMaxSubLayersInLayerSetMinus1( Int i ) 1070 { 1071 Int maxSLMinus1 = 0; 1072 Int optLsIdx = getLayerSetIdxForOutputLayerSet( i ); 1073 for( Int k = 0; k < getNumLayersInIdList( optLsIdx ); k++ ) 1074 { 1075 Int lId = m_layerSetLayerIdList[optLsIdx][k]; 1076 maxSLMinus1 = std::max( maxSLMinus1, getSubLayersVpsMaxMinus1( getLayerIdInVps( lId ) )); 1077 } 1078 return maxSLMinus1; 1079 } 1049 Int getMaxSubLayersInLayerSetMinus1( Int i ); 1080 1050 1081 1051 // inference
Note: See TracChangeset for help on using the changeset viewer.