Changeset 614 in SHVCSoftware for branches/SHM-5.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
12 Feb 2014, 04:01:42 (12 years ago)
Author:
sharp
Message:
  1. Deshpande (Sharp) <sdeshpande@…>

JCTVC-P0156 DPB parameters up to maximum temporal sub-layers in the layer set
JCTVC-P0156 output_layer_flag[ i ][ j ] is signalled for j equal to 0 to NumLayersInIdList[ lsIdx ] inclusive

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r613 r614  
    12541254    {
    12551255      Int lsIdx = vps->getOutputLayerSetIdx(i);
     1256#if NUM_OL_FLAGS
     1257      for(j = 0; j < vps->getNumLayersInIdList(lsIdx) ; j++)
     1258#else
    12561259      for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++)
     1260#endif
    12571261      {
    12581262        READ_FLAG( uiCode, "output_layer_flag[i][j]"); vps->setOutputLayerFlag(i, j, uiCode);
     
    13251329      READ_CODE( numBits, uiCode, "output_layer_set_idx_minus1");   vps->setOutputLayerSetIdx( i, uiCode + 1);
    13261330      Int lsIdx = vps->getOutputLayerSetIdx(i);
     1331#if NUM_OL_FLAGS
     1332      for(j = 0; j < vps->getNumLayersInIdList(lsIdx) ; j++)
     1333#else
    13271334      for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++)
     1335#endif
    13281336      {
    13291337        READ_FLAG( uiCode, "output_layer_flag[i][j]"); vps->setOutputLayerFlag(i, j, uiCode);
     
    16311639{
    16321640  UInt uiCode;
     1641#if DPB_PARAMS_MAXTLAYERS
     1642    Int * MaxSubLayersInLayerSetMinus1 = new Int[vps->getNumOutputLayerSets()];
     1643    for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
     1644    {
     1645        UInt maxSLMinus1 = 0;
     1646#if CHANGE_NUMSUBDPB_IDX
     1647        Int optLsIdx = vps->getOutputLayerSetIdx( i );
     1648#else
     1649        Int optLsIdx = i;
     1650#endif
     1651        for(Int k = 0; k < vps->getNumLayersInIdList(optLsIdx); k++ ) {
     1652            Int  lId = vps->getLayerSetLayerIdList(optLsIdx, k);
     1653            maxSLMinus1 = max(maxSLMinus1, vps->getMaxTSLayersMinus1(vps->getLayerIdInVps(lId)));
     1654        }
     1655        MaxSubLayersInLayerSetMinus1[ i ] = maxSLMinus1;
     1656    }
     1657#endif
     1658   
    16331659#if !RESOLUTION_BASED_DPB
    16341660  vps->deriveNumberOfSubDpbs();
     
    16401666#endif
    16411667    READ_FLAG( uiCode, "sub_layer_flag_info_present_flag[i]");  vps->setSubLayerFlagInfoPresentFlag( i, uiCode ? true : false );
    1642     for(Int j = 0; j < vps->getMaxTLayers(); j++)
     1668#if DPB_PARAMS_MAXTLAYERS
     1669      for(Int j = 0; j <= MaxSubLayersInLayerSetMinus1[ i ]; j++)
     1670#else
     1671    for(Int j = 0; j <= vps->getMaxTLayers(); j++)
     1672#endif
    16431673    {
    16441674      if( j > 0 && vps->getSubLayerFlagInfoPresentFlag(i) )
Note: See TracChangeset for help on using the changeset viewer.