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


Ignore:
Timestamp:
5 Apr 2013, 17:33:21 (12 years ago)
Author:
vidyo
Message:

Adding missing syntax elements for VPS extension; by default this code is disabled. Turn on VPS_EXTN_MASK_AND_DIM_INFO to enable this code.

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

Legend:

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

    r112 r115  
    14851485    m_uiMaxLatencyIncrease[i] = 0;
    14861486  }
     1487#if VPS_EXTN_MASK_AND_DIM_INFO
     1488  m_avcBaseLayerFlag = false;
     1489  m_splittingFlag = false;
     1490  ::memset(m_scalabilityMask, 0, sizeof(m_scalabilityMask));
     1491  ::memset(m_dimensionIdLen, 0, sizeof(m_dimensionIdLen));
     1492  m_nuhLayerIdPresentFlag = false;
     1493  ::memset(m_layerIdInNuh, 0, sizeof(m_layerIdInNuh));
     1494  ::memset(m_dimensionId, 0, sizeof(m_dimensionId));
     1495
     1496  m_numScalabilityTypes = 0;
     1497  ::memset(m_layerIdInVps, 0, sizeof(m_layerIdInVps));
     1498#endif
    14871499#if VPS_EXTN_PROFILE_INFO
    14881500  ::memset(m_profilePresentFlag, 0, sizeof(m_profilePresentFlag));
  • branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TComSlice.h

    r112 r115  
    516516  // Variables related to VPS extensions
    517517  // ------------------------------------------
     518#if VPS_EXTN_MASK_AND_DIM_INFO
     519  Bool       m_avcBaseLayerFlag;                                // For now, always set to true.
     520  Bool       m_splittingFlag;
     521  Bool       m_scalabilityMask[MAX_VPS_NUM_SCALABILITY_TYPES];
     522  UInt       m_dimensionIdLen[MAX_VPS_NUM_SCALABILITY_TYPES];
     523  Bool       m_nuhLayerIdPresentFlag;
     524  UInt       m_layerIdInNuh[MAX_VPS_LAYER_ID_PLUS1];            // Maps layer ID in the VPS with layer_id_in_nuh
     525  UInt       m_dimensionId[MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_NUM_SCALABILITY_TYPES];
     526
     527  // Below are derived variables
     528  UInt       m_numScalabilityTypes;
     529  UInt       m_layerIdInVps[MAX_VPS_LAYER_ID_PLUS1];            // Maps layer_id_in_nuh with the layer ID in the VPS
     530#endif
    518531#if VPS_EXTN_PROFILE_INFO
    519532  // Profile-tier-level signalling related
     
    594607#if L0043_TIMING_INFO
    595608  TimingInfo* getTimingInfo() { return &m_timingInfo; }
     609#endif
     610#if VPS_EXTN_MASK_AND_DIM_INFO
     611  Bool   getAvcBaseLayerFlag()                                  { return m_avcBaseLayerFlag;       }
     612  Void   setAvcBaseLayerFlag(Bool x)                            { m_avcBaseLayerFlag = x;          }
     613
     614  Bool   getSplittingFlag()                                     { return m_splittingFlag;          }
     615  Void   setSplittingFlag(Bool x)                               { m_splittingFlag = x;             }
     616
     617  Bool   getScalabilityMask(Int id)                             { return m_scalabilityMask[id];    }
     618  Void   setScalabilityMask(Int id, Bool x)                     { m_scalabilityMask[id] = x;       }
     619
     620  UInt   getDimensionIdLen(Int id)                              { return m_dimensionIdLen[id];     }
     621  Void   setDimensionIdLen(Int id, UInt x)                      { m_dimensionIdLen[id] = x;        }
     622
     623  Bool   getNuhLayerIdPresentFlag()                             { return m_nuhLayerIdPresentFlag;  }
     624  Void   setNuhLayerIdPresentFlag(Bool x)                       { m_nuhLayerIdPresentFlag = x;     }
     625
     626  UInt   getLayerIdInNuh(Int id)                                { return m_layerIdInNuh[id];       }
     627  Void   setLayerIdInNuh(Int id, UInt x)                        { m_layerIdInNuh[id] = x;          }
     628
     629  UInt   getDimensionId(Int lyrId, Int id)                      { return m_dimensionId[lyrId][id]; }
     630  Void   setDimensionId(Int lyrId, Int id, UInt x)              { m_dimensionId[lyrId][id] = x;    }
     631
     632  UInt   getNumScalabilityTypes()                               { return m_numScalabilityTypes;    }
     633  Void   setNumScalabilityTypes(UInt x)                         { m_numScalabilityTypes = x;       }
     634
     635  UInt   getLayerIdInVps(Int id)                                { return m_layerIdInVps[id];       }
     636  Void   setLayerIdInVps(Int id, UInt x)                        { m_layerIdInVps[id] = x;          }
    596637#endif
    597638#if VPS_EXTN_PROFILE_INFO
  • branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TypeDef.h

    r112 r115  
    4747#define VPS_EXTNS                        1      ///< Include function structure for VPS extensions
    4848#if VPS_EXTNS
     49#define VPS_EXTN_MASK_AND_DIM_INFO       0      ///< Include avc_base_layer_flag, splitting_flag, scalability mask and dimension related info
    4950#define VPS_EXTN_OP_LAYER_SETS           1      ///< Include output layer sets in VPS extension
    5051#define VPS_EXTN_PROFILE_INFO            1      ///< Include profile information for layer sets in VPS extension
     
    137138#define L0232_RD_PENALTY           1  ///< L0232: RD-penalty for 32x32 TU for intra in non-intra slices
    138139
     140#if VPS_EXTN_MASK_AND_DIM_INFO
     141#define MAX_VPS_NUM_SCALABILITY_TYPES             16
     142#endif
    139143#if VPS_RENAME
    140144#define MAX_VPS_LAYER_SETS_PLUS1                  1024
Note: See TracChangeset for help on using the changeset viewer.