Changeset 1332 in 3DVCSoftware


Ignore:
Timestamp:
21 Sep 2015, 02:24:51 (9 years ago)
Author:
tech
Message:

Fixes.

Location:
branches/HTM-15.1-dev0-Vidyo
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-15.1-dev0-Vidyo/cfg/SEI/layersNotPresentSei.cfg

    r1328 r1332  
    11
    2 PayloadType                     : TBD
     2PayloadType                     : 160
    33
    44#======== Applicability  ==========    ( SEI is only send for pictures in intersection )
    5 ApplicableLayerIds              : TBD                            # LayerIds      of layers   to which the SEI is added. (all when empty)
    6 ApplicablePocs                  : TBD                            # POCs          of pictures to which the SEI is added. (all when empty)
    7 ApplicableTids                  : TBD                            # Tids          of pictures to which the SEI is added. (all when empty)
    8 ApplicableVclNaluTypes          : TBD                            # NaluUnitTypes of picture  to which the SEI is added. (all when empty)
     5ApplicableLayerIds              :                             # LayerIds      of layers   to which the SEI is added. (all when empty)
     6ApplicablePocs                  :                             # POCs          of pictures to which the SEI is added. (all when empty)
     7ApplicableTids                  :                             # Tids          of pictures to which the SEI is added. (all when empty)
     8ApplicableVclNaluTypes          : 19 20                          # NaluUnitTypes of picture  to which the SEI is added. (all when empty)
    99
    1010#======== Position in bit stream  ============
     
    1313
    1414#======== Payload modification =============
    15 ModifyByEncoder                 : TBD                            #  0: Use payload as specified in cfg file   1: Modify SEI by encoder.
     15ModifyByEncoder                 : 0                               #  0: Use payload as specified in cfg file   1: Modify SEI by encoder.
    1616
    1717#======== Payload specification =============
    1818LnpSeiActiveVpsId               : 0
    19 LayerNotPresentFlag             : 0
     19LayerNotPresentFlag             : 0 0 0                           # All layers present
  • branches/HTM-15.1-dev0-Vidyo/source/Lib/TLibCommon/SEI.cpp

    r1331 r1332  
    350350  // TBD: Add default values for which layers, POCS, Tids or Nalu types the SEI should be send.
    351351  // This SEI message doesn't need to be added by default to any Layer / POC / NAL Unit / T Layer. Not sure if empty is right.
    352   defAppLayerIds     empty( );      //push_back( TBD );
    353   defAppPocs         empty( );      //push_back( TBD );
    354   defAppTids         empty( );      //push_back( TBD );
    355   defAppVclNaluTypes.empty( );      //push_back( TBD );
    356 
    357   Int      defSeiNaluId                  = 0; 
     352  defAppLayerIds    .empty( );
     353  defAppPocs        .empty( );
     354  defAppTids        .empty( );
     355  defAppVclNaluTypes.empty( );
     356
     357  Int      defSeiNaluId                  = 0;
    358358  Int      defPositionInSeiNalu          = 0;
    359359  Bool     defModifyByEncoder            = false;   //0: Use payload as specified in cfg file   1: Modify SEI by encoder
     
    378378  Bool SEILayersNotPresent::checkCfg( const TComSlice* slice )
    379379  {
    380 //  // Check config values
    381 //  Bool wrongConfig = false;
     380  // Check config values
     381    Bool wrongConfig = false;
    382382//
     383    const TComVPS* vps = slice->getVPS();
    383384//  // TBD: Add constraints on presence of SEI here.
    384 //  xCheckCfg     ( wrongConfig, TBD , "TBD" );
    385 //  xCheckCfg     ( wrongConfig, TBD , "TBD" );
    386 //
    387 //  // TBD: Modify constraints according to the SEI semantics.
    388 //  xCheckCfgRange( wrongConfig, m_lnpSeiActiveVpsId              , MINVAL , MAXVAL, "lnp_sei_active_vps_id"            );
    389 //  xCheckCfgRange( wrongConfig, m_layerNotPresentFlag[i]         , MINVAL , MAXVAL, "layer_not_present_flag"           );
    390 //
    391 //  return wrongConfig;
    392       return false;
     385    xCheckCfg     ( wrongConfig, m_lnpSeiActiveVpsId == vps->getVPSId(), "The value of lnp_sei_active_vps_id shall be equal to the value of vps_video_parameter_set_id of the active VPS for the VCL NAL units of the access unit containing the SEI message." );
     386
     387
     388    for (Int i = 0; i < vps->getMaxLayersMinus1(); i++)
     389    {
     390      if ( m_layerNotPresentFlag[ i ] && i < vps->getMaxLayersMinus1() )
     391      {
     392        for (Int j = 0; j < vps->getNumPredictedLayers( vps->getLayerIdInNuh( j ) - 1 ); j++ )
     393        {
     394          xCheckCfg     ( wrongConfig, m_layerNotPresentFlag[ vps->getLayerIdInVps( vps->getIdPredictedLayer( vps->getLayerIdInNuh(i),j) )], "When layer_not_present_flag[ i ] is equal to 1 and i is less than MaxLayersMinus1, layer_not_present_flag[ LayerIdxInVps[ IdPredictedLayer[ layer_id_in_nuh[ i ] ][ j ] ] ] shall be equal to 1 for all values of j in the range of 0 to NumPredictedLayers[ layer_id_in_nuh[ i ] ] - 1, inclusive." );
     395        }
     396      }
     397    }
     398
     399      return wrongConfig;
    393400  };
    394 //
    395 //Void SEILayersNotPresent::setupFromSlice  ( const TComSlice* slice )
    396 //{
    397 //  sei.m_lnpSeiActiveVpsId =  TBD ;
    398 //  for( Int i = 0; i  <=  MaxLayersMinus1; i++ )
    399 //  {
    400 //    sei.m_layerNotPresentFlag[i] =  TBD ;
    401 //  }
    402 //};
    403401#endif
    404402
  • branches/HTM-15.1-dev0-Vidyo/source/Lib/TLibCommon/SEI.h

    r1331 r1332  
    670670
    671671  Void setupFromCfgFile( const Char*      cfgFile );
    672   //Void setupFromSlice  ( const TComSlice* slice   );
    673672  Bool checkCfg        ( const TComSlice* slice   );
    674673
     
    677676  BoolAry1d m_layerNotPresentFlag;
    678677
    679   void resizeDimI( Int sizeDimI )
     678  Void resizeDimI( Int sizeDimI )
    680679  {
    681680    m_layerNotPresentFlag.resize( sizeDimI );
  • branches/HTM-15.1-dev0-Vidyo/source/Lib/TLibDecoder/SEIread.cpp

    r1331 r1332  
    12171217{
    12181218  UInt code;
    1219   UInt i = 0;
    12201219
    12211220  output_sei_message_header(sei, pDecodedMessageOutputStream, payloadSize);
     
    12251224  sei.m_lnpSeiMaxLayers = vps->getMaxLayersMinus1() + 1;
    12261225  sei.resizeDimI(sei.m_lnpSeiMaxLayers);
    1227   for (; i < sei.m_lnpSeiMaxLayers; i++)
     1226  for (Int i = 0; i < sei.m_lnpSeiMaxLayers; i++)
    12281227  {
    12291228    sei_read_flag( pDecodedMessageOutputStream, code, "layer_not_present_flag" );
Note: See TracChangeset for help on using the changeset viewer.