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


Ignore:
Timestamp:
11 Apr 2013, 00:34:54 (12 years ago)
Author:
qualcomm
Message:

Signaling direct reference layers in VPS extension (MACRO: VPS_EXTN_DIRECT_REF_LAYERS)

Includes signaling of direct_dependency_flag in VPS extension, that indicates the direct reference layers of all the layers. Includes configuration file support using NumDirectRefLayers%d and RefLayerIds%d. Arbitrary values of nuh_layer_id for different layers would still need configuration file support for layer_id_in_nuh.

From: Adarsh K. Ramasubramonian <aramasub@…>

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

    r115 r118  
    15061506  ::memset(m_outputLayerSetIdx, 0, sizeof(m_outputLayerSetIdx));
    15071507  ::memset(m_outputLayerFlag, 0, sizeof(m_outputLayerFlag));
     1508#endif
     1509#if VPS_EXTN_DIRECT_REF_LAYERS
     1510  ::memset(m_directDependencyFlag, 0, sizeof(m_directDependencyFlag));
     1511  ::memset(m_numDirectRefLayers,   0, sizeof(m_numDirectRefLayers  ));
     1512  ::memset(m_refLayerId,           0, sizeof(m_refLayerId          ));
    15081513#endif
    15091514}
  • branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TComSlice.h

    r115 r118  
    541541  UInt       m_outputLayerSetIdx[MAX_VPS_LAYER_SETS_PLUS1];
    542542  Bool       m_outputLayerFlag[MAX_VPS_LAYER_SETS_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
    543   // .. More declarations here
     543#endif
     544#if VPS_EXTN_DIRECT_REF_LAYERS
     545  Bool       m_directDependencyFlag[MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
     546  UInt       m_numDirectRefLayers[MAX_VPS_LAYER_ID_PLUS1];
     547  UInt       m_refLayerId[MAX_VPS_LAYER_ID_PLUS1][MAX_VPS_LAYER_ID_PLUS1];
    544548#endif
    545549
     
    656660  Bool   getOutputLayerFlag(Int layerSet, Int layerId)          { return m_outputLayerFlag[layerSet][layerId]; }
    657661  Void   setOutputLayerFlag(Int layerSet, Int layerId, Bool x)  { m_outputLayerFlag[layerSet][layerId] = x;    }
     662#endif
     663#if VPS_EXTN_DIRECT_REF_LAYERS
     664  // Direct dependency of layers
     665  Bool   getDirectDependencyFlag(Int i, Int j)                  { return m_directDependencyFlag[i][j]; }
     666  Void   setDirectDependencyFlag(Int i, Int j, Bool x)          { m_directDependencyFlag[i][j] = x;    }
     667 
     668  UInt   getNumDirectRefLayers(Int i)                                { return m_numDirectRefLayers[i];         }
     669  Void   setNumDirectRefLayers(Int i, UInt x)                        { m_numDirectRefLayers[i] = x;            }
     670
     671  UInt   getRefLayerId(Int i, Int j)                            { return m_refLayerId[i][j];           }
     672  Void   setRefLayerId(Int i, Int j, UInt x)                    { m_refLayerId[i][j] = x;              }
    658673#endif
    659674};
  • branches/HM-10.0-dev-SHM/source/Lib/TLibCommon/TypeDef.h

    r117 r118  
    5050#define VPS_EXTN_OP_LAYER_SETS           1      ///< Include output layer sets in VPS extension
    5151#define VPS_EXTN_PROFILE_INFO            1      ///< Include profile information for layer sets in VPS extension
     52#define VPS_EXTN_DIRECT_REF_LAYERS       1      ///< Include indication of direct dependency of layers in VPS extension
    5253#endif
    5354#define MAX_LAYERS                       2      ///< max number of layers the codec is supposed to handle
Note: See TracChangeset for help on using the changeset viewer.