Changeset 777 in SHVCSoftware


Ignore:
Timestamp:
21 May 2014, 03:45:51 (11 years ago)
Author:
sharp
Message:
  1. Deshpande (Sharp) <sdeshpande@…>

JCTVC-Q0100 - RPS DPB constraints

Location:
branches/SHM-6-dev/source/Lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r776 r777  
    265265#define LAYER_DECPICBUFF_PARAM           1      ///< JCTVC-Q0102 Proposal 2 infer value from layer DPB param
    266266#define HRD_BPB                         1      ///< JCTVC-Q0101 Bitstream Partition Buffering Proposals
    267 
     267#define DPB_CONSTRAINTS                  1      ///< JCTVC-Q0100 RPS DPB constraints
    268268#define P0050_KNEE_FUNCTION_SEI          1      ///< JCTVC-P0050: Knee function SEI
    269269
  • branches/SHM-6-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r774 r777  
    27052705        rps->setNumberOfPictures(offset);
    27062706      }
     2707#if DPB_CONSTRAINTS
     2708          if(rpcSlice->getVPS()->getVpsExtensionFlag()==1)
     2709          {
     2710              for (Int ii=1; ii< rpcSlice->getVPS()->getNumOutputLayerSets(); ii++ )
     2711              {
     2712                  Int layerSetIdxForOutputLayerSet = rpcSlice->getVPS()->getOutputLayerSetIdx( ii );
     2713                  Int chkAssert=0;
     2714                  for(Int kk = 0; kk < rpcSlice->getVPS()->getNumLayersInIdList(layerSetIdxForOutputLayerSet); kk++)
     2715                  {
     2716                      if(rpcSlice->getLayerId()==rpcSlice->getVPS()->getLayerSetLayerIdList(layerSetIdxForOutputLayerSet, kk))
     2717                      {
     2718                          chkAssert=1;
     2719                      }
     2720                  }
     2721                  if(chkAssert)
     2722                  {
     2723                      assert(rps->getNumberOfNegativePictures() <= rpcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1(ii , rpcSlice->getLayerId() , rpcSlice->getVPS()->getMaxSLayersInLayerSetMinus1(ii)));
     2724                      assert(rps->getNumberOfPositivePictures() <= rpcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1(ii , rpcSlice->getLayerId() , rpcSlice->getVPS()->getMaxSLayersInLayerSetMinus1(ii)) - rps->getNumberOfNegativePictures());
     2725                      assert((rps->getNumberOfPositivePictures() + rps->getNumberOfNegativePictures() + rps->getNumberOfLongtermPictures()) <= rpcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1(ii , rpcSlice->getLayerId() , rpcSlice->getVPS()->getMaxSLayersInLayerSetMinus1(ii)));
     2726                  }
     2727              }
     2728             
     2729             
     2730          }
     2731          if(rpcSlice->getLayerId() == 0)
     2732          {
     2733              assert(rps->getNumberOfNegativePictures() <= rpcSlice->getSPS()->getMaxDecPicBuffering(rpcSlice->getSPS()->getMaxTLayers()-1) );
     2734              assert(rps->getNumberOfPositivePictures() <= rpcSlice->getSPS()->getMaxDecPicBuffering(rpcSlice->getSPS()->getMaxTLayers()-1) -rps->getNumberOfNegativePictures());
     2735              assert((rps->getNumberOfPositivePictures() + rps->getNumberOfNegativePictures() + rps->getNumberOfLongtermPictures()) <= rpcSlice->getSPS()->getMaxDecPicBuffering(rpcSlice->getSPS()->getMaxTLayers()-1));
     2736          }
     2737#endif
    27072738      if ( rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_LP
    27082739        || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_RADL
Note: See TracChangeset for help on using the changeset viewer.