Changeset 109 in SHVCSoftware for branches/HM-10.0-dev-SHM/source/Lib


Ignore:
Timestamp:
3 Apr 2013, 01:05:45 (12 years ago)
Author:
qualcomm
Message:

Function structure for VPS extension (MACRO: VPS_EXTNS)

Added VPS extension flag and function structure for VPS extension.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/HM-10.0-dev-SHM/source/Lib
Files:
5 edited

Legend:

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

    r108 r109  
    4545#if SVC_EXTENSION
    4646#define VPS_RENAME                       1      ///< Rename variables max_layer_id and num_layer_sets_minus1 in VPS
     47#define VPS_EXTNS                        1      ///< Include function structure for VPS extensions
    4748#define MAX_LAYERS                       2      ///< max number of layers the codec is supposed to handle
    4849
  • branches/HM-10.0-dev-SHM/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r108 r109  
    815815  if (uiCode)
    816816  {
     817#if VPS_EXTNS
     818    parseVPSExtension(pcVPS);
     819    READ_FLAG( uiCode, "vps_entension2_flag" );
     820    if(uiCode)
     821    {
     822      while ( xMoreRbspData() )
     823      {
     824        READ_FLAG( uiCode, "vps_extension_data_flag");
     825      }
     826    }
     827#else
    817828    while ( xMoreRbspData() )
    818829    {
    819830      READ_FLAG( uiCode, "vps_extension_data_flag");
    820831    }
     832#endif
    821833  }
    822834 
    823835  return;
    824836}
     837
     838#if VPS_EXTNS
     839Void TDecCavlc::parseVPSExtension(TComVPS *vps)
     840
     841  // ... More syntax elements to be parsed here
     842
     843  // ... More syntax elements to be parsed here
     844}
     845#endif
    825846
    826847Void TDecCavlc::parseSliceHeader (TComSlice*& rpcSlice, ParameterSetManagerDecoder *parameterSetManager)
  • branches/HM-10.0-dev-SHM/source/Lib/TLibDecoder/TDecCAVLC.h

    r54 r109  
    8181  Void  parseQtRootCbf      ( UInt uiAbsPartIdx, UInt& uiQtRootCbf );
    8282  Void  parseVPS            ( TComVPS* pcVPS );
     83#if VPS_EXTNS
     84  Void  parseVPSExtension   ( TComVPS* pcVPS );
     85#endif
    8386  Void  parseSPS            ( TComSPS* pcSPS );
    8487  Void  parsePPS            ( TComPPS* pcPPS);
  • branches/HM-10.0-dev-SHM/source/Lib/TLibEncoder/TEncCavlc.cpp

    r108 r109  
    649649  }
    650650#endif
     651#if !VPS_EXTNS
    651652  WRITE_FLAG( 0,                     "vps_extension_flag" );
    652  
     653#else
     654  WRITE_FLAG( 1,                     "vps_extension_flag" );
     655  codeVPSExtension(pcVPS);
     656  WRITE_FLAG( 0,                     "vps_extension2_flag" );   // Flag value of 1 reserved
     657#endif 
    653658  //future extensions here..
    654659 
    655660  return;
    656661}
     662
     663#if VPS_EXTNS
     664Void TEncCavlc::codeVPSExtension (TComVPS *vps)
     665{
     666  // ... More syntax elements to be written here
     667
     668  // ... More syntax elements to be written here
     669}
     670#endif
    657671
    658672Void TEncCavlc::codeSliceHeader         ( TComSlice* pcSlice )
  • branches/HM-10.0-dev-SHM/source/Lib/TLibEncoder/TEncCavlc.h

    r54 r109  
    8989  UInt  getCoeffCost          ()                { return  m_uiCoeffCost;  }
    9090  Void  codeVPS                 ( TComVPS* pcVPS );
     91#if VPS_EXTNS
     92  Void  codeVPSExtension        ( TComVPS* pcVPS );
     93#endif
    9194  Void  codeVUI                 ( TComVUI *pcVUI, TComSPS* pcSPS );
    9295  Void  codeSPS                 ( TComSPS* pcSPS );
Note: See TracChangeset for help on using the changeset viewer.