Changeset 1157 in SHVCSoftware
- Timestamp:
- 8 Jul 2015, 00:39:40 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1153 r1157 1580 1580 #endif 1581 1581 #endif 1582 #if !OUTPUT_LAYER_SETS_CONFIG // Taken care by configuration file parameter1583 #if P0295_DEFAULT_OUT_LAYER_IDC1584 vps->setDefaultTargetOutputLayerIdc(1);1585 #else1586 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC1587 vps->setDefaultOneTargetOutputLayerIdc(1);1588 #else1589 vps->setDefaultOneTargetOutputLayerFlag(true);1590 #endif1591 #endif1592 #endif1593 1582 #endif 1594 1583 #if VPS_DPB_SIZE_TABLE -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1154 r1157 1961 1961 , m_numProfileTierLevel (0) 1962 1962 , m_numAddOutputLayerSets (0) 1963 #if P0295_DEFAULT_OUT_LAYER_IDC 1964 , m_defaultTargetOutputLayerIdc (0) 1965 #else 1966 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 1967 , m_defaultOneTargetOutputLayerIdc (0) 1968 #else 1969 , m_defaultOneTargetOutputLayerFlag (false) 1970 #endif 1971 #endif 1963 , m_defaultTargetOutputLayerIdc(0) 1972 1964 , m_bitRatePresentVpsFlag (false) 1973 1965 , m_picRatePresentVpsFlag (false) -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1154 r1157 666 666 UInt m_numProfileTierLevel; 667 667 Int m_numAddOutputLayerSets; 668 #if P0295_DEFAULT_OUT_LAYER_IDC669 668 UInt m_defaultTargetOutputLayerIdc; 670 #else671 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC672 UInt m_defaultOneTargetOutputLayerIdc;673 #else674 Bool m_defaultOneTargetOutputLayerFlag;675 #endif676 #endif677 669 std::vector< std::vector<Int> > m_profileLevelTierIdx; 678 670 Bool m_maxOneActiveRefLayerFlag; … … 1028 1020 Bool isMotionPredictionType(Int currLayerIdx, Int refLayerIdx) { assert(currLayerIdx != refLayerIdx); return ( ( ( m_directDependencyType[currLayerIdx][refLayerIdx] + 1 ) & 2 ) >> 1 ) ? true : false; } 1029 1021 1030 UInt getNumProfileTierLevel() { return m_numProfileTierLevel; } 1031 Void setNumProfileTierLevel(Int x) { m_numProfileTierLevel = x; } 1032 Int getNumAddOutputLayerSets() { return m_numAddOutputLayerSets; } 1033 Void setNumAddOutputLayerSets(Int x) { m_numAddOutputLayerSets = x ; } 1034 1035 #if P0295_DEFAULT_OUT_LAYER_IDC 1036 UInt getDefaultTargetOutputLayerIdc() { return m_defaultTargetOutputLayerIdc;} 1037 Void setDefaultTargetOutputLayerIdc(UInt x) { m_defaultTargetOutputLayerIdc = x ;} 1038 #else 1039 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 1040 UInt getDefaultOneTargetOutputLayerIdc() { return m_defaultOneTargetOutputLayerIdc;} 1041 Void setDefaultOneTargetOutputLayerIdc(UInt x) { m_defaultOneTargetOutputLayerIdc= x ;} 1042 #else 1043 Bool getDefaultOneTargetOutputLayerFlag() { return m_defaultOneTargetOutputLayerFlag;} 1044 Void setDefaultOneTargetOutputLayerFlag(Bool x) { m_defaultOneTargetOutputLayerFlag= x ;} 1045 #endif 1046 #endif 1047 1048 Bool getNecessaryLayerFlag(Int const i, Int const j) { return m_necessaryLayerFlag[i][j]; } 1049 std::vector< std::vector<Int> >* getProfileLevelTierIdx() { return &m_profileLevelTierIdx; } 1050 std::vector<Int>* getProfileLevelTierIdx(Int const olsIdx) { return &m_profileLevelTierIdx[olsIdx]; } 1051 Int getProfileLevelTierIdx(Int const olsIdx, Int const layerIdx) { return m_profileLevelTierIdx[olsIdx][layerIdx]; } 1052 Void setProfileLevelTierIdx(Int const olsIdx, Int const layerIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx][layerIdx] = ptlIdx; } 1022 UInt getNumProfileTierLevel() { return m_numProfileTierLevel; } 1023 Void setNumProfileTierLevel(Int x) { m_numProfileTierLevel = x; } 1024 Int getNumAddOutputLayerSets() { return m_numAddOutputLayerSets; } 1025 Void setNumAddOutputLayerSets(Int x) { m_numAddOutputLayerSets = x ; } 1026 1027 UInt getDefaultTargetOutputLayerIdc() { return m_defaultTargetOutputLayerIdc; } 1028 Void setDefaultTargetOutputLayerIdc(UInt x) { m_defaultTargetOutputLayerIdc = x ;} 1029 1030 Bool getNecessaryLayerFlag(Int const i, Int const j) { return m_necessaryLayerFlag[i][j]; } 1031 std::vector< std::vector<Int> >* getProfileLevelTierIdx() { return &m_profileLevelTierIdx; } 1032 std::vector<Int>* getProfileLevelTierIdx(Int const olsIdx) { return &m_profileLevelTierIdx[olsIdx]; } 1033 Int getProfileLevelTierIdx(Int const olsIdx, Int const layerIdx) { return m_profileLevelTierIdx[olsIdx][layerIdx]; } 1034 Void setProfileLevelTierIdx(Int const olsIdx, Int const layerIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx][layerIdx] = ptlIdx; } 1053 1035 #if MULTIPLE_PTL_SUPPORT 1054 Void addProfileLevelTierIdx(Int const olsIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx].push_back(ptlIdx); }1036 Void addProfileLevelTierIdx(Int const olsIdx, Int const ptlIdx) { m_profileLevelTierIdx[olsIdx].push_back(ptlIdx); } 1055 1037 #endif 1056 1038 Int calculateLenOfSyntaxElement( Int const numVal ); -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1156 r1157 81 81 #define O0109_VIEW_ID_LEN 1 ///< JCTVC-O0109: view_id_len_minus1 to view_id_len, and add constraint (1<<view_id_len) is greater than or equal to NumViews 82 82 83 #define P0295_DEFAULT_OUT_LAYER_IDC 1 ///< JCTVC-P0295: modifify default_one_target_output_layer_idc to default_output_layer_idc84 83 #define O0109_DEFAULT_ONE_OUT_LAYER_IDC 1 ///< JCTVC-O0109: default_one_target_output_layer_flag to default_one_target_output_layer_idc 85 84 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1156 r1157 2913 2913 Int numOutputLayerSets = vps->getNumLayerSets() + vps->getNumAddOutputLayerSets(); 2914 2914 2915 #if P0295_DEFAULT_OUT_LAYER_IDC2916 2915 vps->setNumOutputLayerSets( numOutputLayerSets ); 2917 2916 … … 3038 3037 3039 3038 vps->checkNecessaryLayerFlagCondition(); 3040 3041 #else3042 if( numOutputLayerSets > 1 )3043 {3044 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC3045 READ_CODE( 2, uiCode, "default_one_target_output_layer_idc" ); vps->setDefaultOneTargetOutputLayerIdc( uiCode );3046 #else3047 READ_FLAG( uiCode, "default_one_target_output_layer_flag" ); vps->setDefaultOneTargetOutputLayerFlag( uiCode ? true : false );3048 #endif3049 }3050 vps->setNumOutputLayerSets( numOutputLayerSets );3051 3052 for(i = 1; i < numOutputLayerSets; i++)3053 {3054 if( i > (vps->getNumLayerSets() - 1) )3055 {3056 Int numBits = 1;3057 while ((1 << numBits) < (vps->getNumLayerSets() - 1))3058 {3059 numBits++;3060 }3061 READ_CODE( numBits, uiCode, "output_layer_set_idx_minus1"); vps->setOutputLayerSetIdx( i, uiCode + 1);3062 Int lsIdx = vps->getOutputLayerSetIdx(i);3063 #if NUM_OL_FLAGS3064 for(j = 0; j < vps->getNumLayersInIdList(lsIdx) ; j++)3065 #else3066 for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++)3067 #endif3068 {3069 READ_FLAG( uiCode, "output_layer_flag[i][j]"); vps->setOutputLayerFlag(i, j, uiCode);3070 }3071 }3072 else3073 {3074 #if VPS_DPB_SIZE_TABLE3075 vps->setOutputLayerSetIdx( i, i );3076 #endif3077 // i <= (vps->getNumLayerSets() - 1)3078 // Assign OutputLayerFlag depending on default_one_target_output_layer_flag3079 Int lsIdx = i;3080 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC3081 if( vps->getDefaultOneTargetOutputLayerIdc() == 1 )3082 {3083 for(j = 0; j < vps->getNumLayersInIdList(lsIdx); j++)3084 {3085 #if O0135_DEFAULT_ONE_OUT_SEMANTIC3086 #if DEF_OPT_LAYER_IDC3087 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(lsIdx)-1)) );3088 #else3089 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(lsIdx)-1)) && (vps->getDimensionId(j,1)==0) );3090 #endif3091 #else3092 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(lsIdx)-1)));3093 #endif3094 }3095 }3096 else if ( vps->getDefaultOneTargetOutputLayerIdc() == 0 )3097 {3098 for(j = 0; j < vps->getNumLayersInIdList(lsIdx); j++)3099 {3100 vps->setOutputLayerFlag(i, j, 1);3101 }3102 }3103 else3104 {3105 // Other values of default_one_target_output_layer_idc than 0 and 1 are reserved for future use.3106 }3107 #else3108 if( vps->getDefaultOneTargetOutputLayerFlag() )3109 {3110 for(j = 0; j < vps->getNumLayersInIdList(lsIdx); j++)3111 {3112 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(lsIdx)-1)));3113 }3114 }3115 else3116 {3117 for(j = 0; j < vps->getNumLayersInIdList(lsIdx); j++)3118 {3119 vps->setOutputLayerFlag(i, j, 1);3120 }3121 }3122 #endif3123 }3124 Int numBits = 1;3125 while ((1 << numBits) < (vps->getNumProfileTierLevel()))3126 {3127 numBits++;3128 }3129 READ_CODE( numBits, uiCode, "profile_level_tier_idx[i]" ); vps->setProfileLevelTierIdx(i, uiCode);3130 }3131 #endif3132 3039 3133 3040 #if REPN_FORMAT_IN_VPS -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1156 r1157 2170 2170 } 2171 2171 WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "layer_set_idx_for_ols_minus1"); 2172 #if P0295_DEFAULT_OUT_LAYER_IDC2173 2172 } 2174 2173 #if Q0078_ADD_LAYER_SETS … … 2178 2177 #endif 2179 2178 { 2180 #endif2181 2179 #if NUM_OL_FLAGS 2182 2180 for(j = 0; j < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet) ; j++)
Note: See TracChangeset for help on using the changeset viewer.