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


Ignore:
Timestamp:
17 Jun 2014, 16:58:15 (11 years ago)
Author:
nokia
Message:

Fix layer set array sizes

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComRom.h

    r778 r805  
    159159
    160160#ifndef ENC_DEC_TRACE
    161 # define ENC_DEC_TRACE 1
     161# define ENC_DEC_TRACE 0
    162162#endif
    163163
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.cpp

    r799 r805  
    27112711  setNumIndependentLayers(numIndependentLayers);
    27122712}
     2713
     2714void TComVPS::setLayerIdIncludedFlagsForAddLayerSets()
     2715{
     2716  for (UInt i = 0; i < getNumAddLayerSets(); i++)
     2717  {
     2718    for (UInt j = 1; j < getNumIndependentLayers(); j++)
     2719    {
     2720      Int layerNum = 0;
     2721      Int lsIdx = getVpsNumLayerSetsMinus1() + 1 + i;
     2722      for (Int layerId = 0; layerId < MAX_VPS_LAYER_ID_PLUS1; layerId++)
     2723      {
     2724        setLayerIdIncludedFlag(false, lsIdx, layerId);
     2725      }
     2726      for (Int treeIdx = 1; treeIdx < getNumIndependentLayers(); treeIdx++)
     2727      {
     2728        for (Int layerCnt = 0; layerCnt < getHighestLayerIdxPlus1(i, j); layerCnt++)
     2729        {
     2730          setLayerSetLayerIdList(lsIdx, layerNum, getTreePartitionLayerId(treeIdx, layerCnt));
     2731          setLayerIdIncludedFlag(true, lsIdx, getTreePartitionLayerId(treeIdx, layerCnt));
     2732          layerNum++;
     2733        }
     2734      }
     2735      setNumLayersInIdList(lsIdx, layerNum);
     2736    }
     2737  }
     2738}
     2739
    27132740#endif
    27142741
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.h

    r798 r805  
    140140 
    141141  Void  create  (Int numberOfEntries);
    142 #if Q0078_ADD_LAYER_SETS
    143   Void  copy(TComRPSList& a);
    144 #endif
    145142  Void  destroy();
    146143
     
    487484#if SVC_EXTENSION
    488485#if DERIVE_LAYER_ID_LIST_VARIABLES
     486#if Q0078_ADD_LAYER_SETS
     487  Int         m_layerSetLayerIdList[MAX_VPS_LAYER_SETS_PLUS1 + MAX_NUM_ADD_LAYER_SETS][MAX_VPS_LAYER_ID_PLUS1];
     488  Int         m_numLayerInIdList[MAX_VPS_LAYER_SETS_PLUS1 + MAX_NUM_ADD_LAYER_SETS];
     489#else
    489490  Int         m_layerSetLayerIdList[MAX_VPS_LAYER_SETS_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
    490491  Int         m_numLayerInIdList[MAX_VPS_LAYER_SETS_PLUS1];
     492#endif
    491493#endif
    492494#if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED
     
    498500  UInt        m_numLayerSets;
    499501#if Q0078_ADD_LAYER_SETS
    500   Bool        m_layerIdIncludedFlag[2*MAX_VPS_LAYER_SETS_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     502  UInt        m_vpsNumLayerSetsMinus1;
     503  Bool        m_layerIdIncludedFlag[MAX_VPS_LAYER_SETS_PLUS1 + MAX_NUM_ADD_LAYER_SETS][MAX_VPS_LAYER_ID_PLUS1];
    501504#else
    502505  Bool        m_layerIdIncludedFlag[MAX_VPS_LAYER_SETS_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     
    520523#endif
    521524#if BITRATE_PICRATE_SIGNALLING
     525#if Q0078_ADD_LAYER_SETS
     526  UInt       m_maxSLInLayerSetMinus1[MAX_VPS_LAYER_SETS_PLUS1 + MAX_NUM_ADD_LAYER_SETS];
     527#else
    522528  UInt       m_maxSLInLayerSetMinus1[MAX_VPS_LAYER_SETS_PLUS1];
     529#endif
    523530#endif
    524531   
     
    536543  // Target output layer signalling related
    537544  UInt       m_numOutputLayerSets;
     545#if Q0078_ADD_LAYER_SETS
     546  UInt       m_outputLayerSetIdx[MAX_VPS_LAYER_SETS_PLUS1 + 2*MAX_NUM_ADD_LAYER_SETS];
     547  Bool       m_outputLayerFlag[MAX_VPS_LAYER_SETS_PLUS1 + 2*MAX_NUM_ADD_LAYER_SETS][MAX_VPS_LAYER_ID_PLUS1];
     548#else
    538549  UInt       m_outputLayerSetIdx[MAX_VPS_LAYER_SETS_PLUS1];
    539550  Bool       m_outputLayerFlag[MAX_VPS_LAYER_SETS_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     551#endif
    540552#endif
    541553#if VPS_EXTN_DIRECT_REF_LAYERS
     
    633645
    634646#if P0300_ALT_OUTPUT_LAYER_FLAG
     647#if Q0078_ADD_LAYER_SETS
     648  Bool       m_altOutputLayerFlag[MAX_VPS_LAYER_SETS_PLUS1 + 2*MAX_NUM_ADD_LAYER_SETS];
     649#else
    635650  Bool       m_altOutputLayerFlag[MAX_VPS_LAYER_SETS_PLUS1];
     651#endif
    636652#else
    637653#if O0153_ALT_OUTPUT_LAYER_FLAG
     
    664680#if Q0078_ADD_LAYER_SETS
    665681  Int        m_numAddLayerSets;
    666   UInt       m_highestLayerIdxPlus1[MAX_VPS_LAYER_SETS_PLUS1][MAX_NUM_LAYER_IDS];
    667   UInt       m_predictedLayerId[MAX_NUM_LAYER_IDS][64];
     682  UInt       m_highestLayerIdxPlus1[MAX_NUM_ADD_LAYER_SETS][MAX_NUM_LAYER_IDS];
     683  UInt       m_predictedLayerId[MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS];
    668684  UInt       m_numPredictedLayers[MAX_NUM_LAYER_IDS];
    669685  Int        m_numIndependentLayers;
     
    684700  Int        m_maxVpsLatencyIncreasePlus1  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
    685701#if CHANGE_NUMSUBDPB_IDX
     702#if Q0078_ADD_LAYER_SETS
     703  Int        m_numSubDpbs                  [MAX_VPS_LAYER_SETS_PLUS1 + 2*MAX_NUM_ADD_LAYER_SETS];
     704#else
    686705  Int        m_numSubDpbs                  [MAX_VPS_LAYER_SETS_PLUS1];
     706#endif
    687707#else
    688708  Int        m_numSubDpbs                  [MAX_VPS_OP_LAYER_SETS_PLUS1];
     
    816836#endif
    817837#if Q0078_ADD_LAYER_SETS
     838  void    setLayerIdIncludedFlagsForAddLayerSets();
     839  UInt    getVpsNumLayerSetsMinus1()                                             { return m_vpsNumLayerSetsMinus1; }
     840  Void    setVpsNumLayerSetsMinus1(UInt x)                                       { m_vpsNumLayerSetsMinus1 = x; }
    818841  UInt    getNumAddLayerSets()                                                   { return m_numAddLayerSets; }
    819842  Void    setNumAddLayerSets(UInt x)                                             { m_numAddLayerSets = x; }
    820   UInt    getHighestLayerIdxPlus1(UInt set, UInt idx)                             { return m_highestLayerIdxPlus1[set][idx]; }
    821   Void    setHighestLayerIdxPlus1(UInt set, UInt idx, UInt layerIdx)              { m_highestLayerIdxPlus1[set][idx] = layerIdx; }
     843  UInt    getHighestLayerIdxPlus1(UInt set, UInt idx)                            { return m_highestLayerIdxPlus1[set][idx]; }
     844  Void    setHighestLayerIdxPlus1(UInt set, UInt idx, UInt layerIdx)             { m_highestLayerIdxPlus1[set][idx] = layerIdx; }
    822845  Void    setPredictedLayerIds();
    823846  UInt    getPredictedLayerId(UInt layerIdx, UInt predIdx)                       { return m_predictedLayerId[layerIdx][predIdx]; }
  • branches/SHM-6-dev/source/Lib/TLibCommon/TypeDef.h

    r804 r805  
    204204
    205205#define Q0078_ADD_LAYER_SETS             1      ///< JCTVC-Q0078: additional layer sets and layer set config
     206#if Q0078_ADD_LAYER_SETS
     207#define MAX_NUM_ADD_LAYER_SETS           1023
     208#endif
    206209
    207210#define VPS_DPB_SIZE_TABLE               1      ///< JCTVC-O0217: DPB operations: signaling DPB-related parameters
Note: See TracChangeset for help on using the changeset viewer.