Ignore:
Timestamp:
5 Nov 2014, 11:34:26 (9 years ago)
Author:
tech
Message:

HHI_DEPENDENCY_SIGNALLING_I1_J0107: Integrated IdRefListLayers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.cpp

    r1100 r1103  
    19471947    m_layerIdInNuh      [i] = ( i == 0 ) ? 0 : -1;
    19481948    m_numDirectRefLayers[i] = 0;
     1949#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     1950#if H_3D
     1951    m_numRefListLayers[i] = 0;
     1952#endif
     1953#endif
    19491954    m_vpsRepFormatIdx    [i] = 0;
    19501955    m_pocLsbNotPresentFlag[i] = 0;
     
    19651970      m_dependencyFlag  [i][j]    = false;
    19661971      m_idDirectRefLayer[i][j]    = -1;
     1972#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     1973#if H_3D
     1974      m_idRefListLayer[i][j]    = -1;
     1975#endif
     1976#endif
    19671977      m_idPredictedLayer[i][j]    = -1;
    19681978      m_idRefLayer      [i][j]    = -1;
     
    21032113    Int iNuhLId = getLayerIdInNuh( i );
    21042114    Int d = 0;
     2115#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     2116#if H_3D
     2117    Int l = 0;
     2118#endif
     2119#endif
    21052120    Int r = 0;
    21062121    Int p = 0;
     2122
    21072123    for( Int j = 0; j  <=  getMaxLayersMinus1(); j++ )
    21082124    {
     
    21122128        m_idDirectRefLayer[iNuhLId][d++] = jNuhLid;
    21132129      }
     2130#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     2131#if H_3D
     2132      if( getDirectDependencyFlag( i , j ) && ( getDepthId( iNuhLId ) == getDepthId( jNuhLid ) ))
     2133      {
     2134        m_idRefListLayer [iNuhLId][l++] = jNuhLid;
     2135      }
     2136#endif
     2137#endif
     2138
    21142139      if( getDependencyFlag( i , j ) )
    21152140      {
     
    21222147    }
    21232148    m_numDirectRefLayers[ iNuhLId ] = d;
     2149#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     2150#if H_3D
     2151    m_numRefListLayers[ iNuhLId ] = l;
     2152#endif
     2153#endif
     2154
    21242155    m_numRefLayers      [ iNuhLId ] = r;
    21252156    m_numPredictedLayers[ iNuhLId ] = p;
     
    25662597  xPrintArray( "IdRefLayer"      , getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefLayers, m_idRefLayer, true );
    25672598  xPrintArray( "IdDirectRefLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numDirectRefLayers, m_idDirectRefLayer, true );
     2599#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     2600#if H_3D
     2601  xPrintArray( "IdRefListLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefListLayers, m_idRefListLayer, true );
     2602#endif
     2603#endif
     2604
    25682605  std::cout << std::endl;
    25692606}
     
    35843621{
    35853622  TComVPS* vps = getVPS();
     3623#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     3624#if H_3D
     3625  Int refLayerIdx = vps->getLayerIdInVps( vps->getIdRefListLayer( getLayerId(), i ) );
     3626#else
    35863627  Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) );
     3628#endif
     3629#else
     3630  Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) );
     3631#endif
    35873632
    35883633  Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >=  getTLayer() )  && ( getTLayer() == 0  ) &&
     
    35963641  Int refLayerPicIdc = -1;
    35973642  Int curj = 0;
     3643#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     3644#if H_3D
     3645  for( Int i = 0;  i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ )
     3646#else
    35983647  for( Int i = 0;  i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )
     3648#endif
     3649#else
     3650  for( Int i = 0;  i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )
     3651#endif
    35993652  {
    36003653    if( getRefLayerPicFlag( i ) )
     
    36173670
    36183671  Int numRefLayerPics = 0;
     3672#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     3673#if H_3D
     3674  for( Int i = 0;  i < getVPS()->getNumRefListLayers( getLayerId()) ; i++ )
     3675#else
    36193676  for( Int i = 0;  i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )
     3677#endif
     3678#else
     3679  for( Int i = 0;  i < getVPS()->getNumDirectRefLayers( getLayerId()) ; i++ )
     3680#endif
    36203681  {
    36213682    numRefLayerPics += getRefLayerPicFlag( i );
     
    36423703    numActiveRefLayerPics = 0;
    36433704  }
     3705#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     3706#if H_3D
     3707  else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumRefListLayers( getLayerId() ) == 1 )
     3708#else
    36443709  else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )
     3710#endif
     3711#else
     3712  else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )
     3713#endif 
    36453714  {
    36463715    numActiveRefLayerPics = 1;
     
    36553724Int TComSlice::getRefPicLayerId( Int i )
    36563725{
     3726#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     3727#if H_3D
     3728  return getVPS()->getIdRefListLayer( getLayerId(), getInterLayerPredLayerIdc( i ) );
     3729#else
    36573730  return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) );
     3731#endif
     3732#else
     3733  return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) );
     3734#endif
    36583735}
    36593736
Note: See TracChangeset for help on using the changeset viewer.