Changeset 864 in SHVCSoftware


Ignore:
Timestamp:
12 Aug 2014, 03:21:07 (10 years ago)
Author:
qualcomm
Message:

JCTVC-R0272: Signalling the PTL for the 0-th OLS (Macro: LIST_OF_PTL)

Signalling of the PTL information of the 0-th OLS at the beginning of VPS extension.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-dev/source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r861 r864  
    13351335    vps->setIlpSshSignalingEnabledFlag(false);
    13361336#if VPS_EXTN_PROFILE_INFO
     1337
     1338#if LIST_OF_PTL
     1339  vps->getPTLForExtnPtr()->resize(1);   // Dummy object - unused.
     1340  for(i = 0; i < vps->getMaxLayers(); i++)
     1341  {
     1342    // TODO: The profile tier level have to be given support to be included in the configuration files
     1343    if(i == 0)
     1344    {
     1345      if( vps->getBaseLayerInternalFlag() && vps->getMaxLayers() > 1 )
     1346      {
     1347        vps->setProfilePresentFlag(1, false);
     1348        vps->getPTLForExtnPtr()->push_back( *(m_acTEncTop[0].getSPS()->getPTL()) );
     1349      }
     1350    }
     1351    else  // i > 0
     1352    {
     1353      vps->setProfilePresentFlag(i, true);
     1354      // Note - may need to be changed for other layer structures.
     1355      vps->getPTLForExtnPtr()->push_back( *(m_acTEncTop[0].getSPS()->getPTL()) );
     1356    }
     1357  }
     1358#else
    13371359  vps->getPTLForExtnPtr()->resize(vps->getNumLayerSets());
    13381360  for(Int setId = 1; setId < vps->getNumLayerSets(); setId++)
     
    13421364    *(vps->getPTLForExtn(setId)) = *(m_acTEncTop[setId].getSPS()->getPTL());
    13431365  }
     1366#endif
    13441367#endif
    13451368#if VPS_EXTN_DIRECT_REF_LAYERS
     
    14411464#endif
    14421465  // Target output layer
     1466#if LIST_OF_PTL
     1467  vps->setNumProfileTierLevel( vps->getPTLForExtnPtr()->size() ); // +1 for the base VPS PTL()
     1468#else
    14431469  vps->setNumOutputLayerSets(vps->getNumLayerSets());
    14441470  vps->setNumProfileTierLevel(vps->getNumLayerSets());
     1471#endif
    14451472#if !OUTPUT_LAYER_SETS_CONFIG // Taken care by configuration file parameter
    14461473#if P0295_DEFAULT_OUT_LAYER_IDC
  • branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h

    r862 r864  
    5353#define OUTPUT_LAYER_SETS_CONFIG         1
    5454#define MOVE_ADDN_LS_SIGNALLING          1      ///< JCTVC-R0238: (Ed.) Move additional layer set signalling in VPS extn.
     55#define PTL_SIGNALLING                   1      ///< Overall macro for all PTL-related signalling
     56#if PTL_SIGNALLING
     57#define LIST_OF_PTL                      1      ///< JCTVC-R0272: Signalling the PTL for the 0-th OLS
     58#endif
    5559#define O0137_MAX_LAYERID                1      ///< JCTVC-O0137, JCTVC-O0200, JCTVC-O0223: restrict nuh_layer_id and vps_max_layers_minus1
    5660
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r862 r864  
    11481148  Int OlsHighestOutputLayerId[MAX_VPS_LAYER_SETS_PLUS1];
    11491149#endif
     1150#if LIST_OF_PTL
     1151  if( vps->getMaxLayers() > 1 && vps->getBaseLayerInternalFlag() )
     1152  {
     1153    vps->setProfilePresentFlag(1, false);
     1154    vps->getPTLForExtnPtr()->empty();
     1155    vps->getPTLForExtnPtr()->resize(2);
     1156    vps->getPTLForExtn(1)->copyProfileInfo( vps->getPTL() );
     1157    parsePTL( vps->getPTLForExtn(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 );
     1158  }
     1159#endif
    11501160#if VPS_EXTN_MASK_AND_DIM_INFO
    11511161  UInt numScalabilityTypes = 0, i = 0, j = 0;
     
    13651375#endif
    13661376  vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel());
     1377#if LIST_OF_PTL
     1378  for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
     1379#else
    13671380  for(Int idx = 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
     1381#endif
    13681382  {
    13691383    READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); vps->setProfilePresentFlag(idx, uiCode ? true : false);
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r862 r864  
    905905  Int OlsHighestOutputLayerId[MAX_VPS_LAYER_SETS_PLUS1];
    906906#endif
     907#if LIST_OF_PTL
     908  if( vps->getMaxLayers() > 1 && vps->getBaseLayerInternalFlag() )
     909  {
     910    codePTL( vps->getPTLForExtn(1), false, vps->getMaxTLayers() - 1 );
     911  }
     912#endif
    907913#if VPS_EXTN_MASK_AND_DIM_INFO
    908914  UInt i = 0, j = 0;
     
    10631069  WRITE_UVLC( vps->getNumProfileTierLevel() - 1, "vps_num_profile_tier_level_minus1");
    10641070#endif
     1071#if LIST_OF_PTL
     1072  assert( vps->getNumProfileTierLevel() == vps->getPTLForExtnPtr()->size());
     1073  for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
     1074#else
    10651075  for(Int idx = 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
     1076#endif
    10661077  {
    10671078    WRITE_FLAG( vps->getProfilePresentFlag(idx),       "vps_profile_present_flag[i]" );
Note: See TracChangeset for help on using the changeset viewer.