Changeset 577 in SHVCSoftware for branches/SHM-5.0-dev/source
- Timestamp:
- 29 Jan 2014, 01:55:16 (11 years ago)
- Location:
- branches/SHM-5.0-dev/source
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp
r575 r577 1145 1145 vps->setNumOutputLayerSets(vps->getNumLayerSets()); 1146 1146 vps->setNumProfileTierLevel(vps->getNumLayerSets()); 1147 #if P0295_DEFAULT_OUT_LAYER_IDC 1148 vps->setDefaultTargetOutputLayerIdc(1); 1149 #else 1147 1150 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 1148 1151 vps->setDefaultOneTargetOutputLayerIdc(1); 1149 1152 #else 1150 1153 vps->setDefaultOneTargetOutputLayerFlag(true); 1154 #endif 1151 1155 #endif 1152 1156 for(i = 1; i < vps->getNumLayerSets(); i++) -
branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.cpp
r576 r577 1967 1967 #endif 1968 1968 , m_numAddOutputLayerSets (0) 1969 #if P0295_DEFAULT_OUT_LAYER_IDC 1970 , m_defaultTargetOutputLayerIdc (0) 1971 #else 1969 1972 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 1970 1973 , m_defaultOneTargetOutputLayerIdc (0) 1971 1974 #else 1972 1975 , m_defaultOneTargetOutputLayerFlag (false) 1976 #endif 1973 1977 #endif 1974 1978 #if VPS_VUI_BITRATE_PICRATE -
branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.h
r576 r577 544 544 #endif 545 545 Int m_numAddOutputLayerSets; 546 #if P0295_DEFAULT_OUT_LAYER_IDC 547 UInt m_defaultTargetOutputLayerIdc; 548 #else 546 549 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 547 550 UInt m_defaultOneTargetOutputLayerIdc; 548 551 #else 549 552 Bool m_defaultOneTargetOutputLayerFlag; 553 #endif 550 554 #endif 551 555 Int m_profileLevelTierIdx[64]; … … 834 838 Void setNumAddOutputLayerSets(Int x) { m_numAddOutputLayerSets = x ; } 835 839 840 #if P0295_DEFAULT_OUT_LAYER_IDC 841 UInt getDefaultTargetOutputLayerIdc() { return m_defaultTargetOutputLayerIdc;} 842 Void setDefaultTargetOutputLayerIdc(UInt x) { m_defaultTargetOutputLayerIdc = x ;} 843 #else 836 844 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 837 845 UInt getDefaultOneTargetOutputLayerIdc() { return m_defaultOneTargetOutputLayerIdc;} … … 840 848 Bool getDefaultOneTargetOutputLayerFlag() { return m_defaultOneTargetOutputLayerFlag;} 841 849 Void setDefaultOneTargetOutputLayerFlag(Bool x) { m_defaultOneTargetOutputLayerFlag= x ;} 850 #endif 842 851 #endif 843 852 Int getProfileLevelTierIdx(Int i) { return m_profileLevelTierIdx[i]; } -
branches/SHM-5.0-dev/source/Lib/TLibCommon/TypeDef.h
r576 r577 64 64 #endif 65 65 66 #define P0295_DEFAULT_OUT_LAYER_IDC 1 ///< JCTVC-P0295: modifify default_one_target_output_layer_idc to default_target_output_layer_idc 66 67 #define O0109_DEFAULT_ONE_OUT_LAYER_IDC 1 ///< JCTVC-O0109: default_one_target_output_layer_flag to default_one_target_output_layer_idc 67 68 #define O0109_MOVE_VPS_VUI_FLAG 1 ///< JCTVC-O0109: move vps_vui_present_flag before vps_vui_offset -
branches/SHM-5.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r576 r577 1206 1206 Int numOutputLayerSets = vps->getNumLayerSets() + vps->getNumAddOutputLayerSets(); 1207 1207 #endif 1208 1209 #if P0295_DEFAULT_OUT_LAYER_IDC 1210 if( numOutputLayerSets > 1 ) 1211 { 1212 READ_CODE( 2, uiCode, "default_target_output_layer_idc" ); vps->setDefaultTargetOutputLayerIdc( uiCode ); 1213 } 1214 vps->setNumOutputLayerSets( numOutputLayerSets ); 1215 1216 for(i = 1; i < numOutputLayerSets; i++) 1217 { 1218 if( i > (vps->getNumLayerSets() - 1) ) 1219 { 1220 Int numBits = 1; 1221 while ((1 << numBits) < (vps->getNumLayerSets() - 1)) 1222 { 1223 numBits++; 1224 } 1225 READ_CODE( numBits, uiCode, "output_layer_set_idx_minus1"); vps->setOutputLayerSetIdx( i, uiCode + 1); 1226 } 1227 else 1228 { 1229 vps->setOutputLayerSetIdx( i, i ); 1230 } 1231 if ( i > (vps->getNumLayerSets() - 1) || vps->getDefaultTargetOutputLayerIdc() >= 2 ) 1232 { 1233 Int lsIdx = vps->getOutputLayerSetIdx(i); 1234 for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++) 1235 { 1236 READ_FLAG( uiCode, "output_layer_flag[i][j]"); vps->setOutputLayerFlag(i, j, uiCode); 1237 } 1238 } 1239 else 1240 { 1241 // i <= (vps->getNumLayerSets() - 1) 1242 // Assign OutputLayerFlag depending on default_one_target_output_layer_flag 1243 Int lsIdx = i; 1244 if( vps->getDefaultTargetOutputLayerIdc() == 1 ) 1245 { 1246 for(j = 0; j < vps->getNumLayersInIdList(lsIdx); j++) 1247 { 1248 vps->setOutputLayerFlag(i, j, (j == (vps->getNumLayersInIdList(lsIdx)-1)) && (vps->getDimensionId(j,1) == 0) ); 1249 } 1250 } 1251 else if ( vps->getDefaultTargetOutputLayerIdc() == 0 ) 1252 { 1253 for(j = 0; j < vps->getNumLayersInIdList(lsIdx); j++) 1254 { 1255 vps->setOutputLayerFlag(i, j, 1); 1256 } 1257 } 1258 } 1259 Int numBits = 1; 1260 while ((1 << numBits) < (vps->getNumProfileTierLevel())) 1261 { 1262 numBits++; 1263 } 1264 READ_CODE( numBits, uiCode, "profile_level_tier_idx[i]" ); vps->setProfileLevelTierIdx(i, uiCode); 1265 } 1266 #else 1208 1267 if( numOutputLayerSets > 1 ) 1209 1268 { … … 1287 1346 READ_CODE( numBits, uiCode, "profile_level_tier_idx[i]" ); vps->setProfileLevelTierIdx(i, uiCode); 1288 1347 } 1348 #endif 1289 1349 1290 1350 #if O0153_ALT_OUTPUT_LAYER_FLAG -
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r576 r577 965 965 if( numOutputLayerSets > 1 ) 966 966 { 967 #if P0295_DEFAULT_OUT_LAYER_IDC 968 WRITE_CODE( vps->getDefaultTargetOutputLayerIdc(), 2, "default_target_output_layer_idc" ); 969 #else 967 970 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 968 971 WRITE_CODE( vps->getDefaultOneTargetOutputLayerIdc(), 2, "default_one_target_output_layer_idc" ); … … 970 973 WRITE_FLAG( vps->getDefaultOneTargetOutputLayerFlag(), "default_one_target_output_layer_flag" ); 971 974 #endif 975 #endif 972 976 } 973 977 … … 981 985 numBits++; 982 986 } 983 WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "output_layer_set_idx_minus1"); 987 WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "output_layer_set_idx_minus1"); 988 #if P0295_DEFAULT_OUT_LAYER_IDC 989 } 990 if ( i > (vps->getNumLayerSets() - 1) || vps->getDefaultTargetOutputLayerIdc() >= 2 ) //Instead of == 2, >= 2 is used to follow the agreement that value 3 should be interpreted as 2 991 { 992 #endif 984 993 Int lsIdx = vps->getOutputLayerSetIdx(i); 985 994 for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++)
Note: See TracChangeset for help on using the changeset viewer.