Changeset 866 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibCommon


Ignore:
Timestamp:
13 Aug 2014, 03:52:31 (11 years ago)
Author:
qualcomm
Message:

PTL information for each layer (Macro: PER_LAYER_PTL)

Signal PTL information for each layer in each output layer set. Support for specifying different PTL information for different output layer sets will be added in a future patch.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-dev/source/Lib/TLibCommon
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp

    r865 r866  
    24462446#endif
    24472447#endif
     2448#if !PER_LAYER_PTL
    24482449  ::memset(m_profileLevelTierIdx,  0, sizeof(m_profileLevelTierIdx));
     2450#endif
    24492451  m_maxOneActiveRefLayerFlag = true;
    24502452#if O0062_POC_LSB_NOT_PRESENT_FLAG
     
    30743076    assert( layerFoundNecessaryLayerFlag );
    30753077  }
     3078}
     3079#endif
     3080#if PER_LAYER_PTL
     3081Int const TComVPS::calculateLenOfSyntaxElement( Int const numVal )
     3082{
     3083  Int numBits = 1;
     3084  while((1 << numBits) < numVal)
     3085  {
     3086    numBits++;
     3087  }
     3088  return numBits;
    30763089}
    30773090#endif
  • branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h

    r865 r866  
    585585#endif
    586586#endif
     587#if PER_LAYER_PTL
     588  std::vector< std::vector<Int> >  m_profileLevelTierIdx;
     589#else
    587590  Int        m_profileLevelTierIdx[64];     
     591#endif
    588592  Bool       m_maxOneActiveRefLayerFlag;
    589593#if O0062_POC_LSB_NOT_PRESENT_FLAG
     
    984988#endif
    985989#endif
     990#if PER_LAYER_PTL
     991  Bool const getNecessaryLayerFlag(Int const i, Int const j) { return m_necessaryLayerFlag[i][j]; }
     992  std::vector< std::vector<Int> >* const getProfileLevelTierIdx() { return &m_profileLevelTierIdx; }
     993  std::vector<Int>* const getProfileLevelTierIdx(Int const olsIdx) { return &m_profileLevelTierIdx[olsIdx]; }
     994  Int    getProfileLevelTierIdx(Int const olsIdx, Int const layerIdx)     { return m_profileLevelTierIdx[olsIdx][layerIdx]; }
     995  Void   setProfileLevelTierIdx(Int const olsIdx, Int const layerIdx, Int const ptlIdx)     { m_profileLevelTierIdx[olsIdx][layerIdx] = ptlIdx; }
     996  Int const calculateLenOfSyntaxElement( Int const numVal );
     997#else
    986998  Int    getProfileLevelTierIdx(Int i)                        { return m_profileLevelTierIdx[i]; }
    987999  Void   setProfileLevelTierIdx(Int i, Int x)                 { m_profileLevelTierIdx[i] = x   ; }
     1000#endif
    9881001  Bool   getMaxOneActiveRefLayerFlag()                                          { return m_maxOneActiveRefLayerFlag;                      }
    9891002  Void   setMaxOneActiveRefLayerFlag(Bool x)                                    { m_maxOneActiveRefLayerFlag = x;                         }
  • branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h

    r865 r866  
    5757#define LIST_OF_PTL                      1      ///< JCTVC-R0272: Signalling the PTL for the 0-th OLS
    5858#define NECESSARY_LAYER_FLAG                   1      ////< Derivation of NecessaryLayerFlag
     59#define PER_LAYER_PTL                    1      ///< Signal profile-tier-level information for each layer.
    5960#endif
    6061#define O0137_MAX_LAYERID                1      ///< JCTVC-O0137, JCTVC-O0200, JCTVC-O0223: restrict nuh_layer_id and vps_max_layers_minus1
Note: See TracChangeset for help on using the changeset viewer.