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/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HM-10.0-dev-SHM/source/Lib/TLibEncoder/TEncCavlc.cpp

    r116 r118  
    731731  }
    732732#endif
    733   // ... More syntax elements to be written here
     733#if VPS_EXTN_DIRECT_REF_LAYERS
     734  for( Int layerCtr = 1; layerCtr <= vps->getMaxLayers() - 1; layerCtr++)
     735  {
     736    for( Int refLayerCtr = 0; refLayerCtr < layerCtr; refLayerCtr++)
     737    {
     738      WRITE_FLAG(vps->getDirectDependencyFlag(layerCtr, refLayerCtr), "direct_dependency_flag[i][j]" );
     739    }
     740  }
     741#endif
    734742}
    735743#endif
  • branches/HM-10.0-dev-SHM/source/Lib/TLibEncoder/TEncCfg.h

    r54 r118  
    142142  Int       m_maxTempLayer;                      ///< Max temporal layer
    143143  Bool m_useAMP;
     144#if VPS_EXTN_DIRECT_REF_LAYERS
     145  Int       m_numDirectRefLayers;
     146  Int       m_refLayerId[MAX_VPS_LAYER_ID_PLUS1];
     147#endif
    144148  //======= Transform =============
    145149  UInt      m_uiQuadtreeTULog2MaxSize;
     
    350354  Bool      getMaxTempLayer                 ()                              { return m_maxTempLayer;              }
    351355  Void      setMaxTempLayer                 ( Int maxTempLayer )            { m_maxTempLayer = maxTempLayer;      }
     356#if VPS_EXTN_DIRECT_REF_LAYERS
     357  Int       getNumDirectRefLayers           ()                              { return m_numDirectRefLayers;      }
     358  Void      setNumDirectRefLayers           (Int num)                       { m_numDirectRefLayers = num;       }
     359
     360  Int       getRefLayerId                   (Int i)                         { return m_refLayerId[i];           }
     361  Void      setRefLayerId                   (Int i, Int refLayerId)         { m_refLayerId[i] = refLayerId;     }
     362#endif
    352363  //======== Transform =============
    353364  Void      setQuadtreeTULog2MaxSize        ( UInt  u )      { m_uiQuadtreeTULog2MaxSize = u; }
Note: See TracChangeset for help on using the changeset viewer.