- Timestamp:
- 12 May 2014, 20:24:01 (11 years ago)
- Location:
- branches/SHM-6-dev/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.h
r763 r773 733 733 // m_cprmsPresentFlag = new Bool [ getNumHrdParameters() ]; 734 734 } 735 #endif 736 #if HRD_BPB 737 Int getBspHrdParamBufferCpbCntMinus1(UInt i, UInt sl) 738 { 739 return m_bspHrd->getCpbCntMinus1(sl); 740 } 735 741 #endif 736 742 -
branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h
r771 r773 263 263 #define BITRATE_PICRATE_SIGNALLING 1 ///< JCTVC-Q0102 Proposal 3 signal bitrate, picrate only up to the maximum temporal sub-layers in the corresponding layer set 264 264 #define LAYER_DECPICBUFF_PARAM 1 ///< JCTVC-Q0102 Proposal 2 infer value from layer DPB param 265 #define HRD_BPB 1 ///< JCTVC-Q0101 Bitstream Partition Buffering Proposals 265 266 #if VIEW_ID_RELATED_SIGNALING 266 267 /// scalability types -
branches/SHM-6-dev/source/Lib/TLibDecoder/SEIread.cpp
r694 r773 1209 1209 UInt lsIdx = nestingSei.m_nestingOpIdx[h]; 1210 1210 READ_UVLC( uiCode, "num_sei_bitstream_partitions_minus1[i]"); sei.m_seiNumBitstreamPartitionsMinus1[lsIdx] = uiCode; 1211 for (UInt i = 0; i <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; i++) 1212 { 1211 #if HRD_BPB 1212 Int chkPart=0; 1213 #endif 1214 UInt i; 1215 for (i = 0; i <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; i++) 1216 { 1217 #if HRD_BPB 1218 UInt nl=0; UInt j; 1219 for (j = 0 ; j < sei.m_vpsMaxLayers; j++) 1220 { 1221 if (sei.m_layerIdIncludedFlag[lsIdx][j]) 1222 nl++; 1223 } 1224 for (j = 0; j < nl; j++) 1225 { 1226 #else 1213 1227 for (UInt j = 0; j < sei.m_vpsMaxLayers; j++) 1214 1228 { 1215 1229 if (sei.m_layerIdIncludedFlag[lsIdx][j]) 1216 1230 { 1231 #endif 1217 1232 READ_FLAG( uiCode, "sei_layer_in_bsp_flag[lsIdx][i][j]" ); sei.m_seiLayerInBspFlag[lsIdx][i][j] = uiCode; 1218 1233 } 1219 } 1220 } 1234 #if !HRD_BPB 1235 } 1236 #endif 1237 #if HRD_BPB 1238 chkPart+=sei.m_seiLayerInBspFlag[lsIdx][i][j]; 1239 #endif 1240 } 1241 #if HRD_BPB 1242 assert(chkPart<=1); 1243 #endif 1244 #if HRD_BPB 1245 if(sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]==0) 1246 { 1247 Int chkPartition1=0; Int chkPartition2=0; 1248 for (UInt j = 0; j < sei.m_vpsMaxLayers; j++) 1249 { 1250 if( sei.m_layerIdIncludedFlag[lsIdx][j] ) 1251 { 1252 chkPartition1+=sei.m_seiLayerInBspFlag[lsIdx][i][j]; 1253 chkPartition2++; 1254 } 1255 } 1256 assert(chkPartition1!=chkPartition2); 1257 } 1258 #endif 1259 1221 1260 READ_UVLC( uiCode, "sei_num_bsp_sched_combinations_minus1[i]"); sei.m_seiNumBspSchedCombinationsMinus1[lsIdx] = uiCode; 1222 1261 for (UInt i = 0; i <= sei.m_seiNumBspSchedCombinationsMinus1[lsIdx]; i++) … … 1225 1264 { 1226 1265 READ_UVLC( uiCode, "sei_bsp_comb_hrd_idx[lsIdx][i][j]"); sei.m_seiBspCombHrdIdx[lsIdx][i][j] = uiCode; 1266 #if HRD_BPB 1267 assert(uiCode <= sei.m_seiNumBspHrdParametersMinus1); 1268 #endif 1227 1269 READ_UVLC( uiCode, "sei_bsp_comb_sched_idx[lsIdx][i][j]"); sei.m_seiBspCombScheddx[lsIdx][i][j] = uiCode; 1270 #if HRD_BPB 1271 assert(uiCode <= sei.hrd->getCpbCntMinus1( sps->getMaxTLayers()-1 )); 1272 #endif 1273 1228 1274 } 1229 1275 } -
branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r772 r773 2310 2310 { 2311 2311 READ_UVLC( uiCode, "num_bitstream_partitions[i]"); vps->setNumBitstreamPartitions(h, uiCode); 2312 #if HRD_BPB 2313 Int chkPart=0; 2314 #endif 2312 2315 for( i = 0; i < vps->getNumBitstreamPartitions(h); i++ ) 2313 2316 { … … 2319 2322 } 2320 2323 } 2321 } 2324 #if HRD_BPB 2325 chkPart+=vps->getLayerInBspFlag(h, i, j); 2326 #endif 2327 } 2328 #if HRD_BPB 2329 assert(chkPart<=1); 2330 #endif 2331 #if HRD_BPB 2332 if(vps->getNumBitstreamPartitions(h)==1) 2333 { 2334 Int chkPartition1=0; Int chkPartition2=0; 2335 for( j = 0; j <= (vps->getMaxLayers()-1); j++ ) 2336 { 2337 if( vps->getLayerIdIncludedFlag(h, j) ) 2338 { 2339 chkPartition1+=vps->getLayerInBspFlag(h, 0, j); 2340 chkPartition2++; 2341 } 2342 } 2343 assert(chkPartition1!=chkPartition2); 2344 } 2345 #endif 2322 2346 if (vps->getNumBitstreamPartitions(h)) 2323 2347 { … … 2332 2356 { 2333 2357 READ_UVLC( uiCode, "bsp_comb_hrd_idx[h][i][j]"); vps->setBspCombHrdIdx(h, i, j, uiCode); 2358 #if HRD_BPB 2359 assert(uiCode <= vps->getVpsNumBspHrdParametersMinus1()); 2360 #endif 2361 2334 2362 READ_UVLC( uiCode, "bsp_comb_sched_idx[h][i][j]"); vps->setBspCombSchedIdx(h, i, j, uiCode); 2363 #if HRD_BPB 2364 assert(uiCode <= vps->getBspHrdParamBufferCpbCntMinus1(uiCode,vps->getMaxTLayers()-1)); 2365 #endif 2335 2366 } 2336 2367 } -
branches/SHM-6-dev/source/Lib/TLibEncoder/SEIwrite.cpp
r694 r773 893 893 for (UInt i = 0; i <= sei.m_seiNumBitstreamPartitionsMinus1[lsIdx]; i++) 894 894 { 895 #if HRD_BPB 896 UInt nl=0; 897 for (UInt j = 0; j < sei.m_vpsMaxLayers; j++) 898 { 899 if (sei.m_layerIdIncludedFlag[lsIdx][j]) 900 nl++; 901 } 902 for (UInt j = 0; j < nl; j++) 903 { 904 #else 895 905 for (UInt j = 0; j < sei.m_vpsMaxLayers; j++) 896 906 { 897 907 if (sei.m_layerIdIncludedFlag[lsIdx][j]) 898 908 { 909 #endif 899 910 WRITE_FLAG( sei.m_seiLayerInBspFlag[lsIdx][i][j], "sei_layer_in_bsp_flag[lsIdx][i][j]" ); 900 911 } 901 } 912 #if !HRD_BPB 913 } 914 #endif 902 915 } 903 916 WRITE_UVLC( sei.m_seiNumBspSchedCombinationsMinus1[lsIdx], "sei_num_bsp_sched_combinations_minus1[i]");
Note: See TracChangeset for help on using the changeset viewer.