Changeset 1076 in 3DVCSoftware for branches/HTM-12.1-dev0/source/Lib/TLibCommon


Ignore:
Timestamp:
21 Oct 2014, 21:25:42 (10 years ago)
Author:
tech
Message:

Removed MV-HEVC related macros part 2.

Location:
branches/HTM-12.1-dev0/source/Lib/TLibCommon
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r1075 r1076  
    18731873#if H_MV
    18741874  m_vpsBaseLayerInternalFlag = true;
    1875 #if H_MV_HLS10_GEN_VSP_BASE_LAYER_AVAIL
    18761875  m_vpsBaseLayerAvailableFlag = true;
    1877 #endif
    18781876#endif
    18791877
     
    19011899  {
    19021900    m_layerSetIdxForOlsMinus1[i]  = -1;
    1903 #if !H_MV_HLS10_PTL
    1904     m_profileLevelTierIdx[i]      = 0;
    1905 #endif
    19061901    for ( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++)
    19071902    {
    1908 #if H_MV_HLS10_PTL
    1909 #if H_MV_HLS10_PTL_FIX
    19101903      m_profileTierLevelIdx[i][j] = -1;
    1911 #else
    1912       m_profileTierLevelIdx[i][j] = false;
    1913 #endif
    1914 #endif
    19151904      m_outputLayerFlag[i][j] = false;
    19161905    }
     
    19701959      m_directDependencyFlag[i][j] = false;
    19711960      m_directDependencyType[i][j] = -1;
    1972 #if H_MV_HLS10_REF_PRED_LAYERS
    19731961      m_dependencyFlag  [i][j]    = false;
    19741962      m_idDirectRefLayer[i][j]    = -1;
    19751963      m_idPredictedLayer[i][j]    = -1;
    19761964      m_idRefLayer      [i][j]    = -1;
    1977 #else
    1978       m_refLayerId[i][j]           = -1;
    1979 #endif
    19801965      m_maxTidIlRefPicsPlus1[i][j]  = 7;
    19811966    }
     
    20612046  assert( getVpsNumRepFormatsMinus1() <= 255 );
    20622047
    2063 #if H_MV_HLS10_ADD_LAYERSETS
    20642048  // The value of num_add_layer_sets shall be in the range of 0 to 1023, inclusive.
    20652049  assert( getNumAddLayerSets() >= 0 && getNumAddLayerSets() <= 1023 );
    2066 #endif
    20672050  return true;
    20682051}
     
    20972080{
    20982081
    2099 #if H_MV_HLS10_REF_PRED_LAYERS
    21002082  for( Int i = 0; i  <=  getMaxLayersMinus1(); i++ )
    21012083  {
     
    21672149  }
    21682150  m_numIndependentLayers = k;
    2169 #else // H_MV_HLS10_GEN
    2170 
    2171   for( Int i = 0; i  <= getMaxLayersMinus1(); i++ )
    2172   {
    2173     Int iNuhLId = getLayerIdInNuh( i );
    2174     m_numDirectRefLayers[ iNuhLId ] = 0;
    2175     for( Int j = 0; j < i; j++ )
    2176     {
    2177       if( getDirectDependencyFlag(i , j) )
    2178       {
    2179         m_refLayerId[ iNuhLId ][m_numDirectRefLayers[ iNuhLId ]++ ] = getLayerIdInNuh( j );
    2180       }
    2181     }
    2182   }
    2183 
    2184   for (Int i = 0 ; i < MAX_NUM_LAYER_IDS; i++ )
    2185   {
    2186     m_numRefLayers[i] = 0;
    2187   }
    2188 
    2189   for (Int currLayerId = 0; currLayerId <= 62; currLayerId++ )
    2190   {
    2191     for (Int i = 0 ; i < MAX_NUM_LAYER_IDS; i++ )
    2192     {
    2193       m_recursiveRefLayerFlag[currLayerId][i] = 0;
    2194     }
    2195   }
    2196 
    2197   for( Int i = 0; i  <=  getMaxLayersMinus1(); i++ )
    2198   {
    2199     Int iNuhLId = getLayerIdInNuh( i );
    2200     xSetRefLayerFlags( iNuhLId );
    2201     for( Int j = 0; j < 63; j++ )
    2202     {
    2203       m_numRefLayers[ iNuhLId ]  +=  m_recursiveRefLayerFlag[ iNuhLId ][ j ];
    2204     }
    2205   }
    2206  
    2207   for( Int i = 0; i <= getMaxLayersMinus1(); i++ )  // Bug in spec "<" instead of "<="
    2208   {
    2209     Int iNuhLId = getLayerIdInNuh( i );
    2210     Int predIdx = 0;
    2211     for( Int j = iNuhLId + 1; j < 63; j++ )
    2212     {
    2213       if( m_recursiveRefLayerFlag[ j ][ iNuhLId ] )
    2214       {
    2215         m_predictedLayerId[ iNuhLId ][ predIdx++ ] = j;
    2216       }
    2217     }
    2218     m_numPredictedLayers[ iNuhLId ] = predIdx;
    2219   }
    2220  
    2221   Bool countedLayerIdxFlag[ MAX_NUM_LAYERS ];
    2222   for( Int i = 0; i  <=  getMaxLayersMinus1(); i++ )
    2223   {
    2224     countedLayerIdxFlag[ i ] = 0;
    2225   }
    2226   for( Int i = 0, k = 0; i  <=  getMaxLayersMinus1(); i++ )
    2227   {
    2228     Int iNuhLId = getLayerIdInNuh( i );
    2229     if( m_numDirectRefLayers[ iNuhLId ]  ==  0 )
    2230     {
    2231       m_treePartitionLayerIdList[ k ][ 0 ] = iNuhLId;
    2232       m_numLayersInTreePartition[ k ]      = 1;
    2233 
    2234       for( Int j = 0; j < m_numPredictedLayers[ iNuhLId ]; j++ ) 
    2235       {
    2236         if( !countedLayerIdxFlag[ getLayerIdInVps( m_predictedLayerId[ iNuhLId ][ j ] ) ] )   
    2237         {
    2238           m_treePartitionLayerIdList[ k ][ m_numLayersInTreePartition[ k ] ] = m_predictedLayerId[ iNuhLId ][ j ];
    2239           m_numLayersInTreePartition[ k ]++;
    2240           countedLayerIdxFlag[ getLayerIdInVps( m_predictedLayerId[ iNuhLId ][ j ] ) ] = 1;
    2241         }
    2242       }
    2243       k++;
    2244 
    2245       m_numIndependentLayers = k;
    2246     }
    2247   }
    2248 #endif // H_MV_HLS10_GEN
    2249 }
    2250 
    2251 #if !H_MV_HLS10_REF_PRED_LAYERS
    2252 Int TComVPS::getRefLayerId( Int layerIdInNuh, Int idx )
    2253 {
    2254   assert( idx >= 0 && idx < m_numDirectRefLayers[layerIdInNuh] );     
    2255   Int refLayerIdInNuh = m_refLayerId[ layerIdInNuh ][ idx ];   
    2256   assert ( refLayerIdInNuh >= 0 );
    2257   return refLayerIdInNuh;
    2258 }
    2259 #endif
     2151}
     2152
    22602153
    22612154Int TComVPS::getScalabilityId( Int layerIdInVps, ScalabilityType scalType )
     
    24082301{
    24092302  assert( lsIdx >= 0 );
    2410 #if H_MV_HLS10_ADD_LAYERSETS
    24112303  assert( lsIdx <= getNumLayerSets() );
    2412 #else
    2413   assert( lsIdx <= getVpsNumLayerSetsMinus1() );
    2414 #endif
    24152304  return (Int) m_layerSetLayerIdList[ lsIdx ].size();
    24162305}
     
    24362325}
    24372326
    2438 #if !H_MV_HLS10_REF_PRED_LAYERS
    2439 Bool TComVPS::getInDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Int depth /*= 0 */ )
    2440 {
    2441 #if H_MV_HLS10_REF_PRED_LAYERS
    2442   // TBD: Remove getInDirectDependencyFlag entirely.
    2443   return getDependencyFlag( depLayeridInVps, refLayeridInVps );
    2444 #else
    2445   assert( depth < 65 );
    2446   Bool dependentFlag = getDirectDependencyFlag( depLayeridInVps, refLayeridInVps );
    2447 
    2448   for( Int i = 0; i < depLayeridInVps && !dependentFlag; i++ )
    2449   {
    2450     if ( getDirectDependencyFlag( depLayeridInVps, i ) )
    2451     {
    2452       dependentFlag = getInDirectDependencyFlag( i, refLayeridInVps, depth++ );
    2453     }
    2454   }
    2455   return dependentFlag;
    2456 #endif
    2457 }
    2458 #endif
    24592327
    24602328Void TComVPS::deriveLayerSetLayerIdList()
     
    24852353  for( Int j = 0; j < getNumLayersInIdList( lsIdx ); j++ )
    24862354  {
    2487 #if H_MV_HLS10_NESSECARY_LAYER
    24882355    if ( getNecessaryLayerFlag( i , j ))
    24892356    {
    2490 #endif
    24912357      m_targetDecLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
    2492 #if H_MV_HLS10_NESSECARY_LAYER
    2493     }
    2494 #endif
     2358    }
    24952359
    24962360    if( getOutputLayerFlag( i, j  ))
     
    25412405}
    25422406
    2543 #if !H_MV_HLS10_ADD_LAYERSETS
    2544 Void TComVPS::inferDbpSizeLayerSetZero( TComSPS* sps, Bool encoder )
    2545 {
    2546   for( Int j = 0; j <= getMaxSubLayersInLayerSetMinus1( 0 ); j++ )
    2547   {
    2548     Int maxDecPicBufferingMinus1 = sps->getMaxDecPicBuffering( j ) - 1;
    2549     Int numReorderPics           = sps->getNumReorderPics    ( j );
    2550     Int maxLatencyIncreasePlus1  = sps->getMaxLatencyIncrease( j );
    2551 
    2552     if ( encoder )
    2553     {
    2554       assert( getDpbSize()->getMaxVpsDecPicBufferingMinus1(0, 0, j ) == maxDecPicBufferingMinus1 );
    2555       assert( getDpbSize()->getMaxVpsNumReorderPics       (0,    j ) == numReorderPics           );
    2556       assert( getDpbSize()->getMaxVpsLatencyIncreasePlus1 (0,    j ) == maxLatencyIncreasePlus1  );
    2557     }
    2558     else
    2559     {
    2560       getDpbSize()->setMaxVpsDecPicBufferingMinus1(0, 0, j, maxDecPicBufferingMinus1 );
    2561       getDpbSize()->setMaxVpsNumReorderPics       (0,    j, numReorderPics           );
    2562       getDpbSize()->setMaxVpsLatencyIncreasePlus1 (0,    j, maxLatencyIncreasePlus1  );       
    2563     }     
    2564   }
    2565 }
    2566 #endif
    25672407Bool TComVPS::getAltOutputLayerFlagVar( Int i )
    25682408{
     
    25782418}
    25792419
    2580 #if !H_MV_HLS10_MAXNUMPICS
    2581 Int TComVPS::getMaxNumPics( Int layerId )
    2582 {
    2583   Int maxNumPics = MAX_INT;
    2584   for( Int olsIdx = 0; olsIdx < getNumOutputLayerSets(); olsIdx++)
    2585   {
    2586     Int lsIdx = olsIdxToLsIdx( olsIdx );
    2587     for( Int j = 0; j < getNumLayersInIdList( lsIdx ); j++ )
    2588     {
    2589       if( getLayerSetLayerIdList(lsIdx, j ) ==  layerId )
    2590       {
    2591         Int maxSL = getMaxSubLayersInLayerSetMinus1( lsIdx );
    2592         maxNumPics = std::min( maxNumPics, getDpbSize()->getMaxVpsDecPicBufferingMinus1( olsIdx , j,  maxSL ) );
    2593       }
    2594     }
    2595   }
    2596   assert( maxNumPics != MAX_INT );
    2597   return maxNumPics;
    2598 }
    2599 #endif
    2600 
    2601 #if !H_MV_HLS10_REF_PRED_LAYERS
    2602 Void TComVPS::xSetRefLayerFlags( Int currLayerId )
    2603 {
    2604   for( Int j = 0; j < getNumDirectRefLayers( currLayerId ); j++ )
    2605   {
    2606     Int refLayerId = m_refLayerId[ currLayerId ][ j ];
    2607     m_recursiveRefLayerFlag[ currLayerId ][ refLayerId ] = 1;
    2608     for( Int k = 0; k < MAX_NUM_LAYER_IDS; k++ )
    2609     {
    2610       m_recursiveRefLayerFlag[ currLayerId ][ k ] = m_recursiveRefLayerFlag[ currLayerId ][ k ]  ||  m_recursiveRefLayerFlag[ refLayerId ][ k ];
    2611     }
    2612   }
    2613 }
    2614 
    2615 #endif
    2616 
    2617 #if H_MV_HLS10_PTL_FIX
     2420
     2421
    26182422Int TComVPS::inferProfileTierLevelIdx(Int i, Int j)
    26192423{
     
    26352439  return ptlIdx;
    26362440}
    2637 #endif
    2638 
    2639 #if H_MV_HLS10_ADD_LAYERSETS
     2441
    26402442Void TComVPS::deriveAddLayerSetLayerIdList(Int i)
    26412443{
     
    26602462}
    26612463
    2662 #endif
    2663 
    2664 #if H_MV_HLS10_NESSECARY_LAYER
     2464
    26652465Void TComVPS::deriveNecessaryLayerFlags(Int olsIdx)
    26662466{
     
    26932493  }
    26942494}
    2695 #endif
    2696 
    2697 #if H_MV_HLS10_ADD_LAYERSETS
     2495
    26982496Void TComVPS::printPTL()
    26992497{
     
    27412539#endif
    27422540
    2743 #if H_MV_HLS10_AUX
    27442541  vector<Int> viewOrderIndex;
    27452542  vector<Int> auxId;
    27462543  vector<Int> dependencyId;
    27472544  vector<Int> viewId;
    2748 #endif
    27492545  for (Int i = 0; i <= getMaxLayersMinus1(); i++ )
    27502546  {
    27512547    fullArray.push_back( getMaxLayersMinus1() + 1 );
    27522548    range.push_back( i );
    2753 #if H_MV_HLS10_AUX     
    27542549    viewOrderIndex.push_back( getViewIndex   ( i ) );
    27552550    dependencyId  .push_back( getDependencyId( i ) );
     
    27582553#if H_3D 
    27592554    depthId.push_back( getDepthId( i ) );
    2760 #endif
    27612555#endif
    27622556  }
     
    27712565}
    27722566
    2773 #if H_MV_HLS10_AUX
    27742567Void TComVPS::printScalabilityId()
    27752568{
     
    28092602  std::cout << std::endl;
    28102603}
    2811 #endif
    28122604
    28132605Void TComVPS::printLayerSets()
     
    28642656}
    28652657
    2866 #endif
    28672658
    28682659#endif // H_MV
     
    29422733#endif
    29432734
    2944 #if !H_MV_HLS10_PPS
    2945   m_numScaledRefLayerOffsets = 0;
    2946 
    2947   for (Int i = 0; i < MAX_NUM_SCALED_REF_LAYERS; i++ )
    2948   {
    2949     m_scaledRefLayerId             [i] = -1;
    2950   }
    2951 
    2952   for (Int i = 0; i < MAX_NUM_LAYERS; i++ )
    2953   {
    2954     m_scaledRefLayerLeftOffset     [i] = 0;
    2955     m_scaledRefLayerTopOffset      [i] = 0;
    2956     m_scaledRefLayerRiFghtOffset    [i] = 0;
    2957     m_scaledRefLayerBottomOffset   [i] = 0;
    2958   }
    2959 #endif
    29602735#endif
    29612736}
     
    33243099Void TComSPS::inferRepFormat( TComVPS* vps, Int layerIdCurr )
    33253100{
    3326 #if H_MV_HLS10_MULTILAYERSPS
    33273101  if ( getMultiLayerExtSpsFlag() )
    3328 #else
    3329   if ( layerIdCurr > 0 )
    3330 #endif
    33313102  {
    33323103    Int            repFormatIdx = getUpdateRepFormatFlag() ?  getSpsRepFormatIdx() : vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) ;
     
    33443115    setBitDepthC             ( repFormat->getBitDepthVpsChromaMinus8() + 8 );
    33453116    setQpBDOffsetC           ( (Int) (6* ( getBitDepthC() -8 ) ) );
    3346  #if H_MV_HLS10_GEN_VSP_CONF_WIN
    33473117    Window &spsConf    = getConformanceWindow();   
    33483118
     
    33533123    spsConf.setWindowTopOffset   ( repFormat->getConfWinVpsTopOffset()     );
    33543124    spsConf.setWindowBottomOffset( repFormat->getConfWinVpsBottomOffset()  );   
    3355 #endif
    3356 
    3357 #if H_MV_HLS10_MULTILAYERSPS
     3125
    33583126   if ( getMultiLayerExtSpsFlag() && getUpdateRepFormatFlag() )
    3359 #else
    3360    if ( getLayerId() > 0 && getUpdateRepFormatFlag() )
    3361 #endif
    33623127    {
    33633128      assert( getChromaFormatIdc()      <=  repFormat->getChromaFormatVpsIdc()         );
     
    33933158  const std::vector<Int>& targetDecLayerIdList = vps->getTargetDecLayerIdList( vps->olsIdxToLsIdx( targetOptLayerSetIdx ));
    33943159
    3395 #if H_MV_HLS10_MULTILAYERSPS
    33963160  if ( getMultiLayerExtSpsFlag() )
    3397 #else
    3398   if (getLayerId() > 0 )
    3399 #endif
    34003161  {
    34013162    Int layerIdx = 0;         
     
    34153176      Int maxDecPicBufferingMinus1 = vps->getDpbSize()->getMaxVpsDecPicBufferingMinus1( targetOptLayerSetIdx, layerIdx, i ) ;
    34163177
    3417 #if H_MV_HLS10_MULTILAYERSPS
    34183178      // This preliminary fix needs to be checked.
    34193179      Int maxNumReorderPics       = vps->getDpbSize()->getMaxVpsNumReorderPics( targetOptLayerSetIdx, i );
    34203180      Int maxLatencyIncreasePlus1 = vps->getDpbSize()->getMaxVpsLatencyIncreasePlus1( targetOptLayerSetIdx, i );
    3421 #endif
    34223181      if ( encoder )     
    34233182      {
    34243183        assert( getMaxDecPicBuffering( i ) - 1 == maxDecPicBufferingMinus1 );
    3425 #if H_MV_HLS10_MULTILAYERSPS
    34263184        // This preliminary fix needs to be checked.
    34273185        assert( getNumReorderPics( i )     == maxNumReorderPics       );
    34283186        assert( getMaxLatencyIncrease( i ) == maxLatencyIncreasePlus1 );
    3429 #endif   
    34303187
    34313188      }
    34323189      else
    34333190      {
    3434 #if !H_MV_HLS10_MULTILAYERSPS
    3435         setMaxDecPicBuffering(i, maxDecPicBufferingMinus1 + 1 );
    3436 #else
    34373191        // This preliminary fix needs to be checked.
    34383192        setMaxDecPicBuffering( maxDecPicBufferingMinus1 + 1 , i);
    34393193        setNumReorderPics    ( maxNumReorderPics, i );
    34403194        setMaxLatencyIncrease( maxLatencyIncreasePlus1 - 1 , i);
    3441 #endif
    34423195      }
    34433196    }   
     
    34473200Void TComSPS::checkRpsMaxNumPics( TComVPS* vps, Int currLayerId )
    34483201{
    3449 #if !H_MV_HLS10_MAXNUMPICS
    3450   // In spec, when rps is in SPS, nuh_layer_id of SPS is used instead
    3451   // of nuh_layer_id of slice (currLayerId), this seems to be a bug.
    3452 #endif
    34533202  for (Int i = 0; i < getRPSList()->getNumberOfReferencePictureSets(); i++ )
    34543203  {
     
    34563205    if ( !rps->getInterRPSPrediction() )
    34573206    {
    3458 #if H_MV_HLS10_MAXNUMPICS
    34593207      rps->checkMaxNumPics( vps->getVpsExtensionFlag(), MAX_INT, getLayerId(), getMaxDecPicBuffering( getSpsMaxSubLayersMinus1() ) - 1 );   // INT_MAX to be replaced by DpbSize
    3460 #else
    3461       rps->checkMaxNumPics( vps->getVpsExtensionFlag(), vps->getMaxNumPics( currLayerId ),
    3462         getLayerId(), getMaxDecPicBuffering( getSpsMaxSubLayersMinus1() ) - 1 ); 
    3463 #endif
    3464     }
    3465   }
    3466 }
    3467 
    3468 #if H_MV_HLS10_MULTILAYERSPS
     3208    }
     3209  }
     3210}
     3211
    34693212Void TComSPS::inferSpsMaxSubLayersMinus1(Bool atPsActivation, TComVPS* vps)
    34703213{
     
    34873230  }
    34883231}
    3489 #endif
    34903232#endif
    34913233
     
    38503592{
    38513593  TComVPS* vps = getVPS();
    3852 #if H_MV_HLS10_REF_PRED_LAYERS
    38533594  Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) );
    3854 #else
    3855   Int refLayerIdx = vps->getLayerIdInVps( vps->getRefLayerId( getLayerId(), i ) );
    3856 #endif
    38573595
    38583596  Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >=  getTLayer() )  && ( getTLayer() == 0  ) &&
     
    39253663Int TComSlice::getRefPicLayerId( Int i )
    39263664{
    3927 #if H_MV_HLS10_REF_PRED_LAYERS
    39283665  return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) );
    3929 #else
    3930   return getVPS()->getRefLayerId( getLayerId(), getInterLayerPredLayerIdc( i ) );
    3931 #endif
    39323666}
    39333667
     
    46484382, m_nonPackedConstraintFlag(false)
    46494383, m_frameOnlyConstraintFlag(false)
    4650 #if H_MV_HLS10_PTL
    46514384  , m_max12bitConstraintFlag      ( false )
    46524385  , m_max10bitConstraintFlag      ( false )
     
    46594392  , m_lowerBitRateConstraintFlag  ( false )
    46604393  , m_inbldFlag                   ( false )
    4661 #endif
    46624394{
    46634395  ::memset(m_profileCompatibilityFlag, 0, sizeof(m_profileCompatibilityFlag));
    46644396}
    46654397
    4666 #if H_MV_HLS10_PTL_INFER_FIX
    46674398Bool ProfileTierLevel::getV2ConstraintsPresentFlag()
    46684399{
     
    47104441}
    47114442
    4712 #endif
    47134443
    47144444TComPTL::TComPTL()
     
    47194449
    47204450#if H_MV
    4721 #if !H_MV_HLS10_PTL_INFER_FIX
    4722 Void TComPTL::copyLevelFrom( TComPTL* source )
    4723 {
    4724   getGeneralPTL()->setLevelIdc( source->getGeneralPTL()->getLevelIdc() );
    4725   for( Int subLayer = 0; subLayer < 6; subLayer++ )
    4726   {
    4727     setSubLayerLevelPresentFlag( subLayer, source->getSubLayerLevelPresentFlag( subLayer ) );
    4728     getSubLayerPTL( subLayer )->setLevelIdc( source->getSubLayerPTL( subLayer )->getLevelIdc() );
    4729   }
    4730 }
    4731 #else
    47324451Void TComPTL::inferGeneralValues(Bool profilePresentFlag, Int k, TComPTL* refPTL)
    47334452{
     
    48174536}
    48184537
    4819 #endif
    48204538#endif
    48214539//! \}
     
    48604578
    48614579  m_vpsVuiBspHrdPresentFlag = false;
    4862 #if H_MV_HLS10_VPS_VUI_BSP
    48634580  m_vpsVuiBspHrdParameters  = NULL;
    4864 #else
    4865   m_vpsVuiBspHrdParameters  = new TComVpsVuiBspHrdParameters();
    4866 #endif
    48674581}
    48684582
     
    49104624}
    49114625
    4912 #if !H_MV_HLS10_VPS_VUI_BSP
    4913 Void TComVpsVuiBspHrdParameters::checkLayerInBspFlag( TComVPS* vps, Int h )
    4914 {
    4915   // It is a requirement of bitstream conformance that bitstream partition with index j shall not include
    4916   // direct or indirect reference layers of any layers in bitstream partition i for any values of i and j
    4917   // in the range of 0 to num_bitstream_partitions[ h ] ?1, inclusive, such that i is less than j.
    4918 
    4919   for ( Int partJ = 0; partJ < getNumBitstreamPartitions( h ); partJ++ )
    4920   {       
    4921     for ( Int partI = 0; partI < partJ; partI++ )
    4922     {
    4923       for ( Int layerJ = 0; layerJ < vps->getMaxLayersMinus1(); layerJ++ )
    4924       {
    4925         if ( m_layerInBspFlag[ h ][partJ][layerJ ] )
    4926         {
    4927           for ( Int layerI = 0; layerI < vps->getMaxLayersMinus1(); layerI++ )
    4928           {
    4929             if ( m_layerInBspFlag[ h ][partI][layerI] )
    4930             {
    4931               assert( !vps->getInDirectDependencyFlag( layerI, layerJ ) );
    4932             }
    4933           }
    4934         }
    4935       }
    4936     }
    4937   }
    4938 
    4939   // ---------------
    4940   // To be added:
    4941   // When vps_base_layer_internal_flag is equal to 0 and layer_in_bsp_flag[ h ][ i ][ 0 ] is equal to 1 for any value of h in the
    4942   // range of 1 to vps_num_layer_sets_minus1, inclusive, and any value of i in the range of 0 to num_bitstream_partitions[ h ] - 1,
    4943   // inclusive, the value of layer_in_bsp_flag[ h ][ i ][ j ] for at least one value of j in the range of 1 to
    4944   // NumLayersInIdList[ h ] - 1, inclusive, shall be equal to 1.
    4945   // ---------------
    4946 
    4947 
    4948   // When num_bitstream_partitions[ h ] is equal to 1 for any value of h in the range 1 to vps_num_layer_set_minus1, inclusive,
    4949   // the value of layer_in_bsp_flag[ h ][ 0 ][ j ] should be equal to 0 for at least one value of j in the range 0 to
    4950   // NumLayersInIdList[ h ] ? 1, inclusive.
    4951 
    4952 
    4953   if ( getNumBitstreamPartitions( h ) == 1 )
    4954   {
    4955     Bool atLeastOneZero = false;
    4956     for ( Int j = 0; j <= vps->getNumLayersInIdList( h ) - 1; j++ )
    4957     {
    4958       atLeastOneZero = atLeastOneZero || !getLayerInBspFlag( h, 0, j );
    4959     }   
    4960     assert( atLeastOneZero );
    4961   }
    4962 
    4963  
    4964   // For any value of h in the range 1 to vps_num_layer_set_minus1, inclusive, the value of layer_in_bsp_flag[ h ][ i ][ j ]
    4965   // shall be equal to 1 for at most one value of i in the range of 0 to num_bitstream_partitions[ h ] ? 1, inclusive.
    4966 
    4967   for ( Int j = 0; j <= vps->getNumLayersInIdList( h ) - 1; j++ )
    4968   {
    4969     Int numLayerInBsp = 0;
    4970     for ( Int i = 0; i <= getNumBitstreamPartitions( h ) - 1; i++ )
    4971     {
    4972       numLayerInBsp += ( getLayerInBspFlag( h, i, j ) ? 1 : 0 ); 
    4973     }   
    4974     assert( numLayerInBsp <= 1 );
    4975   }
    4976 
    4977 }
    4978 
    4979 Void TComVpsVuiBspHrdParameters::checkBspCombHrdAndShedIdx( TComVPS* vps, Int h, Int i, Int j )
    4980 {
    4981   // bsp_comb_hrd_idx
    4982   assert( getBspCombSchedIdx(h, i, j ) >= 0 );
    4983   assert( getBspCombSchedIdx(h, i, j ) <= getVpsNumBspHrdParametersMinus1() );
    4984 
    4985   // bsp_comb_sched_idx
    4986   assert( getBspCombSchedIdx(h, i, j ) >= 0 );
    4987 
    4988   //* This check needs to activated,  when HighestTid is available here   
    4989   //  assert(  getBspCombSchedIdx(h, i, j ) <= vps->getHrdParameters( getBspCombHrdIdx( h, i, j ) )->getCpbCntMinus1( highestTid ) );
    4990 }
    4991 #endif
    4992 
    4993 #if H_MV_HLS10_VPS_VUI_BSP
     4626
    49944627
    49954628TComVpsVuiBspHrdParameters::~TComVpsVuiBspHrdParameters()
     
    50894722}
    50904723
    5091 #endif
    50924724
    50934725Void TComVUI::inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr )
     
    51254757      for (Int k = 0; k < MAX_NUM_LAYER_IDS; k++ )
    51264758      {
    5127 #if H_MV_HLS10_ADD_LAYERSETS
    51284759        m_maxVpsDecPicBufferingMinus1[i][k][j] = MIN_INT;
    5129 #else
    5130         m_maxVpsDecPicBufferingMinus1[i][k][j] = 0;
    5131 #endif
    51324760      }
    51334761    }
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComSlice.h

    r1075 r1076  
    4545#include "TComRom.h"
    4646#include "TComList.h"
    47 #if H_MV_HLS10_GEN_FIX
    4847#if H_MV
    4948#include <ios>
    5049#include <iostream>
    5150#include <iomanip>
    52 #endif
    5351#endif
    5452//! \ingroup TLibCommon
     
    207205  Bool m_frameOnlyConstraintFlag;
    208206 
    209 #if H_MV_HLS10_PTL
    210207#if H_MV
    211208  Bool m_max12bitConstraintFlag;
     
    220217  Bool m_inbldFlag;
    221218#endif
    222 #endif
    223219public:
    224220  ProfileTierLevel();
     
    252248
    253249#if H_MV
    254 #if H_MV_HLS10_PTL
    255250  Void setMax12bitConstraintFlag( Bool flag ) { m_max12bitConstraintFlag = flag; }
    256251  Bool getMax12bitConstraintFlag(  ) { return m_max12bitConstraintFlag; }
     
    281276  Void setInbldFlag( Bool flag ) { m_inbldFlag = flag; }
    282277  Bool getInbldFlag(  ) { return m_inbldFlag; }
    283 #endif
    284 #if H_MV_HLS10_PTL_INFER_FIX
    285278  Bool getV2ConstraintsPresentFlag(); 
    286279  Bool getInbldPresentFlag();
    287280  Void copyV2ConstraintFlags( ProfileTierLevel* ptlRef );
    288281  Void copyProfile( ProfileTierLevel* ptlRef );
    289 #endif
    290282#endif
    291283};
     
    310302  ProfileTierLevel* getSubLayerPTL(Int i)  { return &m_subLayerPTL[i]; }
    311303#if H_MV
    312 #if H_MV_HLS10_PTL_INFER_FIX
    313304  Void inferGeneralValues ( Bool profilePresentFlag  , Int k, TComPTL* refPTL );;
    314305  Void inferSubLayerValues( Int maxNumSubLayersMinus1, Int k, TComPTL* refPTL );;
    315 #else
    316   Void copyLevelFrom( TComPTL* source );
    317 #endif
    318306#endif
    319307};
     
    501489class TComVpsVuiBspHrdParameters
    502490{
    503 #if H_MV_HLS10_VPS_VUI_BSP
    504491
    505492  /* Not yet tested */
     
    563550  Void setHrdParametermeters( Int k, TComHRD* val  ) {  *(m_hrdParameters + k ) = *val; };
    564551  TComHRD* getHrdParametermeters( Int k ) {  return m_hrdParameters + k; };
    565 #else
    566 private:
    567   Int  m_vpsNumBspHrdParametersMinus1;
    568   Bool m_bspCprmsPresentFlag[MAX_NUM_BSP_HRD_PARAMETERS];
    569   Int  m_numBitstreamPartitions[MAX_VPS_OP_SETS_PLUS1];
    570   Bool m_layerInBspFlag[MAX_VPS_OP_SETS_PLUS1][MAX_NUM_BSP_HRD_PARAMETERS][MAX_NUM_LAYERS];
    571   Int  m_numBspSchedCombinationsMinus1[MAX_VPS_OP_SETS_PLUS1];
    572   Int  m_bspCombHrdIdx[MAX_VPS_OP_SETS_PLUS1][MAX_NUM_BSP_HRD_PARAMETERS][MAX_NUM_BSP_SCHED_COMBINATION];
    573   Int  m_bspCombSchedIdx[MAX_VPS_OP_SETS_PLUS1][MAX_NUM_BSP_HRD_PARAMETERS][MAX_NUM_BSP_SCHED_COMBINATION];
    574   TComHRD* m_hrdParameters[MAX_NUM_BSP_HRD_PARAMETERS];
    575 public:
    576 
    577   Void setVpsNumBspHrdParametersMinus1( Int  val ) { m_vpsNumBspHrdParametersMinus1 = val; }
    578   Int  getVpsNumBspHrdParametersMinus1(  ) { return m_vpsNumBspHrdParametersMinus1; }
    579 
    580   Void setBspCprmsPresentFlag( Int i, Bool flag ) { m_bspCprmsPresentFlag[i] = flag; }
    581   Bool getBspCprmsPresentFlag( Int i ) { return m_bspCprmsPresentFlag[i]; }
    582 
    583   Void setNumBitstreamPartitions( Int h, Int  val ) { m_numBitstreamPartitions[h] = val; }
    584   Int  getNumBitstreamPartitions( Int h ) { return m_numBitstreamPartitions[h]; }
    585 
    586   Void setLayerInBspFlag( Int h, Int i, Int j, Bool flag ) { m_layerInBspFlag[h][i][j] = flag; }
    587   Bool getLayerInBspFlag( Int h, Int i, Int j ) { return m_layerInBspFlag[h][i][j]; }
    588   Void checkLayerInBspFlag ( TComVPS* vps, Int h ); 
    589 
    590   Void setNumBspSchedCombinationsMinus1( Int h, Int  val ) { m_numBspSchedCombinationsMinus1[h] = val; }
    591   Int  getNumBspSchedCombinationsMinus1( Int h ) { return m_numBspSchedCombinationsMinus1[h]; }
    592 
    593   Void setBspCombHrdIdx( Int h, Int i, Int j, Int  val ) { m_bspCombHrdIdx[h][i][j] = val; }
    594   Int  getBspCombHrdIdx( Int h, Int i, Int j ) { return m_bspCombHrdIdx[h][i][j]; }
    595   Int  getBspCombHrdIdxLen() { return gCeilLog2( getVpsNumBspHrdParametersMinus1() + 1);  };
    596 
    597 
    598   Void setBspCombSchedIdx( Int h, Int i, Int j, Int  val ) { m_bspCombSchedIdx[h][i][j] = val; }
    599   Int  getBspCombSchedIdx( Int h, Int i, Int j ) { return m_bspCombSchedIdx[h][i][j]; }
    600 
    601   Void checkBspCombHrdAndShedIdx( TComVPS* vps, Int h, Int i, Int j );
    602 
    603   Void setHrdParametermeters( Int k, TComHRD* val  ) {  m_hrdParameters[k] = val; };
    604   TComHRD* getHrdParametermeters( Int k ) {  return m_hrdParameters[k]; };
    605 #endif
    606552};
    607553
     
    630576  Bool m_wppNotInUseFlag;
    631577  Bool m_wppInUseFlag                [MAX_NUM_LAYERS];
    632 #if H_MV_HLS10_VPS_VUI
    633578  Bool m_singleLayerForNonIrapFlag;
    634579  Bool m_higherLayerIrapSkipFlag;
    635 #endif
    636580  Bool m_ilpRestrictedRefLayersFlag;
    637581  Int  m_minSpatialSegmentOffsetPlus1[MAX_NUM_LAYERS][MAX_NUM_LAYERS];
     
    708652  Bool getWppInUseFlag( Int i ) { return m_wppInUseFlag[i]; }
    709653
    710 #if H_MV_HLS10_VPS_VUI
    711654  Void setSingleLayerForNonIrapFlag( Bool flag ) { m_singleLayerForNonIrapFlag = flag; }
    712655  Bool getSingleLayerForNonIrapFlag(  ) { return m_singleLayerForNonIrapFlag; }
     
    714657  Void setHigherLayerIrapSkipFlag( Bool flag ) { m_higherLayerIrapSkipFlag = flag; }
    715658  Bool getHigherLayerIrapSkipFlag(  ) { return m_higherLayerIrapSkipFlag; }
    716 #endif
    717659
    718660  Void setIlpRestrictedRefLayersFlag( Bool flag ) { m_ilpRestrictedRefLayersFlag = flag; }
     
    750692  Int  m_bitDepthVpsLumaMinus8;
    751693  Int  m_bitDepthVpsChromaMinus8;
    752 #if H_MV_HLS10_GEN_VSP_CONF_WIN
    753694  Bool m_conformanceWindowVpsFlag;
    754695  Int  m_confWinVpsLeftOffset;
     
    756697  Int  m_confWinVpsTopOffset;
    757698  Int  m_confWinVpsBottomOffset;
    758 #endif
    759699
    760700public:
    761701
    762 #if H_MV_HLS10_GEN_VSP_CONF_WIN
    763702  TComRepFormat()
    764703  {
     
    769708  m_confWinVpsBottomOffset   = 0;
    770709  }; 
    771 #else
    772   TComRepFormat() { }; 
    773 #endif
    774710
    775711  Void setChromaAndBitDepthVpsPresentFlag( Bool flag ) { m_chromaAndBitDepthVpsPresentFlag = flag; }
     
    796732  Int  getBitDepthVpsChromaMinus8(  ) { return m_bitDepthVpsChromaMinus8; }
    797733
    798 #if H_MV_HLS10_GEN_VSP_CONF_WIN
    799734  Void setConformanceWindowVpsFlag( Bool flag ) { m_conformanceWindowVpsFlag = flag; }
    800735  Bool getConformanceWindowVpsFlag(  ) { return m_conformanceWindowVpsFlag; }
     
    811746  Void setConfWinVpsBottomOffset( Int  val ) { m_confWinVpsBottomOffset = val; }
    812747  Int  getConfWinVpsBottomOffset(  ) { return m_confWinVpsBottomOffset; }
    813 #endif
    814748};
    815749
     
    834768
    835769  Void setMaxVpsDecPicBufferingMinus1( Int i, Int k, Int j, Int  val ) { m_maxVpsDecPicBufferingMinus1[i][k][j] = val; }
    836   #if H_MV_HLS10_ADD_LAYERSETS
    837770  Int  getMaxVpsDecPicBufferingMinus1( Int i, Int k, Int j ) { assert( m_maxVpsDecPicBufferingMinus1[i][k][j] >= 0 ); return m_maxVpsDecPicBufferingMinus1[i][k][j]; }     
    838   #else
    839   Int  getMaxVpsDecPicBufferingMinus1( Int i, Int k, Int j ) { return m_maxVpsDecPicBufferingMinus1[i][k][j]; }
    840   #endif
    841771
    842772  Void setMaxVpsNumReorderPics( Int i, Int j, Int  val ) { m_maxVpsNumReorderPics[i][j] = val; }
     
    853783#if H_MV
    854784  Bool        m_vpsBaseLayerInternalFlag;
    855 #if H_MV_HLS10_GEN_VSP_BASE_LAYER_AVAIL
    856785  Bool        m_vpsBaseLayerAvailableFlag;
    857 #endif // H_MV_HLS10_GEN
    858786#endif
    859787
     
    925853  Int         m_layerSetIdxForOlsMinus1  [MAX_VPS_OUTPUTLAYER_SETS]; 
    926854  Bool        m_outputLayerFlag          [MAX_VPS_OUTPUTLAYER_SETS][MAX_VPS_NUH_LAYER_ID_PLUS1];
    927 #if H_MV_HLS10_PTL
    928855  Int         m_profileTierLevelIdx      [MAX_VPS_OUTPUTLAYER_SETS ][MAX_NUM_LAYERS];
    929 #else 
    930   Int         m_profileLevelTierIdx      [MAX_VPS_OUTPUTLAYER_SETS ];
    931 #endif
    932856  Bool        m_altOutputLayerFlag       [MAX_VPS_OUTPUTLAYER_SETS];
    933857  Bool        m_repFormatIdxPresentFlag;
     
    958882  // VPS EXTENSION SEMANTICS VARIABLES
    959883  Int         m_layerIdInVps             [MAX_NUM_LAYERS   ];
    960 #if H_MV_HLS10_REF_PRED_LAYERS
    961884  Int         m_dependencyFlag           [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    962 #endif
    963885
    964886  Int         m_numDirectRefLayers       [MAX_NUM_LAYERS];
    965 #if H_MV_HLS10_REF_PRED_LAYERS
    966887  Int         m_idDirectRefLayer         [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 
    967 #else
    968   Int         m_refLayerId               [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 
    969 #endif
    970888
    971889  Int         m_numRefLayers             [MAX_NUM_LAYER_IDS];
    972 #if H_MV_HLS10_REF_PRED_LAYERS
    973890  Int         m_idRefLayer               [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 
    974 #endif
    975891
    976892
    977893  Int         m_numPredictedLayers       [MAX_NUM_LAYERS ];
    978 #if !H_MV_HLS10_REF_PRED_LAYERS
    979   Int         m_predictedLayerId         [MAX_NUM_LAYERS][MAX_NUM_LAYER_IDS];
    980 #else
    981894  Int         m_idPredictedLayer         [MAX_NUM_LAYERS][MAX_NUM_LAYER_IDS];
    982 #endif
    983895  Int         m_numIndependentLayers;
    984896  Int         m_numLayersInTreePartition [MAX_NUM_LAYER_IDS];
    985897  Int         m_treePartitionLayerIdList [MAX_NUM_LAYERS][MAX_NUM_LAYER_IDS];
    986 #if H_MV_HLS10_REF_PRED_LAYERS
    987898  Bool        m_recursiveRefLayerFlag    [MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS];
    988   #endif
    989899  Int         m_viewIndex                [MAX_NUM_LAYERS   ];
    990900 
     
    993903  std::vector< std::vector< Int> >       m_layerSetLayerIdList;
    994904
    995 #if H_MV_HLS10_NESSECARY_LAYER
    996905  Int        m_numNecessaryLayers        [MAX_VPS_OUTPUTLAYER_SETS];
    997906  Bool       m_necessaryLayerFlag        [MAX_VPS_OUTPUTLAYER_SETS][MAX_NUM_LAYERS];
    998 #endif
    999907
    1000908  Int         xGetDimBitOffset( Int j );
    1001 #if H_MV_HLS10_REF_PRED_LAYERS
    1002909  Void        xSetRefLayerFlags( Int currLayerId );
    1003 #endif
    1004910  // VPS EXTENSION 2 SYNTAX ELEMENTS
    1005911#if H_3D_ARP
     
    1069975  Void    setVpsBaseLayerInternalFlag( Bool flag ) { m_vpsBaseLayerInternalFlag = flag; }
    1070976  Bool    getVpsBaseLayerInternalFlag(  )          { return m_vpsBaseLayerInternalFlag; }
    1071 #if H_MV_HLS10_GEN_VSP_BASE_LAYER_AVAIL
    1072977  Void    setVpsBaseLayerAvailableFlag( Bool flag ) { m_vpsBaseLayerAvailableFlag = flag; }
    1073978  Bool    getVpsBaseLayerAvailableFlag(  )          { return m_vpsBaseLayerAvailableFlag; }
    1074979#endif
    1075 #endif
    1076980
    1077981  UInt    getMaxTLayers  ()                   { return m_uiMaxTLayers;   }
     
    1080984#if H_MV   
    1081985  UInt    getMaxSubLayersMinus1()             { return m_uiMaxTLayers - 1;  }  // For consistency with draft spec
    1082 #if H_MV_HLS10_GEN_FIX
    1083986  Void    setMaxSubLayersMinus1(UInt val)     { m_uiMaxTLayers = (val + 1); };
    1084 #endif
    1085987  UInt    getMaxLayersMinus1()                { return m_uiMaxLayersMinus1;  };
    1086988  Void    setMaxLayersMinus1(UInt l)          { m_uiMaxLayersMinus1 = l; }
     
    11221024
    11231025#if H_MV
    1124 #if H_MV_HLS10_PTL
    11251026  TComPTL* getPTL( Int idx = 0 ) { return &m_pcPTL[idx]; }
    1126 #else
    1127   TComPTL* getPTL( Int layerSet = 0 ) { return &m_pcPTL[layerSet]; }
    1128 #endif
    11291027#else
    11301028  TComPTL* getPTL() { return &m_pcPTL; }
     
    12131111  Bool    inferOutputLayerFlag( Int i, Int j );
    12141112
    1215 #if H_MV_HLS10_PTL
    12161113  Void    setProfileTierLevelIdx( Int i, Int j, Int val )                  { m_profileTierLevelIdx[ i ][ j ] = val; }
    12171114  Int     getProfileTierLevelIdx( Int i, Int j )                           { return m_profileTierLevelIdx[ i ][ j ]; }
    1218 #if H_MV_HLS10_PTL_FIX
    12191115  Int     inferProfileTierLevelIdx( Int i, Int j );
    1220 #endif
    1221 #else
    1222   Void    setProfileLevelTierIdx( Int outLayerSetIdx, Int val )            { m_profileLevelTierIdx[ outLayerSetIdx ] = val; }
    1223   Int     getProfileLevelTierIdx( Int outLayerSetIdx )                     { return m_profileLevelTierIdx[ outLayerSetIdx ]; }
    1224 #endif
    12251116 
    12261117  Void    setAltOutputLayerFlag( Int i, Bool flag )                        { m_altOutputLayerFlag[i] = flag; }
     
    12521143  TComDpbSize* getDpbSize( )                                               { return m_dpbSize;}
    12531144 
    1254 #if !H_MV_HLS10_ADD_LAYERSETS 
    1255   Void    inferDbpSizeLayerSetZero( TComSPS* sps, Bool encoder );
    1256 #endif
    12571145
    12581146  Void    setPocLsbNotPresentFlag( Int i, Bool flag )                      { m_pocLsbNotPresentFlag[i] = flag; }
     
    12851173
    12861174  Int     getViewIndex    ( Int layerIdInNuh )                             { return getScalabilityId( getLayerIdInVps(layerIdInNuh), VIEW_ORDER_INDEX  ); }   
    1287 #if H_MV_HLS10_AUX
    12881175  Int     getAuxId        ( Int layerIdInNuh )                             { return getScalabilityId( getLayerIdInVps(layerIdInNuh), AUX_ID  ); }   
    12891176  Int     getDependencyId ( Int layerIdInNuh )                             { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPENDENCY_ID  ); }   
    1290 #endif
    12911177  Int     getNumViews();
    12921178
    1293 #if H_MV_HLS10_REF_PRED_LAYERS
    12941179  Bool    getDependencyFlag( Int i, Int j )                                { return m_dependencyFlag[i][j]; }
    1295 #endif
    12961180  Int     getNumDirectRefLayers( Int layerIdInNuh )                        { return m_numDirectRefLayers[ layerIdInNuh ];  };                               
    1297 #if !H_MV_HLS10_REF_PRED_LAYERS
    1298   Int     getRefLayerId        ( Int layerIdInNuh, Int idx );;
    1299 #endif
    13001181  Int     getNumRefLayers            ( Int i )        { return m_numRefLayers[i]; }
    13011182  Int     getNumPredictedLayers      ( Int i )        { return m_numPredictedLayers[i]; }
    13021183
    1303 #if !H_MV_HLS10_REF_PRED_LAYERS 
    1304   Int     getPredictedLayerId        ( Int i, Int j ) { return m_predictedLayerId[i][j]; }
    1305 #else
    13061184  Int     getIdRefLayer              ( Int i, Int j ) { assert( j >= 0 && j < getNumRefLayers      ( i )); return m_idRefLayer      [i][j]; }
    13071185  Int     getIdPredictedLayer        ( Int i, Int j ) { assert( j >= 0 && j < getNumPredictedLayers( i )); return m_idPredictedLayer[i][j]; }
    13081186  Int     getIdDirectRefLayer        ( Int i, Int j ) { assert( j >= 0 && j < getNumDirectRefLayers( i )); return m_idDirectRefLayer[i][j]; }
    1309 #endif
    13101187  Int     getNumIndependentLayers    (  )             { return m_numIndependentLayers; }
    13111188  Int     getNumLayersInTreePartition( Int i )        { return m_numLayersInTreePartition[i]; }
     
    13141191  Int     getNumLayerSets( )                                               { return getVpsNumLayerSetsMinus1() + 1 + getNumAddLayerSets();  }; 
    13151192 
    1316 #if H_MV_HLS10_ADD_LAYERSETS
    13171193  Int     getFirstAddLayerSetIdx()                    { return getVpsNumLayerSetsMinus1() + 1; }
    13181194  Int     getLastAddLayerSetIdx()                     { return getFirstAddLayerSetIdx() + getNumAddLayerSets() - 1; }
    1319 #endif
    13201195  Bool    checkVPSExtensionSyntax();
    13211196  Int     scalTypeToScalIdx   ( ScalabilityType scalType );
    13221197
    1323 #if H_MV_HLS10_PTL
    13241198  Int     getProfileTierLevelIdxLen()                                      { return gCeilLog2( getVpsNumProfileTierLevelMinus1() + 1 ); };       
    1325 #else
    1326   Int     getProfileLevelTierIdxLen()                                      { return gCeilLog2( getVpsNumProfileTierLevelMinus1() + 1 ); };       
    1327 #endif
    13281199  Int     getVpsRepFormatIdxLen()                                          { return gCeilLog2( getVpsNumRepFormatsMinus1() + 1 ); };       
    13291200
     
    13361207  Void    deriveLayerSetLayerIdList();
    13371208
    1338 #if H_MV_HLS10_ADD_LAYERSETS
    13391209  Int     olsIdxToLsIdx( Int i )                                           { return ( i < getNumLayerSets() ) ? i  : getLayerSetIdxForOlsMinus1( i ) + 1 ; };
    1340 #else
    1341   Int     olsIdxToLsIdx( Int i )                                           { return ( i <= getVpsNumLayerSetsMinus1() ) ? i  : getLayerSetIdxForOlsMinus1( i ) + 1 ; };
    1342 #endif
    13431210  Void    initTargetLayerIdLists  ( );
    13441211  Void    deriveTargetLayerIdList ( Int i );
     
    13491216  Int     getOlsHighestOutputLayerId( Int i )                              { return getTargetOptLayerIdList( i ).back(); }; 
    13501217
    1351 #if H_MV_HLS10_ADD_LAYERSETS
    13521218  Void    deriveAddLayerSetLayerIdList( Int i );
    1353 #endif
    1354 #if H_MV_HLS10_NESSECARY_LAYER
    13551219  Void    deriveNecessaryLayerFlags( Int olsIdx );;
    13561220  Int     getNecessaryLayerFlag( Int i, Int j )                            { AOF( i >= 0 && i < getNumOutputLayerSets() ); AOF( j >= 0 && j < getNumLayersInIdList( olsIdxToLsIdx( i ) )  );  return m_necessaryLayerFlag[i][j]; }; 
    1357 #endif
    13581221
    13591222  Int     getMaxSubLayersInLayerSetMinus1( Int i );
     
    13661229
    13671230  // helpers
    1368 #if !H_MV_HLS10_REF_PRED_LAYERS
    1369   Bool    getInDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Int depth = 0 );
    1370 #endif
    1371 #if !H_MV_HLS10_MAXNUMPICS
    1372   Int     getMaxNumPics( Int layerId );
    1373 #endif
    1374 #if H_MV_HLS10_ADD_LAYERSETS
    13751231  Void    printPTL();
    13761232  Void    printLayerDependencies();
    1377 #if H_MV_HLS10_AUX
    13781233  Void    printScalabilityId();;
    1379 #endif
    13801234  Void    printLayerSets();;
    13811235
     
    14221276    xPrintArray( name, 1, idx2, numElemDim2, vec2, printNumber, false );
    14231277  }
    1424 #endif
    14251278
    14261279
     
    18371690  TComVPS*    m_pcVPS;
    18381691  // SPS
    1839 #if H_MV_HLS10_MULTILAYERSPS
    18401692  Int         m_spsMaxSubLayersMinus1;
    18411693  Int         m_spsExtOrMaxSubLayersMinus1;
    1842 #endif
    18431694  Bool        m_spsExtensionPresentFlag;
    18441695
     
    18581709  // SPS Extension
    18591710  Bool        m_interViewMvVertConstraintFlag;
    1860 #if !H_MV_HLS10_PPS
    1861   Int         m_numScaledRefLayerOffsets;
    1862   Int         m_scaledRefLayerId          [MAX_NUM_SCALED_REF_LAYERS];
    1863   Int         m_scaledRefLayerLeftOffset  [MAX_NUM_LAYERS];
    1864   Int         m_scaledRefLayerTopOffset   [MAX_NUM_LAYERS];
    1865   Int         m_scaledRefLayerRightOffset [MAX_NUM_LAYERS];
    1866   Int         m_scaledRefLayerBottomOffset[MAX_NUM_LAYERS];
    1867 #endif
    18681711#endif
    18691712#if H_3D
     
    19691812#if H_MV
    19701813  UInt      getSpsMaxSubLayersMinus1()                { return ( m_uiMaxTLayers - 1); }
    1971 #if H_MV_HLS10_MULTILAYERSPS
    19721814  Void      setSpsMaxSubLayersMinus1( UInt val )       { setMaxTLayers( val + 1 ); }
    1973 #endif
    19741815#endif
    19751816
     
    20041845  TComPTL* getPTL()     { return &m_pcPTL; }
    20051846#if H_MV
    2006 #if H_MV_HLS10_MULTILAYERSPS
    20071847  Void setSpsExtOrMaxSubLayersMinus1( Int  val ) { m_spsExtOrMaxSubLayersMinus1 = val; }
    20081848  Int  getSpsExtOrMaxSubLayersMinus1(  ) { return m_spsExtOrMaxSubLayersMinus1; }
     
    20101850
    20111851  Bool getMultiLayerExtSpsFlag()            { return ( getLayerId() != 0  &&  getSpsExtOrMaxSubLayersMinus1() == 7 ); }
    2012 #endif
    20131852  Void inferSpsMaxDecPicBufferingMinus1( TComVPS* vps, Int targetOptLayerSetIdx, Int currLayerId, Bool encoder );
    20141853
     
    20491888  Bool getInterViewMvVertConstraintFlag()         { return m_interViewMvVertConstraintFlag;}
    20501889
    2051 #if !H_MV_HLS10_PPS
    2052   Void setNumScaledRefLayerOffsets( Int  val )    { m_numScaledRefLayerOffsets = val; }
    2053   Int  getNumScaledRefLayerOffsets(  )            { return m_numScaledRefLayerOffsets; }
    2054 
    2055   Void setScaledRefLayerId( Int i, Int  val )     { m_scaledRefLayerId[i] = val; }
    2056   Int  getScaledRefLayerId( Int i )               { return m_scaledRefLayerId[i]; }
    2057 
    2058   Void setScaledRefLayerLeftOffset( Int j, Int  val ) { m_scaledRefLayerLeftOffset[j] = val; }
    2059   Int  getScaledRefLayerLeftOffset( Int j )           { return m_scaledRefLayerLeftOffset[j]; }
    2060 
    2061   Void setScaledRefLayerTopOffset( Int j, Int  val )  { m_scaledRefLayerTopOffset[j] = val; }
    2062   Int  getScaledRefLayerTopOffset( Int j )            { return m_scaledRefLayerTopOffset[j]; }
    2063 
    2064   Void setScaledRefLayerRightOffset( Int j, Int  val ) { m_scaledRefLayerRightOffset[j] = val; }
    2065   Int  getScaledRefLayerRightOffset( Int j )           { return m_scaledRefLayerRightOffset[j]; }
    2066 
    2067   Void setScaledRefLayerBottomOffset( Int j, Int  val ) { m_scaledRefLayerBottomOffset[j] = val; }
    2068   Int  getScaledRefLayerBottomOffset( Int j )           { return m_scaledRefLayerBottomOffset[j]; }
    2069 #endif
    20701890  // Inference
    20711891
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r1075 r1076  
    368368// TBD: Check if integration is necessary.
    369369
    370 #define H_MV_HLS10_GEN                       0  // General changes (not tested)
    371 
    372 #define H_MV_HLS10_AUX                       1 // Auxiliary pictures
    373 #define H_MV_HLS10_GEN_FIX                   1
    374 #define H_MV_FIX_LOOP_GOPSIZE                1
    375 #define H_MV_FIX_SUB_LAYERS_MAX_MINUS1       1
    376 
    377 #define H_MV_HLS10_GEN_VSP_CONF_WIN          1  // VPS conformance window
    378 #define H_MV_HLS10_GEN_VSP_BASE_LAYER_AVAIL  1  // vps_base_layer_available
    379 #define H_MV_HLS10_REF_PRED_LAYERS           1  // reference and predicted layer derivation
    380 #define H_MV_HLS10_NESSECARY_LAYER           1  // necessary layers
    381 #define H_MV_HLS10_ADD_LAYERSETS             1  // additional layer sets
    382 #define H_MV_HLS10_DBP_SIZE                  1  // dpb size syntax structure
    383 #define H_MV_HLS10_MAXNUMPICS                1  // constraint on number of pictures in rps 
    384 #define H_MV_HLS10_PTL                       1  // profile tier level
    385 #define H_MV_HLS10_PTL_FIX                   1  // profile tier level fix
    386 #define H_MV_HLS10_PTL_INBL_FIX              1  // profile tier level fix
    387 #define H_MV_HLS10_PTL_INFER_FIX             1  // fix inference ptl
    388 #define H_MV_HLS10_MULTILAYERSPS             1  // multilayer SPS extension
    389 #define H_MV_HLS10_VPS_VUI                   1  // vsp vui
    390 #define H_MV_HLS10_VPS_VUI_BSP               1  // vsp vui bsp
    391 #define H_MV_HLS10_PPS                       1  // PPS modifications
    392 
    393 #define H_MV_HLS10_VPS_VUI_BSP_STORE         0  // Currently bsp vui bsp hrd parameters are not stored, some dynamic memory allocation with upper bounds is required.
    394 
    395 
    396370#define H_MV_HLS7_GEN                        0  // General changes (not tested)
    397371
     
    459433#define MAX_NESTING_NUM_LAYER       64
    460434
    461 #if H_MV_HLS10_VPS_VUI_BSP
    462435#define MAX_VPS_NUM_HRD_PARAMETERS                1024
    463436#define MAX_NUM_SUB_LAYERS                        7
    464437#define MAX_NUM_SIGNALLED_PARTITIONING_SCHEMES    16
    465 #else
    466 #define MAX_VPS_NUM_HRD_PARAMETERS                1
    467 #endif
    468438
    469439#define MAX_VPS_OP_SETS_PLUS1                     1024
    470440#if H_MV
    471 #if H_MV_HLS10_ADD_LAYERSETS
    472441#define MAX_VPS_NUM_ADD_LAYER_SETS                1024
    473 #endif
    474442#define MAX_VPS_NUH_LAYER_ID_PLUS1  63
    475443#define MAX_NUM_SCALABILITY_TYPES   16
     
    486454#define MAX_VPS_PROFILE_TIER_LEVEL      64
    487455#define MAX_VPS_ADD_OUTPUT_LAYER_SETS   1024
    488 #if H_MV_HLS10_ADD_LAYERSETS
    489456#define MAX_VPS_OUTPUTLAYER_SETS        ( MAX_VPS_ADD_OUTPUT_LAYER_SETS + MAX_VPS_OP_SETS_PLUS1 + MAX_VPS_OP_SETS_PLUS1 )
    490 #else
    491 #define MAX_VPS_OUTPUTLAYER_SETS        ( MAX_VPS_ADD_OUTPUT_LAYER_SETS + MAX_VPS_OP_SETS_PLUS1 )
    492 #endif
    493457#define  MAX_NUM_VIDEO_SIGNAL_INFO      16
    494458#define MAX_NUM_SCALED_REF_LAYERS       MAX_NUM_LAYERS-1
    495 #if !H_MV_HLS10_VPS_VUI_BSP
    496 #define MAX_NUM_BSP_HRD_PARAMETERS      100 ///< Maximum value is actually not specified
    497 #define MAX_NUM_BITSTREAM_PARTITIONS    100 ///< Maximum value is actually not specified
    498 #define MAX_NUM_BSP_SCHED_COMBINATION   100 ///< Maximum value is actually not specified
    499 #define MAX_SUB_STREAMS                 1024
    500 #endif
    501459#else
    502460#define MAX_NUM_LAYER_IDS                64
     
    969927    MAINSTILLPICTURE = 3,
    970928#if H_MV
    971 #if H_MV_HLS10_PTL
    972929    MULTIVIEWMAIN = 6,
    973930#if H_3D
    974931    MAIN3D = 8,
    975 #endif
    976 #else
    977     MAINSTEREO = 4,
    978     MAINMULTIVIEW = 5,
    979 #if H_3D
    980     MAIN3D = 6,
    981 #endif
    982932#endif
    983933#endif
     
    1022972#endif   
    1023973    VIEW_ORDER_INDEX  = 1,
    1024 #if H_MV_HLS10_AUX
    1025974    DEPENDENCY_ID = 2,
    1026975    AUX_ID = 3,
    1027 #endif   
    1028976  };
    1029977#endif
Note: See TracChangeset for help on using the changeset viewer.