Changeset 1075 in SHVCSoftware for branches/SHM-dev/source


Ignore:
Timestamp:
10 Mar 2015, 17:01:11 (10 years ago)
Author:
seregin
Message:

default NecessaryLayerFlag setting when VPS extension is not present. Add a check for target layerId.

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

Legend:

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

    r1073 r1075  
    37093709  }
    37103710
     3711#if NECESSARY_LAYER_FLAG
     3712  // Default output layer set
     3713  // The value of NumLayersInIdList[ 0 ] is set equal to 1 and the value of LayerSetLayerIdList[ 0 ][ 0 ] is set equal to 0.
     3714  vps->setOutputLayerSetIdx(0, 0);
     3715
     3716  // The value of output_layer_flag[ 0 ][ 0 ] is inferred to be equal to 1.
     3717  vps->setOutputLayerFlag(0, 0, true);
     3718
     3719  vps->deriveNecessaryLayerFlag(0);
     3720#endif
     3721
    37113722  // The value of sub_layer_dpb_info_present_flag[ i ][ 0 ] for any possible value of i is inferred to be equal to 1
    37123723  // When not present, the value of sub_layer_dpb_info_present_flag[ i ][ j ] for j greater than 0 and any possible value of i, is inferred to be equal to be equal to 0.
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r1073 r1075  
    29072907    return; // Already checked
    29082908  }
     2909
     2910  if( params->getTargetLayerId() > vps->getMaxLayerId() )
     2911  {
     2912    printf( "Warning: specified target layerId %d is greater than max layerId %d. Target layerId is set equal to max layerId %d.\n", params->getTargetLayerId(), vps->getMaxLayerId(), vps->getMaxLayerId() );
     2913    params->setTargetLayerId( vps->getMaxLayerId() );
     2914  }
     2915
    29092916  if( params->getTargetOutputLayerSetIdx() == -1 )  // Output layer set index not specified
    29102917  {
     
    32003207  }
    32013208
    3202   for (UInt layer = 0; layer <= MAX_VPS_LAYER_IDX_PLUS1 - 1; layer++)
    3203   {
    3204     m_ppcTDecTop[layer]->m_smallestLayerId = smallestLayerId;
     3209  for( UInt layerId = 0; layerId < MAX_VPS_LAYER_IDX_PLUS1; layerId++ )
     3210  {
     3211    m_ppcTDecTop[layerId]->m_smallestLayerId = smallestLayerId;
    32053212  }
    32063213}
Note: See TracChangeset for help on using the changeset viewer.