Changeset 882 in 3DVCSoftware for branches/HTM-10.1-dev0/source/Lib


Ignore:
Timestamp:
28 Mar 2014, 01:17:13 (11 years ago)
Author:
tech
Message:

Cleanups part 7.

Location:
branches/HTM-10.1-dev0/source/Lib
Files:
20 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-10.1-dev0/source/Lib/TLibCommon/SEI.h

    r872 r882  
    7272    SCALABLE_NESTING                     = 133,
    7373    REGION_REFRESH_INFO                  = 134,
    74 #if H_MV_HLS_7_SEI_P0204_26
     74#if H_MV
    7575    SUB_BITSTREAM_PROPERTY               = 139,    // Final PayloadType to be defined after finalization
    7676#endif
     
    366366};
    367367
    368 #if H_MV_HLS_7_SEI_P0204_26
     368#if H_MV
    369369class SEISubBitstreamProperty : public SEI
    370370{
  • branches/HTM-10.1-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r881 r882  
    112112, m_interLayerPredEnabledFlag     (false)
    113113, m_numInterLayerRefPicsMinus1    (0)
    114 #if H_MV_HLS_7_POC_P0041
     114#if H_MV
    115115, m_sliceSegmentHeaderExtensionLength (0)
    116116, m_pocResetIdc                       (0)
     
    12841284
    12851285
    1286 
    12871286/** Function for applying picture marking based on the Reference Picture Set in pReferencePictureSet.
    12881287*/
     
    13401339
    13411340    }
    1342 #if H_MV_HLS_7_MISC_P0130_20
     1341#if H_MV
    13431342    if( isReference ) // Current picture is in the temporal RPS
    13441343    {
     
    17271726    }
    17281727  }
    1729 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1730   m_vpsNumberLayerSetsMinus1     = -1;
    1731 #endif
    17321728  m_vpsNumProfileTierLevelMinus1 = -1;
    17331729   
    1734 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1735   for ( Int i = 0; i < MAX_VPS_PROFILE_TIER_LEVEL; i++)
    1736   {
    1737 #if !H_MV_HLS_7_VPS_P0048_14
    1738     m_profileRefMinus1[ i ] = -1;
    1739 #endif
    1740   }
    1741    
    1742   m_moreOutputLayerSetsThanDefaultFlag = false;   
    1743   m_numAddOutputLayerSetsMinus1        = -1;   
    1744   m_defaultOneTargetOutputLayerIdc     = 0;
    1745 #else
    17461730  m_numAddOutputLayerSets              = -1;   
    17471731  m_defaultTargetOutputLayerIdc     = 0;
    1748 #endif
    17491732 
    17501733  for ( Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++)
     
    17561739      m_outputLayerFlag[i][j] = false;
    17571740    }
    1758 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    17591741    m_altOutputLayerFlag[ i ]       = false;
    1760 #endif
    1761   }
    1762 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1763   m_altOutputLayerFlag       = false;
    1764 #endif
     1742  }
    17651743  m_maxOneActiveRefLayerFlag = false;
    17661744  m_directDepTypeLenMinus2   = 0;         
     
    17681746
    17691747  m_avcBaseLayerFlag = false;
    1770 #if H_MV_HLS_7_VPS_P0307_23
    17711748  m_vpsNonVuiExtensionLength = 0;
    1772 #else
    1773   m_vpsVuiOffset     = 0;
    1774 #endif
    17751749  m_splittingFlag    = false;
    17761750 
     
    17861760  {
    17871761    m_vpsProfilePresentFlag   [i] = false;
    1788 #if !H_MV_HLS_7_VPS_P0048_14
    1789     m_profileRefMinus1[i] = 0;
    1790 #endif
    17911762    m_outputLayerSetIdxMinus1       [i] = 0;
    17921763    for( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++ )
     
    20992070Int    TComVPS::getNumOutputLayerSets()
    21002071{
    2101 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    21022072  return getNumAddOutputLayerSets() + getVpsNumLayerSetsMinus1() + 1;
    2103 #else
    2104   Int numOutputLayerSets = getVpsNumberLayerSetsMinus1( ) + 1;
    2105   if ( getMoreOutputLayerSetsThanDefaultFlag( ) )
    2106   {     
    2107     numOutputLayerSets += (getNumAddOutputLayerSetsMinus1( ) + 1);
    2108 }
    2109   return numOutputLayerSets;
    2110 #endif
    21112073}
    21122074
     
    21562118}
    21572119
    2158 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    21592120Void TComVPS::initTargetLayerIdLists()
    21602121{
     
    21762137  } 
    21772138}
    2178 #else
    2179 Void TComVPS::deriveTargetLayerIdLists()
    2180 {
    2181   m_targetDecLayerIdLists.resize( getNumOutputLayerSets() );
    2182   m_targetOptLayerIdLists.resize( getNumOutputLayerSets() );
    2183 
    2184   for (Int targetOptLayerSetIdx = 0; targetOptLayerSetIdx < getNumOutputLayerSets(); targetOptLayerSetIdx++ )
    2185   {
    2186     Int targetDecLayerSetIdx = getOutputLayerSetIdxMinus1( targetOptLayerSetIdx ) + 1;     
    2187     Int lsIdx                = targetDecLayerSetIdx;
    2188 
    2189     for( Int j = 0; j < getNumLayersInIdList( lsIdx ); j++ )
    2190     {
    2191       m_targetDecLayerIdLists[targetOptLayerSetIdx].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
    2192       if( getOutputLayerFlag( targetOptLayerSetIdx, j  )) // This seems to be wrong in draft text
    2193       {
    2194         m_targetOptLayerIdLists[targetOptLayerSetIdx].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
    2195       }
    2196     } 
    2197   }
    2198 }
    2199 #endif
     2139
     2140Bool TComVPS::inferOutputLayerFlag( Int i, Int j )
     2141{
     2142  Bool outputLayerFlag;
     2143  switch ( getDefaultTargetOutputLayerIdc( ) )
     2144  {
     2145  case 0:
     2146    outputLayerFlag = true;
     2147    break;
     2148  case 1:
     2149    outputLayerFlag = ( j == m_layerSetLayerIdList[ getLayerSetIdxForOutputLayerSet( i ) ].size() - 1 ); 
     2150    break;
     2151  case 2:
     2152    if ( i == 0 && j == 0)
     2153    {     
     2154      outputLayerFlag = true;  // This is a software only fix for a bug in the spec. In spec outputLayerFlag is neither present nor inferred.
     2155    }
     2156    else
     2157    {
     2158      assert( 0 );
     2159    }
     2160    break;
     2161  default:     
     2162    assert( 0 );
     2163    break;
     2164  }
     2165  return outputLayerFlag;
     2166}
    22002167
    22012168#endif // H_MV
     
    24452412, m_ppsInferScalingListFlag(false)
    24462413, m_ppsScalingListRefLayerId(0)
    2447 #if H_MV_HLS_7_POC_P0041
    24482414, m_pocResetInfoPresentFlag(false)
    2449 #endif
    24502415#if H_3D
    24512416, m_pcDLT(NULL)
     
    24552420  m_scalingList = new TComScalingList;
    24562421
    2457 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION 
     2422#if H_MV
    24582423  for( Int i = 0; i < PS_EX_T_MAX_NUM; i++ )
    24592424  {
     
    24612426  }
    24622427#endif
    2463 
    24642428}
    24652429
     
    29802944    // Consider to check here:
    29812945    // "If the current picture is a RADL picture, there shall be no entry in the RefPicSetInterLayer0 and RefPicSetInterLayer1 that is a RASL picture. "   
    2982 #if H_MV_HLS_7_MISC_P0130_20
    29832946    assert( picRef->getSlice(0)->getDiscardableFlag() == false ); // "There shall be no picture that has discardable_flag equal to 1 in RefPicSetInterLayer0 or RefPicSetInterLayer1".       
    2984 #endif
    29852947  }
    29862948}
     
    30182980    {
    30192981      break;
    3020   }       
     2982    }       
    30212983  }       
    30222984
     
    30282990      if ( pcPic )
    30292991      {
    3030       if( pcPic->getSlice(0)->isReferenced() && pcPic->getSlice(0)->getTemporalLayerNonReferenceFlag() )
    3031       {
    3032         Bool remainingInterLayerReferencesFlag = false;
    3033         for( Int j = latestDecIdx + 1; j < numTargetDecLayers; j++ )
     2992        if( pcPic->getSlice(0)->isReferenced() && pcPic->getSlice(0)->getTemporalLayerNonReferenceFlag() )
    30342993        {
    3035           TComVPS* vpsSlice = pcPic->getSlice(0)->getVPS();
    3036           if ( vps->nuhLayerIdIncluded( targetDecLayerIdSet[ j ] ) )
     2994          Bool remainingInterLayerReferencesFlag = false;
     2995          for( Int j = latestDecIdx + 1; j < numTargetDecLayers; j++ )
     2996          {
     2997            TComVPS* vpsSlice = pcPic->getSlice(0)->getVPS();
     2998            if ( vps->nuhLayerIdIncluded( targetDecLayerIdSet[ j ] ) )
     2999            {
     3000              for( Int k = 0; k < vpsSlice->getNumDirectRefLayers( targetDecLayerIdSet[ j ] ); k++ )
     3001              {
     3002                if ( targetDecLayerIdSet[ i ] == vpsSlice->getRefLayerId( targetDecLayerIdSet[ j ],  k  ) )
     3003                {
     3004                  remainingInterLayerReferencesFlag = true;
     3005                }
     3006              }
     3007            }
     3008          }
     3009          if( !remainingInterLayerReferencesFlag )
    30373010          {
    3038             for( Int k = 0; k < vpsSlice->getNumDirectRefLayers( targetDecLayerIdSet[ j ] ); k++ )
    3039             {
    3040               if ( targetDecLayerIdSet[ i ] == vpsSlice->getRefLayerId( targetDecLayerIdSet[ j ],  k  ) )
    3041               {
    3042                 remainingInterLayerReferencesFlag = true;
     3011            pcPic->getSlice(0)->setReferenced( false );                   
    30433012          }
    30443013        }
    3045           }
    3046         }
    3047         if( !remainingInterLayerReferencesFlag )
    3048         {
    3049           pcPic->getSlice(0)->setReferenced( false );                   
    3050       }
    3051     }
    3052       }
    3053   }
    3054 }
     3014      }
     3015    }
     3016  }
    30553017}
    30563018
     
    31573119  Int numActiveRefLayerPics;
    31583120
    3159 #if H_MV_HLS_7_MISC_P0079_18
    31603121  if( getLayerId() == 0 || getNumRefLayerPics() ==  0 )
    3161 #else
    3162   if( getLayerId() == 0 || getVPS()->getNumDirectRefLayers( getLayerId() ) ==  0 )
    3163 #endif
    31643122  {
    31653123    numActiveRefLayerPics = 0;
     
    31753133  else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )
    31763134  {
    3177 #if H_MV_HLS_7_MISC_P0079_18
    31783135    numActiveRefLayerPics = 1;
    3179 #else
    3180     numActiveRefLayerPics = getRefLayerPicFlag( 0 ) ? 1 : 0;
    3181 #endif
    31823136  }
    31833137  else
     
    38283782{
    38293783  m_crossLayerIrapAlignedFlag = true;
    3830 #if H_MV_HLS_7_MISC_P0068_21
    38313784  m_allLayersIdrAlignedFlag   = false;
    3832 #endif
    38333785  m_bitRatePresentVpsFlag = false;
    38343786  m_picRatePresentVpsFlag = false;
     
    38573809      m_minHorizontalCtuOffsetPlus1 [i][j] = -1;
    38583810    }
    3859 #if H_MV_HLS_7_MISC_P0182_13
    38603811    m_baseLayerParameterSetCompatibilityFlag[i] = false;
    3861 #endif
    38623812  }
    38633813  for ( Int i = 0; i < MAX_NUM_VIDEO_SIGNAL_INFO; i++ )
  • branches/HTM-10.1-dev0/source/Lib/TLibCommon/TComSlice.h

    r881 r882  
    473473  Bool m_crossLayerPicTypeAlignedFlag;
    474474  Bool m_crossLayerIrapAlignedFlag;
    475 #if H_MV_HLS_7_MISC_P0068_21
    476475  Bool m_allLayersIdrAlignedFlag;
    477 #endif
    478476  Bool m_bitRatePresentVpsFlag;
    479477  Bool m_picRatePresentVpsFlag;
     
    484482  Int  m_constantPicRateIdc          [MAX_VPS_OP_SETS_PLUS1][MAX_TLAYER];
    485483  Int  m_avgPicRate                  [MAX_VPS_OP_SETS_PLUS1][MAX_TLAYER];
    486 #if H_MV_HLS_7_VPS_P0076_15
    487484  Bool m_videoSignalInfoIdxPresentFlag;
    488485  Int  m_vpsNumVideoSignalInfoMinus1;
    489486  TComVideoSignalInfo* m_videoSignalInfo[MAX_NUM_VIDEO_SIGNAL_INFO];   
    490487  Int  m_vpsVideoSignalInfoIdx       [MAX_NUM_VIDEO_SIGNAL_INFO];
    491 #endif
    492488  Bool m_tilesNotInUseFlag;
    493489  Bool m_tilesInUseFlag              [MAX_NUM_LAYERS];
     
    500496  Bool m_ctuBasedOffsetEnabledFlag   [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    501497  Int  m_minHorizontalCtuOffsetPlus1 [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    502 #if !H_MV_HLS_7_VPS_P0076_15
    503   Bool m_videoSignalInfoIdxPresentFlag;
    504   Int  m_vpsNumVideoSignalInfoMinus1;
    505   TComVideoSignalInfo* m_videoSignalInfo[MAX_NUM_VIDEO_SIGNAL_INFO];   
    506   Int  m_vpsVideoSignalInfoIdx       [MAX_NUM_VIDEO_SIGNAL_INFO];
    507 #endif
    508498  Bool m_vpsVuiBspHrdPresentFlag;
    509499  TComVpsVuiBspHrdParameters* m_vpsVuiBspHrdParameters;
    510 #if H_MV_HLS_7_MISC_P0182_13
    511500  Bool m_baseLayerParameterSetCompatibilityFlag[MAX_NUM_LAYERS];
    512 #endif
    513501
    514502public:
     
    521509  Bool getCrossLayerIrapAlignedFlag(  ) { return m_crossLayerIrapAlignedFlag; }
    522510
    523 #if H_MV_HLS_7_MISC_P0068_21
    524511  Void setAllLayersIdrAlignedFlag( Bool flag ) { m_allLayersIdrAlignedFlag = flag; }
    525512  Bool getAllLayersIdrAlignedFlag(  ) { return m_allLayersIdrAlignedFlag; }
    526 #endif
    527513
    528514  Void setBitRatePresentVpsFlag( Bool flag ) { m_bitRatePresentVpsFlag = flag; }
     
    550536  Int  getAvgPicRate( Int i, Int j ) { return m_avgPicRate[i][j]; }
    551537
    552 #if H_MV_HLS_7_VPS_P0076_15
    553538  Void setVideoSignalInfoIdxPresentFlag( Bool flag ) { m_videoSignalInfoIdxPresentFlag = flag; }
    554539  Bool getVideoSignalInfoIdxPresentFlag(  ) { return m_videoSignalInfoIdxPresentFlag; }
     
    562547  Void setVpsVideoSignalInfoIdx( Int i, Int  val ) { m_vpsVideoSignalInfoIdx[i] = val; }
    563548  Int  getVpsVideoSignalInfoIdx( Int i ) { return m_vpsVideoSignalInfoIdx[i]; }
    564 #endif
    565549
    566550  Void setTilesNotInUseFlag( Bool flag ) { m_tilesNotInUseFlag = flag; }
     
    593577  Void setMinHorizontalCtuOffsetPlus1( Int i, Int j, Int  val ) { m_minHorizontalCtuOffsetPlus1[i][j] = val; }
    594578  Int  getMinHorizontalCtuOffsetPlus1( Int i, Int j ) { return m_minHorizontalCtuOffsetPlus1[i][j]; }
    595 #if !H_MV_HLS_7_VPS_P0076_15
    596   Void setVideoSignalInfoIdxPresentFlag( Bool flag ) { m_videoSignalInfoIdxPresentFlag = flag; }
    597   Bool getVideoSignalInfoIdxPresentFlag(  ) { return m_videoSignalInfoIdxPresentFlag; }
    598 
    599   Void    setVideoSignalInfo( Int i, TComVideoSignalInfo* val )                        { m_videoSignalInfo[i] = val;  } 
    600   TComVideoSignalInfo* getVideoSignalInfo( Int i )                                     { return m_videoSignalInfo[i]; }
    601 
    602   Void setVpsNumVideoSignalInfoMinus1( Int  val ) { m_vpsNumVideoSignalInfoMinus1 = val; }
    603   Int  getVpsNumVideoSignalInfoMinus1(  ) { return m_vpsNumVideoSignalInfoMinus1; }
    604 
    605   Void setVpsVideoSignalInfoIdx( Int i, Int  val ) { m_vpsVideoSignalInfoIdx[i] = val; }
    606   Int  getVpsVideoSignalInfoIdx( Int i ) { return m_vpsVideoSignalInfoIdx[i]; }
    607 #endif
     579
    608580  Void setVpsVuiBspHrdPresentFlag( Bool flag ) { m_vpsVuiBspHrdPresentFlag = flag; }
    609581  Bool getVpsVuiBspHrdPresentFlag(  ) { return m_vpsVuiBspHrdPresentFlag; }
     
    612584  TComVpsVuiBspHrdParameters* getVpsVuiBspHrdParameters(  ) { return m_vpsVuiBspHrdParameters; }
    613585
    614 #if H_MV_HLS_7_MISC_P0182_13
    615586  Void setBaseLayerParameterSetCompatibilityFlag( Int i, Bool flag ) { m_baseLayerParameterSetCompatibilityFlag[i] = flag; }
    616587  Bool getBaseLayerParameterSetCompatibilityFlag( Int i ) { return m_baseLayerParameterSetCompatibilityFlag[i]; }
    617 #endif
    618 
    619 #if H_MV_HLS_7_FIX_INFER_CROSS_LAYER_IRAP_ALIGNED_FLAG
     588
    620589  Void inferVpsVui( Bool encoderFlag )
    621590  {
     
    631600
    632601  }
    633 #endif
    634602};
    635603
     
    768736  /// VPS EXTENSION SYNTAX ELEMENTS
    769737  Bool        m_avcBaseLayerFlag;
    770 #if H_MV_HLS_7_VPS_P0307_23
    771738  Int         m_vpsNonVuiExtensionLength;
    772 #else
    773   Int         m_vpsVuiOffset;
    774 #endif
    775739  Bool        m_splittingFlag;
    776740  Bool        m_scalabilityMaskFlag          [MAX_NUM_SCALABILITY_TYPES];
     
    788752  Int         m_maxTidIlRefPicsPlus1     [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    789753  Bool        m_allRefLayersActiveFlag;
    790 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    791   Int         m_vpsNumberLayerSetsMinus1;
    792 #endif
    793754  Int         m_vpsNumProfileTierLevelMinus1;   
    794755  Bool        m_vpsProfilePresentFlag    [MAX_VPS_OP_SETS_PLUS1];
    795756
    796 #if !H_MV_HLS_7_VPS_P0048_14
    797   Int         m_profileRefMinus1         [MAX_VPS_PROFILE_TIER_LEVEL];
    798 #endif
    799 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    800757  Int         m_numAddOutputLayerSets;   
    801758  Int         m_defaultTargetOutputLayerIdc;
    802 #else 
    803   Bool        m_moreOutputLayerSetsThanDefaultFlag;
    804   Int         m_numAddOutputLayerSetsMinus1;   
    805   Int         m_defaultOneTargetOutputLayerIdc;
    806 #endif
    807759
    808760  Int         m_outputLayerSetIdxMinus1  [MAX_VPS_OUTPUTLAYER_SETS]; 
    809761  Bool        m_outputLayerFlag          [MAX_VPS_OUTPUTLAYER_SETS][MAX_VPS_NUH_LAYER_ID_PLUS1];
    810762  Int         m_profileLevelTierIdx      [MAX_VPS_OUTPUTLAYER_SETS ];
    811 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    812763  Bool        m_altOutputLayerFlag       [MAX_VPS_OUTPUTLAYER_SETS];
    813 #else
    814   Bool        m_altOutputLayerFlag;
    815 #endif
    816764  Bool        m_repFormatIdxPresentFlag;
    817765  Int         m_vpsNumRepFormatsMinus1;
     
    972920  Bool    getAvcBaseLayerFlag()                                            { return m_avcBaseLayerFlag; }
    973921
    974 #if H_MV_HLS_7_VPS_P0307_23
    975922  Void    setVpsNonVuiExtensionLength( Int  val )                          { m_vpsNonVuiExtensionLength = val; }
    976923  Int     getVpsNonVuiExtensionLength(  )                                  { return m_vpsNonVuiExtensionLength; }
    977 #else
    978   Void    setVpsVuiOffset( Int  val )                                      { m_vpsVuiOffset = val; }
    979   Int     getVpsVuiOffset(  )                                              { return m_vpsVuiOffset; }
    980 #endif
    981924
    982925  Void    setSplittingFlag( Bool val )                                     { m_splittingFlag = val;  }
     
    1021964  Bool    getAllRefLayersActiveFlag(  )                                    { return m_allRefLayersActiveFlag; }
    1022965 
    1023 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1024   Void    setVpsNumberLayerSetsMinus1( Int val )                           { m_vpsNumberLayerSetsMinus1 = val;  }
    1025   Int     getVpsNumberLayerSetsMinus1( )                                   { return m_vpsNumberLayerSetsMinus1; }
    1026 #endif
    1027  
    1028966  Void    setVpsNumProfileTierLevelMinus1( Int val )                       { m_vpsNumProfileTierLevelMinus1 = val;  }
    1029967  Int     getVpsNumProfileTierLevelMinus1( )                               { return m_vpsNumProfileTierLevelMinus1; }
     
    1032970  Bool    getVpsProfilePresentFlag( Int idx )                              { return m_vpsProfilePresentFlag[idx]; }
    1033971
    1034 #if !H_MV_HLS_7_VPS_P0048_14
    1035   Void    setProfileRefMinus1( Int profileTierLevelIdx, Int val )          { m_profileRefMinus1[ profileTierLevelIdx ] = val;  }
    1036   Int     getProfileRefMinus1( Int profileTierLevelIdx )                   { return m_profileRefMinus1[ profileTierLevelIdx ]; }
    1037   Void    checkProfileRefMinus1( Int i )                                   { assert( getProfileRefMinus1( i ) + 1 <= i ); };  //  The value of profile_ref_minus1[ i ] + 1 shall be less than or equal to i.
    1038 #endif
    1039 
    1040 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1041   Void    setMoreOutputLayerSetsThanDefaultFlag( Bool flag )               { m_moreOutputLayerSetsThanDefaultFlag = flag; }
    1042   Bool    getMoreOutputLayerSetsThanDefaultFlag()                          { return m_moreOutputLayerSetsThanDefaultFlag; }
    1043 #endif
    1044  
    1045 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1046972  Void    setNumAddOutputLayerSets( Int val )                              { m_numAddOutputLayerSets = val; }
    1047973  Int     getNumAddOutputLayerSets( )                                      { return m_numAddOutputLayerSets; }
    1048 #else
    1049   Void    setNumAddOutputLayerSetsMinus1( Int val )                        { m_numAddOutputLayerSetsMinus1 = val; }
    1050   Int     getNumAddOutputLayerSetsMinus1( )                                { return m_numAddOutputLayerSetsMinus1; }
    1051 #endif
    1052  
    1053 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
     974 
    1054975  Void    setDefaultTargetOutputLayerIdc( Int  val )                       { m_defaultTargetOutputLayerIdc = val; }
    1055976  Int     getDefaultTargetOutputLayerIdc(  )                               { return m_defaultTargetOutputLayerIdc; }   
    1056 #else
    1057   Void    setDefaultOneTargetOutputLayerIdc( Int  val )                    { m_defaultOneTargetOutputLayerIdc = val; }
    1058   Int     getDefaultOneTargetOutputLayerIdc(  )                            { return m_defaultOneTargetOutputLayerIdc; }
    1059   Void    checkDefaultOneTargetOutputLayerIdc( )                           { assert( m_defaultOneTargetOutputLayerIdc >= 0 && m_defaultOneTargetOutputLayerIdc <= 1 ); }
    1060 #endif
    1061977 
    1062978  Void    setOutputLayerSetIdxMinus1( Int outLayerSetIdx, Int val )        { m_outputLayerSetIdxMinus1[ outLayerSetIdx ]  = val; }
     
    1065981  Void    setOutputLayerFlag( Int outLayerSetIdx, Int i, Bool flag )       { m_outputLayerFlag[ outLayerSetIdx ][ i ] = flag; }
    1066982  Bool    getOutputLayerFlag( Int outLayerSetIdx, Int i )                  { return m_outputLayerFlag[ outLayerSetIdx ][ i ]; }
    1067 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1068   Bool    inferOutputLayerFlag( Int i, Int j )                             
    1069   {
    1070     Bool outputLayerFlag;
    1071     switch ( getDefaultTargetOutputLayerIdc( ) )
    1072     {
    1073     case 0:
    1074       outputLayerFlag = true;
    1075       break;
    1076     case 1:
    1077       outputLayerFlag = ( j == m_layerSetLayerIdList[ getLayerSetIdxForOutputLayerSet( i ) ].size() - 1 ); 
    1078       break;
    1079     case 2:
    1080       if ( i == 0 && j == 0)
    1081       {     
    1082         outputLayerFlag = true;  // This is a software only fix for a bug in the spec. In spec outputLayerFlag neither present nor inferred.
    1083       }
    1084       else
    1085       {
    1086         assert( 0 );
    1087       }
    1088       break;
    1089     default:     
    1090       assert( 0 );
    1091       break;
    1092     }
    1093     return outputLayerFlag;
    1094   }
    1095 #else
    1096   Bool    inferOutputLayerFlag( Int layerSetIdx, Int i )                   { return ( getDefaultOneTargetOutputLayerIdc( ) == 0 || ( ( getDefaultOneTargetOutputLayerIdc( ) == 1 ) && ( i == m_layerSetLayerIdList[layerSetIdx].size() - 1  ) ));  }
    1097 #endif
     983
     984  Bool    inferOutputLayerFlag( Int i, Int j );
    1098985
    1099986  Void    setProfileLevelTierIdx( Int outLayerSetIdx, Int val )            { m_profileLevelTierIdx[ outLayerSetIdx ] = val; }
    1100987  Int     getProfileLevelTierIdx( Int outLayerSetIdx )                     { return m_profileLevelTierIdx[ outLayerSetIdx ]; }
    1101988 
    1102 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1103989  Void    setAltOutputLayerFlag( Int i, Bool flag )                        { m_altOutputLayerFlag[i] = flag; }
    1104990  Bool    getAltOutputLayerFlag( Int i )                                   { return m_altOutputLayerFlag[i]; }
    1105 #else
    1106   Void    setAltOutputLayerFlag( Bool flag )                               { m_altOutputLayerFlag = flag; }
    1107   Bool    getAltOutputLayerFlag(  )                                        { return m_altOutputLayerFlag; }
    1108 #endif
    1109991
    1110992  Void    setRepFormatIdxPresentFlag( Bool flag )                          { m_repFormatIdxPresentFlag = flag; }
     
    11651047
    11661048  Int     getProfileLevelTierIdxLen()                                      { return gCeilLog2( getVpsNumProfileTierLevelMinus1() + 1 ); };       
    1167 
    1168 #if H_MV_HLS_7_VPS_P0306_22
    11691049  Int     getVpsRepFormatIdxLen()                                          { return gCeilLog2( getVpsNumRepFormatsMinus1() + 1 ); };       
    1170 #endif
     1050
    11711051  Int     getNumLayersInIdList ( Int lsIdx );
    11721052
     
    11761056  Void    deriveLayerSetLayerIdList();
    11771057
    1178 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    11791058  Int     getLayerSetIdxForOutputLayerSet( Int i )                         { return ( i <= getVpsNumLayerSetsMinus1() ) ? i  : getOutputLayerSetIdxMinus1( i ) + 1 ; };
    11801059
     
    11871066  Int     getNumOutputLayersInOutputLayerSet( Int i )                      { return (Int) getTargetOptLayerIdList( i ).size(); };
    11881067  Int     getOlsHighestOutputLayerId( Int i )                              { return getTargetOptLayerIdList( i ).back(); }; 
    1189 #else
    1190   Void    deriveTargetLayerIdLists();
    1191   std::vector<Int> getTargetDecLayerIdList( Int targetOptLayerSetIdx )     { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; };
    1192   std::vector<Int> getTargetOptLayerIdList( Int targetOptLayerSetIdx )     { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; };
    1193 #endif
    1194 
    1195 #if H_MV_HLS_7_HRD_P0156_7
     1068
    11961069  Int     getMaxSubLayersInLayerSetMinus1( Int i )
    11971070  {
     
    12051078    return maxSLMinus1;
    12061079  }
    1207 #endif
    12081080
    12091081  // inference
     
    12301102  UInt getCamParPrecision    ()  { return m_uiCamParPrecision; }
    12311103  Bool getCamParPresent      ( Int viewIndex )  { return m_bCamParPresent[viewIndex]; }
    1232 #if FIX_CAM_PARS_COLLECTOR
    12331104  Void setCamParPresent      ( Int viewIndex, Bool val )  { m_bCamParPresent[viewIndex] = val; }
    1234 #endif
    12351105  Bool hasCamParInSliceHeader( Int viewIndex )  { return m_bCamParInSliceHeader[viewIndex]; }
    12361106  Void setHasCamParInSliceHeader( Int viewIndex, Bool b )  { m_bCamParInSliceHeader[viewIndex] = b; }
     
    19361806  Int  m_ppsScalingListRefLayerId;
    19371807
    1938 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    19391808  Bool m_ppsExtensionTypeFlag[PS_EX_T_MAX_NUM];
    1940 #endif
    1941 #if H_MV_HLS_7_POC_P0041
    19421809  Bool m_pocResetInfoPresentFlag;
    1943 #endif
    19441810#endif
    19451811
     
    20841950  Int  getPpsScalingListRefLayerId(  ) { return m_ppsScalingListRefLayerId; }
    20851951
    2086 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    20871952  Void setPpsExtensionTypeFlag( Int i, Bool flag ) { m_ppsExtensionTypeFlag[i] = flag; }
    20881953  Bool getPpsExtensionTypeFlag( Int i ) { return m_ppsExtensionTypeFlag[i]; }
    2089 #endif
    2090 
    2091 #if H_MV_HLS_7_POC_P0041
     1954
    20921955  Void setPocResetInfoPresentFlag( Bool flag ) { m_pocResetInfoPresentFlag = flag; }
    20931956  Bool getPocResetInfoPresentFlag(  ) { return m_pocResetInfoPresentFlag; }
    2094 #endif
    2095 
    20961957#endif
    20971958};
     
    22392100  Int        m_interLayerPredLayerIdc       [MAX_NUM_LAYERS];
    22402101
    2241 #if H_MV_HLS_7_POC_P0041
    22422102  Int        m_sliceSegmentHeaderExtensionLength;
    22432103  Int        m_pocResetIdc;
     
    22482108  Int        m_pocMsbVal;
    22492109  Bool       m_pocMsbValRequiredFlag;
    2250 #endif
    22512110
    22522111#if H_3D
     
    25962455  Int  getInterLayerPredLayerIdc( Int i ) { return m_interLayerPredLayerIdc[i]; }
    25972456
    2598 #if H_MV_HLS_7_POC_P0041
    25992457  Void setSliceSegmentHeaderExtensionLength( Int  val ) { m_sliceSegmentHeaderExtensionLength = val; }
    26002458  Int  getSliceSegmentHeaderExtensionLength(  ) { return m_sliceSegmentHeaderExtensionLength; }
     
    26332491    return getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA;
    26342492  }
    2635 #endif
    26362493
    26372494  // Additional variables derived in slice header semantics
  • branches/HTM-10.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r881 r882  
    308308
    309309/////////////////////////////////////////////////////////////////////////////////////////
    310 ///////////////////////////////////   HTM-10.1 Integrations //////////////////////////////
     310///////////////////////////////////   TBD                  //////////////////////////////
    311311/////////////////////////////////////////////////////////////////////////////////////////
    312312
    313 
    314 // TBD
    315313// #define H_MV_HLS_7_POC_P0041_3            0 // (POC/P0041/POC reset) #3 It was remarked that we should require each non-IRAP picture that has discardable_flag equal to 1 to have NUT value indicating that it is a sub-layer non-reference picture. This was agreed. Decision: Adopt (with constraint for discardable_flag as described above)
    316314// #define H_MV_HLS_7_POC_P0041_FIXES        0 // (POC/P0041/Fixes) For each non-IRAP picture that has discardable_flag equal to 1 to have NUT value indicating that it is a sub-layer non-reference picture.
     
    324322// #define H_MV_HLS_7_VPS_P0300_27           0 // Output part only. (VPS/P0300/alt output layer flag) #27 Change alt output layer flag to be signalled within the loop of output layer sets, from JCTVC-P0300-v2. Decision: Adopt.
    325323
    326 
    327 #define H_MV_HLS_7_VPS_P0306_22                1 // (VPS/P0306/ue(v) coded syntax elements) #22 Several minor modifications to the VPS syntax, consistent with eliminating the previous intention to avoid ue(v) parsing in the VPS
    328 #define H_MV_HLS_7_SEI_P0204_26                1 // (SEI/P0204/sub-bitstream SEI) #26 Add sub-bitstream property SEI message. Decision: Adopt
    329 #define H_MV_HLS_7_MISC_P0130_20               1 // (MISC/P0130/discardable not in inter-layer RPS) #20 Add constraint restricting pictures marked as discardable from being present in the temporal or inter-layer RPS,
    330 #define H_MV_HLS_7_VPS_P0125_24                1 // (VPS/P0125/VPS extension offset ) #24 Decision: Keep it as a reserved FFFF value.
    331 #define H_MV_HLS_7_VPS_P0307_23                1 // (VPS/P0307/VPS VUI extension)  #23 Decision: Adopt modification in P0307.
    332 #define H_MV_HLS_7_POC_P0041                   1 // Syntax related to POC reset
    333 
    334 
    335 #define H_MV_HLS7_GEN                          0  // General changes (not tested)
    336 #define H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27    1  // Output layer sets, various
    337                                                   // (VPS/P0300/alt output layer flag) #27 Change alt output layer flag to be signalled within the loop of output layer sets, from JCTVC-P0300-v2. Decision: Adopt.
    338                                                   // (VPS/P0156/Num of output_layer_flag) #10 Proposal 3: The output_layer_flag[ i ][ j ] is signalled for j equal to 0 to NumLayersInIdList[ lsIdx ] inclusive. It was remarked that we might be able to just assume that the top layer is always output; however, this was not entirely clear , so the safe thing to do may be to also send the flag for this layer.
    339                                                   // (VPS/P0295/Default output layer sets) #5 Discussion from (P0110). Decision: Three-state approach (text in P0295, decoder shall allow 3 to be present and shall treat 3 the same as the value 2).
    340 
    341 
    342 #define H_MV_HLS_7_HRD_P0156_7                 1  // (HRD/P0156/MaxSubLayersInLayerSetMinus1) #7 Proposal 1: signal, in the VPS extension, the DPB parameters for an output layer set for sub-DPBs only up to the maximum temporal sub-layers in the corresponding layer set
    343 #define H_MV_HLS_7_VPS_P0048_14                1  // (VPS/P0048/profile_ref_minus1 rem) #14 Remove profile_ref_minus1 from the VPS extension, from JCTVC-P0048
    344 #define H_MV_HLS_7_VPS_P0076_15                1  // (VPS/P0076/video signal info move) #15 Move video signal information syntax structure earlier in the VPS VUI.
    345 #define H_MV_HLS_7_SPS_P0155_16_32             1  // (SPS/P0155/sps_sub_layer_ordering_info) #16, #32 Not signal the sps_max_num_reorder_pics[], sps_max_latency_increase_plus1[], and sps_max_dec_pic_buffering_minus1[] syntax elements in the SPS when nuh_layer_id > 0.
    346 #define H_MV_HLS_7_GEN_P0166_PPS_EXTENSION     1  // (GEN/P0166/pps_extension) #17 Add PPS extension type flags for conditional presence of syntax extensions per extension type, aligned with the SPS extension type flags, from JCTVC-P0166. Further align the SPS extension type flags syntax between RExt and MV-HEVC/SHVC
    347 #define H_MV_HLS_7_FIX_SET_DPB_SIZE            1  // Fix derivation dpb size parameters
    348 #define H_MV_HLS_7_RESERVED_FLAGS              1  // Added flags
    349                                                   // (SPS/P0312/SHVC reserved flag) The flag will be used for the syntax vert_phase_position_enable_flag in SHVC draft
    350                                                   // (VPS/O0215/SHVC reserved flag): this flag will be used for the syntax cross_layer_phase_alignment_flag in SHVC draft.
    351                                                   // (VPS VUI/O0199,P0312/SHVC reserved flags) the 3 reserved bits will be used for the syntaxes single_layer_for_non_irap_flag, higher_layer_irap_skip_flag and vert_phase_position_not_in_use_flag in SHVC draft.
    352 #define H_MV_FIX_VPS_LAYER_ID_NOT_EQUAL_ZERO   1  // Discard VPS with nuh_layer_Id > 0
    353 #define H_MV_HLS_7_MISC_P0130_EOS              1  // (MISC/P0130/EOS NAL layer id) #19 Require that end of bitstream NAL unit shall have nuh_layer_id equal to 0, from JCTVC-P0130. Decoders shall allow an end of bitstream NAL unit with nuh_layer_id > 0 to be present, and shall ignore the NAL unit.
    354 #define H_MV_HLS_7_MISC_P0182_13               1  // (MISC/P0182/BL PS Compatibility flag) #13 Define the flag (in VPS VUI) with the proposed semantics, without specifying an associated extraction process. Editors to select the position in the VPS VUI.
    355 #define H_MV_HLS_7_MISC_P0068_21               1  // (MISC/P0068/all irap idr flag) #21 Add flag in VUI to indicate that all IRAP pictures are IDRs and that all layer pictures in an AU are IDR aligned, from JCTVC-P0068 proposal 1.
    356 #define H_MV_HLS_7_FIX_INFER_CROSS_LAYER_IRAP_ALIGNED_FLAG               1  // Fix inference of cross_layer_irap_aligned_flag
    357 #define H_MV_HLS_7_MISC_P0079_18               1  // (MISC/P0079/NumActiveRefLayerPics) #18 Modification of derivation of variable NumActiveRefLayerPics.
    358 #define FIX_CAM_PARS_COLLECTOR                 1
    359 #define UPDATE_HM13                            1  // Only some parts in H_3D parts are marked!
    360 #if H_3D
    361 #define H_3D_FIX_G0148_BRACE                   1
    362 #endif
     324#define H_MV_HLS7_GEN                        0  // General changes (not tested)
     325
     326
     327
    363328/////////////////////////////////////////////////////////////////////////////////////////
    364329///////////////////////////////////   HM RELATED DEFINES ////////////////////////////////
     
    397362#define MAX_NUM_BITSTREAM_PARTITIONS    100 ///< Maximum value is actually not specified
    398363#define MAX_NUM_BSP_SCHED_COMBINATION   100 ///< Maximum value is actually not specified
    399 #if H_MV_HLS_7_SEI_P0204_26
    400364#define MAX_SUB_STREAMS                 1024
    401 #endif
    402365#else
    403366#define MAX_NUM_LAYER_IDS                64
     
    890853#if H_MV
    891854
    892 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    893855enum PpsExtensionTypes
    894856{
     
    902864
    903865//Below for sps, would be good if this could be aligned
    904 #endif
    905866
    906867  enum PsExtensionTypes
  • branches/HTM-10.1-dev0/source/Lib/TLibDecoder/SEIread.cpp

    r872 r882  
    9999    fprintf( g_hTrace, "=========== Scalable Nesting SEI message ===========\n");
    100100    break;
    101 #if H_MV_HLS_7_SEI_P0204_26
     101#if H_MV
    102102  case SEI::SUB_BITSTREAM_PROPERTY:
    103103    fprintf( g_hTrace, "=========== Sub-bitstream property SEI message ===========\n");
     
    245245      xParseSEIScalableNesting((SEIScalableNesting&) *sei, nalUnitType, payloadSize, sps);
    246246      break;
    247 #if H_MV_HLS_7_SEI_P0204_26
     247#if H_MV
    248248     case SEI::SUB_BITSTREAM_PROPERTY:
    249249       sei = new SEISubBitstreamProperty;
     
    777777
    778778}
    779 #if H_MV_HLS_7_SEI_P0204_26
     779#if H_MV
    780780Void SEIReader::xParseSEISubBitstreamProperty(SEISubBitstreamProperty &sei)
    781781{
  • branches/HTM-10.1-dev0/source/Lib/TLibDecoder/SEIread.h

    r872 r882  
    7373  Void xParseSEISOPDescription        (SEISOPDescription &sei, UInt payloadSize);
    7474  Void xParseSEIScalableNesting       (SEIScalableNesting& sei, const NalUnitType nalUnitType, UInt payloadSize, TComSPS *sps);
    75 #if H_MV_HLS_7_SEI_P0204_26
     75#if H_MV
    7676  Void  xParseSEISubBitstreamProperty   (SEISubBitstreamProperty &sei);
    7777  Void  xResizeSubBitstreamPropertySeiArrays(SEISubBitstreamProperty &sei);
  • branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r877 r882  
    366366
    367367  READ_FLAG( uiCode, "pps_extension_flag");
    368 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    369368  if (uiCode)
    370369  {
     
    383382    if( pcPPS->getPpsExtensionTypeFlag( PPS_EX_T_MV ) )
    384383    {
    385 #if H_MV_HLS_7_POC_P0041
    386384      READ_FLAG( uiCode, "poc_reset_info_present_flag" ); pcPPS->setPocResetInfoPresentFlag( uiCode == 1 );
    387 #endif
    388385    }
    389386
     
    406403#endif
    407404  }
    408 #else
    409   if (uiCode)
    410   {
    411 #if H_3D
    412     parsePPSExtension( pcPPS, pcVPS );
    413     READ_FLAG( uiCode, "pps_extension2_flag");
    414     if ( uiCode )
    415     {
    416 #endif
    417       while ( xMoreRbspData() )
    418       {
    419         READ_FLAG( uiCode, "pps_extension_data_flag");
    420       }
    421 #if H_3D
    422     }
    423 #endif
    424   }
    425 #endif
    426405}
    427406
     
    849828  assert(uiCode <= 12);
    850829
    851 #if H_MV_HLS_7_SPS_P0155_16_32
     830#if H_MV
    852831  if ( pcSPS->getLayerId() == 0 )
    853832  { 
     
    888867    }
    889868  }
    890 #if H_MV_HLS_7_SPS_P0155_16_32
     869#if H_MV
    891870  }
    892871#endif
     
    10531032    READ_SVLC( iCode, "scaled_ref_layer_right_offset" ); pcSPS->setScaledRefLayerRightOffset( j, iCode );
    10541033    READ_SVLC( iCode, "scaled_ref_layer_bottom_offset" ); pcSPS->setScaledRefLayerBottomOffset( j, iCode );
    1055 #if H_MV_HLS_7_RESERVED_FLAGS
    10561034    READ_FLAG( uiCode, "sps_multilayer_ext_reserved_zero_flag[ i ]" );
    1057 #endif
    10581035  }
    10591036}
     
    10921069  assert (pcVPS->getMaxTLayers()>1||pcVPS->getTemporalNestingFlag());
    10931070
    1094 #if H_MV_HLS_7_VPS_P0125_24
    10951071  READ_CODE( 16, uiCode,  "vps_reserved_ffff_16bits" );           assert(uiCode == 0xffff);
    1096 #else
    1097 #if H_MV && !H_MV_HLS7_GEN
    1098   READ_CODE( 16, uiCode,  "vps_extension_offset" );               
    1099 #else
    1100   READ_CODE( 16, uiCode,  "vps_reserved_ffff_16bits" );           assert(uiCode == 0xffff);
    1101 #endif
    1102 #endif
    11031072  parsePTL ( pcVPS->getPTL(), true, pcVPS->getMaxTLayers()-1);
    11041073  UInt subLayerOrderingInfoPresentFlag;
     
    12121181  READ_FLAG( uiCode, "avc_base_layer_flag" );                     pcVPS->setAvcBaseLayerFlag( uiCode == 1 ? true : false );
    12131182
    1214 #if !H_MV_HLS_7_VPS_P0307_23
    1215   READ_FLAG( uiCode, "vps_vui_present_flag" );                    pcVPS->setVpsVuiPresentFlag( uiCode == 1 );
    1216   if ( pcVPS->getVpsVuiPresentFlag() )
    1217   { 
    1218   READ_CODE( 16, uiCode, "vps_vui_offset" );                      pcVPS->setVpsVuiOffset( uiCode );
    1219   }
    1220 #endif
    1221 
    12221183  READ_FLAG( uiCode, "splitting_flag" );                          pcVPS->setSplittingFlag( uiCode == 1 ? true : false );
    12231184
     
    13251286
    13261287  READ_FLAG( uiCode, "all_ref_layers_active_flag" );             pcVPS->setAllRefLayersActiveFlag( uiCode == 1 );
    1327 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1328   READ_CODE( 10, uiCode, "vps_number_layer_sets_minus1"      );  pcVPS->setVpsNumberLayerSetsMinus1    ( uiCode );
    1329 #endif
    1330 
    1331 #if !H_MV_HLS_7_VPS_P0306_22
    1332   READ_CODE( 6,  uiCode, "vps_num_profile_tier_level_minus1" );  pcVPS->setVpsNumProfileTierLevelMinus1( uiCode );
    1333 #else
     1288
    13341289  READ_UVLC( uiCode, "vps_num_profile_tier_level_minus1" );  pcVPS->setVpsNumProfileTierLevelMinus1( uiCode ); 
    1335 #endif
     1290
    13361291  for( Int i = 1; i <= pcVPS->getVpsNumProfileTierLevelMinus1(); i++ )
    13371292  {
    13381293    READ_FLAG(  uiCode, "vps_profile_present_flag[i]" );    pcVPS->setVpsProfilePresentFlag( i, uiCode == 1 );
    1339 #if !H_MV_HLS_7_VPS_P0048_14
    1340     if( !pcVPS->getVpsProfilePresentFlag( i ) )
    1341     {
    1342       READ_CODE( 6, uiCode, "profile_ref_minus1[i]" ); pcVPS->setProfileRefMinus1( i, uiCode );
    1343       pcVPS->checkProfileRefMinus1( i );     
    1344     }
    1345 #endif
    13461294    parsePTL ( pcVPS->getPTL( i ), pcVPS->getVpsProfilePresentFlag( i ), pcVPS->getMaxTLayers()-1);
    13471295    if( !pcVPS->getVpsProfilePresentFlag( i ) )
    13481296    {
    13491297      TComPTL temp = *pcVPS->getPTL( i );
    1350 #if H_MV_HLS_7_VPS_P0048_14
    13511298      *pcVPS->getPTL( i ) = *pcVPS->getPTL( i - 1 );
    1352 #else
    1353       *pcVPS->getPTL( i ) = *pcVPS->getPTL( pcVPS->getProfileRefMinus1( i ) + 1 );
    1354 #endif
    13551299      pcVPS->getPTL( i )->copyLevelFrom( &temp );
    13561300    }
    13571301  }
    13581302
    1359 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    13601303  READ_UVLC( uiCode, "num_add_output_layer_sets"      ); pcVPS->setNumAddOutputLayerSets( uiCode );
    13611304  pcVPS->initTargetLayerIdLists( );
     
    13651308  } 
    13661309
    1367 #else
    1368   Int numOutputLayerSets = pcVPS->getVpsNumberLayerSetsMinus1( ) + 1;
    1369 
    1370   READ_FLAG( uiCode, "more_output_layer_sets_than_default_flag" ); pcVPS->setMoreOutputLayerSetsThanDefaultFlag( uiCode == 1 );
    1371 
    1372   if ( pcVPS->getMoreOutputLayerSetsThanDefaultFlag( ) )
    1373   {
    1374     READ_CODE( 10, uiCode, "num_add_output_layer_sets_minus1"      ); pcVPS->setNumAddOutputLayerSetsMinus1( uiCode );
    1375     numOutputLayerSets += ( pcVPS->getNumAddOutputLayerSetsMinus1( ) + 1);
    1376   }
    1377 
    1378   if( numOutputLayerSets > 1)
    1379   {
    1380     READ_CODE( 2, uiCode, "default_one_target_output_layer_idc" ); pcVPS->setDefaultOneTargetOutputLayerIdc( uiCode );
    1381     pcVPS->checkDefaultOneTargetOutputLayerIdc();
    1382   } 
    1383 #endif
    1384 
    13851310  pcVPS->setOutputLayerFlag(0, 0, pcVPS->inferOutputLayerFlag( 0, 0 ));
    13861311  pcVPS->setOutputLayerSetIdxMinus1(0, -1);
    13871312
    1388 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    13891313  pcVPS->deriveTargetLayerIdList( 0 );
    13901314  for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ )
    13911315  {
    13921316    if( i > pcVPS->getVpsNumLayerSetsMinus1( ) )   
    1393 #else
    1394   for( Int i = 1; i < numOutputLayerSets; i++ )
    1395   {
    1396     if( i > pcVPS->getVpsNumberLayerSetsMinus1( ) )
    1397 #endif
    13981317    {       
    13991318      READ_UVLC( uiCode,      "output_layer_set_idx_minus1[i]" ); pcVPS->setOutputLayerSetIdxMinus1( i, uiCode );
    1400 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    14011319    }
    14021320
     
    14161334    }
    14171335    pcVPS->deriveTargetLayerIdList( i );
    1418 #else
    1419       for( Int j = 0; j < pcVPS->getNumLayersInIdList( j ) - 1; j++ )
    1420       {
    1421         READ_FLAG( uiCode, "output_layer_flag" ); pcVPS->setOutputLayerFlag( i, j, uiCode == 1 );
    1422       }       
    1423     }
    1424     else
    1425     { // These inference rules would also be helpful in spec text
    1426       pcVPS->setOutputLayerSetIdxMinus1(i, i - 1 );
    1427       for( Int j = 0; j < pcVPS->getNumLayersInIdList( j ) - 1; j++ )
    1428       {             
    1429         pcVPS->setOutputLayerFlag(i,j, pcVPS->inferOutputLayerFlag( i, j ));
    1430       }
    1431     }
    1432 #endif
     1336
    14331337    if ( pcVPS->getProfileLevelTierIdxLen()  > 0 )
    14341338    {     
     
    14361340    }
    14371341
    1438 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    14391342    if( pcVPS->getNumOutputLayersInOutputLayerSet( i ) == 1 && pcVPS->getNumDirectRefLayers( pcVPS->getOlsHighestOutputLayerId( i ) ) > 0 )
    14401343    {
     
    14421345    }
    14431346  }
    1444 #else
    1445   }
    1446   if( pcVPS->getMaxLayersMinus1() > 0 )
    1447   {
    1448     READ_FLAG( uiCode, "alt_output_layer_flag" ); pcVPS->setAltOutputLayerFlag( uiCode == 1 );
    1449   }
    1450 #endif
    1451 
    1452 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1453   pcVPS->deriveTargetLayerIdLists();
    1454 #endif
    14551347
    14561348  READ_FLAG( uiCode, "rep_format_idx_present_flag" ); pcVPS->setRepFormatIdxPresentFlag( uiCode == 1 );
    14571349  if ( pcVPS->getRepFormatIdxPresentFlag() )
    14581350  {
    1459 #if H_MV_HLS_7_VPS_P0306_22
    14601351    READ_UVLC( uiCode, "vps_num_rep_formats_minus1" ); pcVPS->setVpsNumRepFormatsMinus1( uiCode );
    1461 #else
    1462     READ_CODE( 4, uiCode, "vps_num_rep_formats_minus1" ); pcVPS->setVpsNumRepFormatsMinus1( uiCode );
    1463 #endif
    14641352  }
    14651353
     
    14791367      if( pcVPS->getVpsNumRepFormatsMinus1() > 0 )
    14801368      {
    1481 #if H_MV_HLS_7_VPS_P0306_22
    14821369        READ_CODE( pcVPS->getVpsRepFormatIdxLen(), uiCode, "vps_rep_format_idx[i]" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
    1483 #else
    1484         READ_CODE( 8, uiCode, "vps_rep_format_idx" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
    1485 #endif
    14861370      }
    14871371    }
     
    15001384  }
    15011385
    1502 #if H_MV_HLS_7_RESERVED_FLAGS
    15031386  READ_FLAG( uiCode, "vps_reserved_zero_flag" );
    1504 #endif
    15051387  parseDpbSize( pcVPS );
    15061388
     
    15311413  } 
    15321414
    1533 #if H_MV_HLS_7_VPS_P0307_23
    15341415  READ_UVLC( uiCode, "vps_non_vui_extension_length" ); pcVPS->setVpsNonVuiExtensionLength( uiCode );
    15351416  for ( Int i = 1; i <= pcVPS->getVpsNonVuiExtensionLength(); i++ )
     
    15381419  }
    15391420  READ_FLAG( uiCode, "vps_vui_present_flag" );  pcVPS->setVpsVuiPresentFlag( uiCode == 1 );
    1540 #endif
    1541 #if !H_MV_HLS_7_RESERVED_FLAGS
    1542   READ_FLAG( uiCode, "vps_shvc_reserved_zero_flag" );
    1543 #endif
    15441421  if( pcVPS->getVpsVuiPresentFlag() )
    15451422  {
     
    15471424    parseVPSVUI( pcVPS );
    15481425  }     
    1549 #if H_MV_HLS_7_FIX_INFER_CROSS_LAYER_IRAP_ALIGNED_FLAG
    15501426  {
    15511427    TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( );
     
    15531429    pcVPSVUI->inferVpsVui( false );
    15541430  }
    1555 #endif
    15561431
    15571432  pcVPS->checkVPSExtensionSyntax();
     
    16011476    READ_FLAG( uiCode, "cross_layer_irap_aligned_flag" ); pcVPSVUI->setCrossLayerIrapAlignedFlag( uiCode == 1 );
    16021477  }
    1603 #if H_MV_HLS_7_MISC_P0068_21
    16041478  if( pcVPSVUI->getCrossLayerIrapAlignedFlag( ) )
    16051479  {
    16061480    READ_FLAG( uiCode, "all_layers_idr_aligned_flag" ); pcVPSVUI->setAllLayersIdrAlignedFlag( uiCode == 1 );
    16071481  }
    1608 #endif
    16091482  READ_FLAG( uiCode, "bit_rate_present_vps_flag" ); pcVPSVUI->setBitRatePresentVpsFlag( uiCode == 1 );
    16101483  READ_FLAG( uiCode, "pic_rate_present_vps_flag" ); pcVPSVUI->setPicRatePresentVpsFlag( uiCode == 1 );
    16111484  if( pcVPSVUI->getBitRatePresentVpsFlag( )  ||  pcVPSVUI->getPicRatePresentVpsFlag( ) )
    16121485  {
    1613 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    16141486    for( Int i = 0; i  <=  pcVPS->getVpsNumLayerSetsMinus1(); i++ )
    1615 #else
    1616     for( Int i = 0; i  <=  pcVPS->getVpsNumberLayerSetsMinus1(); i++ )
    1617 #endif
    16181487    {
    16191488      for( Int j = 0; j  <=  pcVPS->getMaxTLayers(); j++ )
     
    16411510  }
    16421511
    1643 #if H_MV_HLS_7_VPS_P0076_15
    16441512  READ_FLAG( uiCode, "video_signal_info_idx_present_flag" ); pcVPSVUI->setVideoSignalInfoIdxPresentFlag( uiCode == 1 );
    16451513  if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() )
     
    16751543    }
    16761544  }
    1677 #endif
    16781545
    16791546  READ_FLAG( uiCode, "tiles_not_in_use_flag" ); pcVPSVUI->setTilesNotInUseFlag( uiCode == 1 );
     
    17121579  }
    17131580
    1714 #if H_MV_HLS_7_RESERVED_FLAGS
    17151581  READ_CODE( 3, uiCode, "vps_vui_reserved_zero_3bits" );
    1716 #endif
    1717 
    17181582  READ_FLAG( uiCode, "ilp_restricted_ref_layers_flag" ); pcVPSVUI->setIlpRestrictedRefLayersFlag( uiCode == 1 );
    17191583
     
    17371601  }
    17381602
    1739 #if !H_MV_HLS_7_VPS_P0076_15
    1740   READ_FLAG( uiCode, "video_signal_info_idx_present_flag" ); pcVPSVUI->setVideoSignalInfoIdxPresentFlag( uiCode == 1 );
    1741   if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() )
    1742   {
    1743     READ_CODE( 4, uiCode, "vps_num_video_signal_info_minus1" ); pcVPSVUI->setVpsNumVideoSignalInfoMinus1( uiCode );
    1744   }
    1745   else
    1746   {
    1747     pcVPSVUI->setVpsNumVideoSignalInfoMinus1( pcVPS->getMaxLayersMinus1() );
    1748   }
    1749 
    1750   for( Int i = 0; i <= pcVPSVUI->getVpsNumVideoSignalInfoMinus1(); i++ )
    1751   {
    1752     assert( pcVPSVUI->getVideoSignalInfo( i ) == NULL );
    1753     TComVideoSignalInfo* curVideoSignalInfo = new TComVideoSignalInfo();     
    1754     parseVideoSignalInfo( curVideoSignalInfo );
    1755     pcVPSVUI->setVideoSignalInfo(i, curVideoSignalInfo );
    1756   }
    1757  
    1758   if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() && pcVPSVUI->getVpsNumVideoSignalInfoMinus1() > 0 )
    1759   {
    1760     for( Int i = 1; i <=  pcVPS->getMaxLayersMinus1(); i++ )
    1761     {
    1762       READ_CODE( 4, uiCode, "vps_video_signal_info_idx" ); pcVPSVUI->setVpsVideoSignalInfoIdx( i, uiCode );
    1763       assert( pcVPSVUI->getVpsVideoSignalInfoIdx( i ) >= 0 && pcVPSVUI->getVpsVideoSignalInfoIdx( i ) <= pcVPSVUI->getVpsNumVideoSignalInfoMinus1() );
    1764     }
    1765   }
    1766   else
    1767   {
    1768     for( Int i = 1; i <=  pcVPS->getMaxLayersMinus1(); i++ )
    1769     {
    1770       pcVPSVUI->setVpsVideoSignalInfoIdx( i, pcVPSVUI->getVideoSignalInfoIdxPresentFlag() ? 0 : i );
    1771     }
    1772   }
    1773 #endif
    17741603  READ_FLAG( uiCode, "vps_vui_bsp_hrd_present_flag" ); pcVPSVUI->setVpsVuiBspHrdPresentFlag( uiCode == 1 );
    17751604  if ( pcVPSVUI->getVpsVuiBspHrdPresentFlag( ) )
     
    17771606    parseVpsVuiBspHrdParameters( pcVPS );
    17781607}
    1779 #if H_MV_HLS_7_MISC_P0182_13
    17801608  for( Int i = 1; i  <=  pcVPS->getMaxLayersMinus1(); i++ )
    17811609  {
     
    17851613    }
    17861614  }
    1787 #endif
    17881615}
    17891616
     
    18641691  { 
    18651692    READ_FLAG( uiCode, "sub_layer_flag_info_present_flag" ); dpbSize->setSubLayerFlagInfoPresentFlag( i, uiCode == 1 );
    1866 #if H_MV_HLS_7_HRD_P0156_7
    18671693    for( Int j = 0; j  <=  vps->getMaxSubLayersInLayerSetMinus1( i ); j++ )
    1868 #else
    1869     for( Int j = 0; j  <=  vps->getMaxTLayers() - 1 ; j++ )
    1870 #endif
    18711694    { 
    18721695      if( j > 0  &&  dpbSize->getSubLayerDpbInfoPresentFlag( i, j )  ) 
     
    18761699      if( dpbSize->getSubLayerDpbInfoPresentFlag( i, j ) )
    18771700      { 
    1878 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    18791701        for( Int k = 0; k < vps->getNumSubDpbs( vps->getLayerSetIdxForOutputLayerSet( i )); k++ )   
    1880 #else
    1881         for( Int k = 0; k < vps->getNumSubDpbs( vps->getOutputLayerSetIdxMinus1( i ) + 1 ); k++ )   
    1882 #endif
    18831702        {
    18841703          READ_UVLC( uiCode, "max_vps_dec_pic_buffering_minus1" ); dpbSize->setMaxVpsDecPicBufferingMinus1( i, k, j, uiCode );
     
    19831802  for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
    19841803  {
    1985 #if FIX_CAM_PARS_COLLECTOR
    19861804    pcVPS->setCamParPresent         ( viewIndex, false );
    19871805    pcVPS->setHasCamParInSliceHeader( viewIndex, false );
    1988 #endif
    19891806    READ_FLAG( uiCode, "cp_present_flag[i]" );                  bCamParPresentFlag = ( uiCode == 1);
    19901807    if ( bCamParPresentFlag )
     
    27182535  if(pps->getSliceHeaderExtensionPresentFlag())
    27192536  {
    2720 #if !H_MV_HLS_7_POC_P0041   
    2721     READ_UVLC(uiCode,"slice_header_extension_length");
    2722     for(Int i=0; i<uiCode; i++)
    2723     {
    2724       UInt ignore;
    2725       READ_CODE(8,ignore,"slice_header_extension_data_byte");
    2726     }
    2727   }
    2728 #else
    27292537#if H_MV
    27302538    READ_UVLC( uiCode, "slice_segment_header_extension_length" ); rpcSlice->setSliceSegmentHeaderExtensionLength( uiCode );
     
    27962604    }
    27972605  }
    2798 #endif
    27992606#endif
    28002607  }
  • branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r881 r882  
    895895#endif
    896896 
    897 #if H_3D && UPDATE_HM13
     897#if H_3D
    898898  Bool useDltFlag = (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps());
    899899
     
    921921    {
    922922#if H_3D
    923 #if UPDATE_HM13
    924923      if ( useDltFlag )
    925 #else
    926       if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    927 #endif
    928924      {
    929925        pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
  • branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecTop.cpp

    r872 r882  
    5151  m_aaiCodedOffset         = new Int* [ MAX_NUM_LAYERS ];
    5252  m_aaiCodedScale          = new Int* [ MAX_NUM_LAYERS ];
    53 #if !FIX_CAM_PARS_COLLECTOR
    54   m_aiViewId               = new Int  [ MAX_NUM_LAYERS ];
    55 
    56   m_bViewReceived          = new Bool [ MAX_NUM_LAYERS ];
    57 #endif
    5853  for( UInt uiId = 0; uiId < MAX_NUM_LAYERS; uiId++ )
    5954  {
     
    6560  m_iLog2Precision   = LOG2_DISP_PREC_LUT;
    6661  m_uiBitDepthForLUT = 8; // fixed
    67 #if FIX_CAM_PARS_COLLECTOR
    6862  m_receivedIdc = NULL;
    6963  m_vps         = NULL;
    70 #endif
    7164}
    7265
     
    8073  delete [] m_aaiCodedOffset;
    8174  delete [] m_aaiCodedScale;
    82 #if !FIX_CAM_PARS_COLLECTOR
    83   delete [] m_aiViewId; 
    84   delete [] m_bViewReceived;
    85 #endif
    8675
    8776  xDeleteArray( m_adBaseViewShiftLUT, MAX_NUM_LAYERS, MAX_NUM_LAYERS, 2 );
    8877  xDeleteArray( m_aiBaseViewShiftLUT, MAX_NUM_LAYERS, MAX_NUM_LAYERS, 2 );
    89 #if FIX_CAM_PARS_COLLECTOR
    9078  xDeleteArray( m_receivedIdc, m_uiMaxViewIndex + 1 );
    91 #endif
    92 }
    93 
    94 
    95 #if FIX_CAM_PARS_COLLECTOR
     79}
     80
     81
    9682Void
    9783CamParsCollector::init( FILE* pCodedScaleOffsetFile, TComVPS* vps)
     
    159145  }
    160146}
    161 #else
    162 Void
    163 CamParsCollector::init( FILE* pCodedScaleOffsetFile )
    164 {
    165   m_bInitialized            = true;
    166   m_pCodedScaleOffsetFile   = pCodedScaleOffsetFile;
    167   m_uiCamParsCodedPrecision = 0;
    168   m_bCamParsVaryOverTime    = false;
    169   m_iLastViewIndex             = -1;
    170   m_iLastPOC                = -1;
    171   m_uiMaxViewIndex             = 0;
    172 }
    173 #endif
    174 
    175147
    176148
     
    206178  CamParsCollector::xInitLUTs( UInt uiSourceView, UInt uiTargetView, Int iScale, Int iOffset, Double****& radLUT, Int****& raiLUT)
    207179{
    208 #if FIX_CAM_PARS_COLLECTOR
    209180  Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_vps->getCamParPrecision() + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
    210 #else
    211   Int     iLog2DivLuma   = m_uiBitDepthForLUT + m_uiCamParsCodedPrecision + 1 - m_iLog2Precision;   AOF( iLog2DivLuma > 0 );
    212 #endif
    213181  Int     iLog2DivChroma = iLog2DivLuma + 1;
    214182
     
    252220}
    253221
    254 #if !FIX_CAM_PARS_COLLECTOR
    255 Void
    256 CamParsCollector::setSlice( TComSlice* pcSlice )
    257 {
    258 
    259   if( pcSlice == 0 )
    260   {
    261     AOF( xIsComplete() );
    262     if( m_bCamParsVaryOverTime || m_iLastPOC == 0 )
    263     {
    264       xOutput( m_iLastPOC );
    265     }
    266     return;
    267   }
    268  
    269   if ( pcSlice->getIsDepth())
    270   {
    271     return;
    272   }
    273 
    274   Bool  bFirstAU          = ( pcSlice->getPOC()     == 0 );
    275   Bool  bFirstSliceInAU   = ( pcSlice->getPOC()     != Int ( m_iLastPOC ) );
    276   Bool  bFirstSliceInView = ( pcSlice->getViewIndex()  != UInt( m_iLastViewIndex ) || bFirstSliceInAU );
    277 
    278   AOT(  bFirstSliceInAU  &&   pcSlice->getViewIndex()  != 0 );
    279   AOT( !bFirstSliceInAU  &&   pcSlice->getViewIndex()   < UInt( m_iLastViewIndex ) );
    280  
    281   AOT( !bFirstSliceInAU  &&   pcSlice->getViewIndex()   > UInt( m_iLastViewIndex + 1 ) );
    282  
    283   AOT( !bFirstAU         &&   pcSlice->getViewIndex()   > m_uiMaxViewIndex );
    284 
    285   if ( !bFirstSliceInView )
    286   {
    287     if( m_bCamParsVaryOverTime ) // check consistency of slice parameters here
    288     {
    289       UInt uiViewIndex = pcSlice->getViewIndex();
    290       for( UInt uiBaseViewIndex = 0; uiBaseViewIndex < uiViewIndex; uiBaseViewIndex++ )
    291       {
    292         AOF( m_aaiCodedScale [ uiBaseViewIndex ][ uiViewIndex ] == pcSlice->getCodedScale    () [ uiBaseViewIndex ] );
    293         AOF( m_aaiCodedOffset[ uiBaseViewIndex ][ uiViewIndex ] == pcSlice->getCodedOffset   () [ uiBaseViewIndex ] );
    294         AOF( m_aaiCodedScale [ uiViewIndex ][ uiBaseViewIndex ] == pcSlice->getInvCodedScale () [ uiBaseViewIndex ] );
    295         AOF( m_aaiCodedOffset[ uiViewIndex ][ uiBaseViewIndex ] == pcSlice->getInvCodedOffset() [ uiBaseViewIndex ] );
    296       }
    297     }
    298     return;
    299   }
    300 
    301   if( bFirstSliceInAU )
    302   {
    303     if( !bFirstAU )
    304     {
    305       AOF( xIsComplete() );
    306       xOutput( m_iLastPOC );
    307     }
    308     ::memset( m_bViewReceived, false, MAX_NUM_LAYERS * sizeof( Bool ) );
    309   }
    310 
    311   UInt uiViewIndex                       = pcSlice->getViewIndex();
    312   m_bViewReceived[ uiViewIndex ]         = true;
    313   if( bFirstAU )
    314   {
    315     m_uiMaxViewIndex                     = std::max( m_uiMaxViewIndex, uiViewIndex );
    316     m_aiViewId[ uiViewIndex ]            = pcSlice->getViewId();
    317 
    318     if( uiViewIndex == 1 )
    319     {
    320       m_uiCamParsCodedPrecision       = pcSlice->getVPS()->getCamParPrecision     ();
    321       m_bCamParsVaryOverTime          = pcSlice->getVPS()->hasCamParInSliceHeader ( uiViewIndex );
    322     }
    323     else if( uiViewIndex > 1 )
    324     {
    325       AOF( m_uiCamParsCodedPrecision == pcSlice->getVPS()->getCamParPrecision     () );
    326       AOF( m_bCamParsVaryOverTime    == pcSlice->getVPS()->hasCamParInSliceHeader ( uiViewIndex ) );
    327     }
    328 
    329     for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
    330     {
    331       if( m_bCamParsVaryOverTime )
    332       {
    333         m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getCodedScale    () [ uiBaseIndex ];
    334         m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getCodedOffset   () [ uiBaseIndex ];
    335         m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getInvCodedScale () [ uiBaseIndex ];
    336         m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getInvCodedOffset() [ uiBaseIndex ];
    337         xInitLUTs( uiBaseIndex, uiViewIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT);
    338         xInitLUTs( uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiViewIndex ][ uiBaseIndex ], m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT);
    339       }
    340       else
    341       {
    342         m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedScale    (uiViewIndex) [ uiBaseIndex ];
    343         m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getVPS()->getCodedOffset   (uiViewIndex) [ uiBaseIndex ];
    344         m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedScale (uiViewIndex) [ uiBaseIndex ];
    345         m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getVPS()->getInvCodedOffset(uiViewIndex) [ uiBaseIndex ];
    346         xInitLUTs( uiBaseIndex, uiViewIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
    347         xInitLUTs( uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiViewIndex ][ uiBaseIndex ], m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
    348       }
    349     }
    350   }
    351   else
    352   {
    353     AOF( m_aiViewId[ uiViewIndex ] == pcSlice->getViewId() );
    354     if( m_bCamParsVaryOverTime )
    355     {
    356       for( UInt uiBaseIndex = 0; uiBaseIndex < uiViewIndex; uiBaseIndex++ )
    357       {
    358         m_aaiCodedScale [ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getCodedScale    () [ uiBaseIndex ];
    359         m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ]  = pcSlice->getCodedOffset   () [ uiBaseIndex ];
    360         m_aaiCodedScale [ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getInvCodedScale () [ uiBaseIndex ];
    361         m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ]  = pcSlice->getInvCodedOffset() [ uiBaseIndex ];
    362 
    363         xInitLUTs( uiBaseIndex, uiViewIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
    364         xInitLUTs( uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiViewIndex ][ uiBaseIndex ], m_aaiCodedOffset[ uiViewIndex ][ uiBaseIndex ], m_adBaseViewShiftLUT, m_aiBaseViewShiftLUT );
    365       }
    366     }
    367   }
    368  
    369   m_iLastViewIndex = (Int)pcSlice->getViewIndex(); 
    370   m_iLastPOC       = (Int)pcSlice->getPOC();
    371 }
    372 
    373 #else
    374222Void
    375223CamParsCollector::setSlice( TComSlice* pcSlice )
     
    440288  }
    441289}
    442 #endif
    443290
    444291
     
    454301#endif
    455302
    456 #if !FIX_CAM_PARS_COLLECTOR
    457 Bool
    458 CamParsCollector::xIsComplete()
    459 {
    460   for( UInt uiView = 0; uiView <= m_uiMaxViewIndex; uiView++ )
    461   {
    462     if( m_bViewReceived[ uiView ] == 0 )
    463     {
    464       return false;
    465     }
    466   }
    467   return true;
    468 }
    469 #endif
    470303
    471304Void
     
    474307  if( m_pCodedScaleOffsetFile )
    475308  {
    476 #if FIX_CAM_PARS_COLLECTOR
    477309    if( iPOC == m_firstReceivedPoc )
    478 #else
    479     if( iPOC == 0 )
    480 #endif
    481310    {
    482311      fprintf( m_pCodedScaleOffsetFile, "#  ViewIndex       ViewId\n" );
    483312      fprintf( m_pCodedScaleOffsetFile, "#----------- ------------\n" );
    484 #if FIX_CAM_PARS_COLLECTOR
    485313      for( UInt uiViewIndex = 0; uiViewIndex <= m_uiMaxViewIndex; uiViewIndex++ )
    486314      {
    487315        fprintf( m_pCodedScaleOffsetFile, "%12d %12d\n", uiViewIndex, m_vps->getViewIdVal( uiViewIndex ) );
    488 #else       
    489       for( UInt uiViewIndex = 0; uiViewIndex <= m_uiMaxViewIndex; uiViewIndex++ )
    490       {
    491         fprintf( m_pCodedScaleOffsetFile, "%12d %12d\n", uiViewIndex, m_aiViewId[ uiViewIndex ] );
    492 #endif
    493316      }
    494317      fprintf( m_pCodedScaleOffsetFile, "\n\n");
     
    496319      fprintf( m_pCodedScaleOffsetFile, "#----------- ------------ ------------ ------------ ------------ ------------ ------------\n" );
    497320    }
    498 #if FIX_CAM_PARS_COLLECTOR
    499321    if( iPOC == m_firstReceivedPoc || m_bCamParsVaryOverTime  )
    500 #else
    501     if( iPOC == 0 || m_bCamParsVaryOverTime )
    502 #endif
    503322    {
    504323      Int iS = iPOC;
     
    510329          if( uiViewIndex != uiBaseIndex )
    511330          {
    512 #if FIX_CAM_PARS_COLLECTOR
    513331            if ( m_receivedIdc[uiBaseIndex][uiViewIndex] != 0 )
    514332            {           
     
    516334                iS, iE, uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_vps->getCamParPrecision() );
    517335            }           
    518 #else
    519             fprintf( m_pCodedScaleOffsetFile, "%12d %12d %12d %12d %12d %12d %12d\n",
    520               iS, iE, uiViewIndex, uiBaseIndex, m_aaiCodedScale[ uiBaseIndex ][ uiViewIndex ], m_aaiCodedOffset[ uiBaseIndex ][ uiViewIndex ], m_uiCamParsCodedPrecision );
    521 #endif
    522 
    523336          }
    524337        }
     
    641454  for( Int temporalLayer=0; temporalLayer < MAX_TLAYER; temporalLayer++)
    642455  {
    643 #if H_MV_HLS_7_SPS_P0155_16_32
     456#if H_MV
    644457    numReorderPics[temporalLayer] = ( getLayerId() == 0 ) ? pcSlice->getSPS()->getNumReorderPics(temporalLayer) : pcSlice->getVPS()->getNumReorderPics(temporalLayer);
    645458#else
     
    647460#endif
    648461  }
    649 #if H_MV_HLS_7_SPS_P0155_16_32
     462#if H_MV
    650463  if ( getLayerId() == 0 )
    651464  { 
  • branches/HTM-10.1-dev0/source/Lib/TLibDecoder/TDecTop.h

    r881 r882  
    7171  ~CamParsCollector ();
    7272
    73 #if FIX_CAM_PARS_COLLECTOR
    7473  Void  init        ( FILE* pCodedScaleOffsetFile, TComVPS* vps );
    75 #else
    76   Void  init        ( FILE* pCodedScaleOffsetFile );
    77 #endif
    7874
    7975  Void  uninit      ();
     
    9490
    9591private:
    96 #if FIX_CAM_PARS_COLLECTOR
    9792  Void xResetReceivedIdc( Bool overWriteFlag );
    98 #else
    99   Bool  xIsComplete ();
    100 #endif
    10193  Void  xOutput     ( Int iPOC );
    10294
     
    108100  Int**   m_aaiCodedScale;
    109101 
    110 #if !FIX_CAM_PARS_COLLECTOR
    111   Int*    m_aiViewId; 
    112 #else
    113102  TComVPS* m_vps;
    114103  Int**    m_receivedIdc;
     
    116105  Int      m_lastPoc;
    117106  Int      m_firstReceivedPoc;
    118 #endif
    119 
    120  
    121 #if !FIX_CAM_PARS_COLLECTOR
    122   Bool*   m_bViewReceived;
    123   UInt    m_uiCamParsCodedPrecision;
    124 #endif
     107
     108 
    125109  Bool    m_bCamParsVaryOverTime;
    126 #if !FIX_CAM_PARS_COLLECTOR
    127   Int     m_iLastViewIndex;
    128   Int     m_iLastPOC;
    129   UInt    m_uiMaxViewIndex;
    130 #endif
    131 
    132110
    133111  UInt    m_uiBitDepthForLUT;
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/NALwrite.cpp

    r872 r882  
    9191  vector<uint8_t>& rbsp   = nalu.m_Bitstream.getFIFO();
    9292
    93 #if H_MV_HLS_7_MISC_P0130_EOS  // This will handle situation when writing NAL with zero payload
     93#if H_MV  // This will handle situation when writing NAL with zero payload
    9494  if (rbsp.size() == 0) return;
    9595#endif
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/SEIwrite.cpp

    r872 r882  
    9393    fprintf( g_hTrace, "=========== Scalable Nesting SEI message ===========\n");
    9494    break;
    95 #if H_MV_HLS_7_SEI_P0204_26
     95#if H_MV
    9696    case SEI::SUB_BITSTREAM_PROPERTY:
    9797    fprintf( g_hTrace, "=========== Sub-bitstream property SEI message ===========\n");
     
    151151    xWriteSEIScalableNesting(bs, *static_cast<const SEIScalableNesting*>(&sei), sps);
    152152    break;
    153 #if H_MV_HLS_7_SEI_P0204_26
     153#if H_MV
    154154   case SEI::SUB_BITSTREAM_PROPERTY:
    155155   xWriteSEISubBitstreamProperty(*static_cast<const SEISubBitstreamProperty*>(&sei));
     
    589589}
    590590
    591 #if H_MV_HLS_7_SEI_P0204_26
     591#if H_MV
    592592Void SEIWriter::xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei)
    593593{
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/SEIwrite.h

    r872 r882  
    6666  Void xWriteSEISOPDescription(const SEISOPDescription& sei);
    6767  Void xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, TComSPS *sps);
    68 #if H_MV_HLS_7_SEI_P0204_26
     68#if H_MV
    6969  Void xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei);
    7070#endif
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r877 r882  
    272272  WRITE_FLAG( pcPPS->getSliceHeaderExtensionPresentFlag() ? 1 : 0, "slice_segment_header_extension_present_flag");
    273273
    274 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    275274#if !H_MV
    276275  WRITE_FLAG( 0, "pps_extension_flag" );
     
    290289  if( pcPPS->getPpsExtensionTypeFlag( PPS_EX_T_MV ) )
    291290  {
    292 #if H_MV_HLS_7_POC_P0041
    293291    WRITE_FLAG( pcPPS->getPocResetInfoPresentFlag( ) ? 1 : 0 , "poc_reset_info_present_flag" );
    294 #endif
    295292  }
    296293
     
    303300
    304301#endif
    305 #else
    306 #if !H_3D
    307   WRITE_FLAG( 0, "pps_extension_flag" );
    308 #else
    309   WRITE_FLAG( 1, "pps_extension_flag" );
    310   codePPSExtension( pcPPS );
    311   WRITE_FLAG( 0, "pps_extension2_flag" );
    312 #endif
    313 #endif
     302
    314303}
    315304
     
    725714#endif
    726715  WRITE_UVLC( pcSPS->getBitsForPOC()-4,                 "log2_max_pic_order_cnt_lsb_minus4" );
    727 #if H_MV_HLS_7_SPS_P0155_16_32
     716#if H_MV
    728717  if ( pcSPS->getLayerId() == 0 )
    729718  { 
     
    741730    }
    742731  }
    743 #if H_MV_HLS_7_SPS_P0155_16_32
     732#if H_MV
    744733  }
    745734#endif
     
    871860    WRITE_SVLC( pcSPS->getScaledRefLayerRightOffset( j ), "scaled_ref_layer_right_offset" );
    872861    WRITE_SVLC( pcSPS->getScaledRefLayerBottomOffset( j ), "scaled_ref_layer_bottom_offset" );
    873 #if H_MV_HLS_7_RESERVED_FLAGS
    874862    WRITE_FLAG( 0, "sps_multilayer_ext_reserved_zero_flag[ j ]" );
    875 #endif
    876863  }
    877864}
     
    904891  WRITE_FLAG( pcVPS->getTemporalNestingFlag(),                "vps_temporal_id_nesting_flag" );
    905892  assert (pcVPS->getMaxTLayers()>1||pcVPS->getTemporalNestingFlag());
    906 #if H_MV_HLS_7_VPS_P0125_24
    907893  WRITE_CODE( 0xffff,                              16,        "vps_reserved_ffff_16bits" );
    908 #else
    909 #if H_MV && !H_MV_HLS7_GEN
    910   WRITE_CODE( 0xffff,                              16,        "vps_extension_offset" );
    911 #else
    912   WRITE_CODE( 0xffff,                              16,        "vps_reserved_ffff_16bits" );
    913 #endif
    914 #endif
    915894  codePTL( pcVPS->getPTL(), true, pcVPS->getMaxTLayers() - 1 );
    916895  const Bool subLayerOrderingInfoPresentFlag = 1;
     
    1010989{
    1011990  WRITE_FLAG( pcVPS->getAvcBaseLayerFlag() ? 1 : 0,          "avc_base_layer_flag" );
    1012 #if !H_MV_HLS_7_VPS_P0307_23
    1013   WRITE_FLAG( pcVPS->getVpsVuiPresentFlag() ? 1 : 0 , "vps_vui_present_flag" );
    1014   if ( pcVPS->getVpsVuiPresentFlag() )
    1015   { 
    1016   WRITE_CODE( pcVPS->getVpsVuiOffset( ), 16,                 "vps_vui_offset" );  // TBD
    1017   }
    1018 #endif
    1019 
    1020991  WRITE_FLAG( pcVPS->getSplittingFlag() ? 1 : 0,             "splitting_flag" );
    1021  
     992
    1022993  for( Int type = 0; type < MAX_NUM_SCALABILITY_TYPES; type++ )
    1023994  {
     
    10421013    {     
    10431014      WRITE_CODE( pcVPS->getLayerIdInNuh( i ), 6,          "layer_id_in_nuh[i]");
    1044   }
     1015    }
    10451016    else
    10461017    {
    10471018      assert( pcVPS->getLayerIdInNuh( i ) == i );
    1048   }
     1019    }
    10491020
    10501021    assert(  pcVPS->getLayerIdInVps( pcVPS->getLayerIdInNuh( i ) ) == i );
     
    10641035
    10651036
    1066     WRITE_CODE( pcVPS->getViewIdLen( ), 4, "view_id_len" );
    1067    
    1068     if ( pcVPS->getViewIdLen( ) > 0 )
    1069     {   
    1070       for( Int i = 0; i < pcVPS->getNumViews(); i++ )
    1071       {
    1072         WRITE_CODE( pcVPS->getViewIdVal( i ), pcVPS->getViewIdLen( ), "view_id_val[i]" );
    1073       }
    1074     }
    1075     else
    1076     {
    1077       for( Int i = 0; i < pcVPS->getNumViews(); i++ )
    1078       {
    1079         assert( pcVPS->getViewIdVal( i ) == 0 );
    1080       }
    1081     }
     1037  WRITE_CODE( pcVPS->getViewIdLen( ), 4, "view_id_len" );
     1038
     1039  if ( pcVPS->getViewIdLen( ) > 0 )
     1040  {   
     1041    for( Int i = 0; i < pcVPS->getNumViews(); i++ )
     1042    {
     1043      WRITE_CODE( pcVPS->getViewIdVal( i ), pcVPS->getViewIdLen( ), "view_id_val[i]" );
     1044    }
     1045  }
     1046  else
     1047  {
     1048    for( Int i = 0; i < pcVPS->getNumViews(); i++ )
     1049    {
     1050      assert( pcVPS->getViewIdVal( i ) == 0 );
     1051    }
     1052  }
    10821053
    10831054
     
    11221093
    11231094  WRITE_FLAG( pcVPS->getAllRefLayersActiveFlag( ) ? 1 : 0 , "all_ref_layers_active_flag" );
    1124 #if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1125   WRITE_CODE( pcVPS->getVpsNumberLayerSetsMinus1( )    , 10,    "vps_number_layer_sets_minus1"      );
    1126 #endif
    1127 
    1128 #if !H_MV_HLS_7_VPS_P0306_22
    1129   WRITE_CODE( pcVPS->getVpsNumProfileTierLevelMinus1( ), 6,     "vps_num_profile_tier_level_minus1" );
    1130 #else
    11311095  WRITE_UVLC( pcVPS->getVpsNumProfileTierLevelMinus1( ), "vps_num_profile_tier_level_minus1" );
    1132 #endif
    11331096
    11341097  for( Int i = 1; i <= pcVPS->getVpsNumProfileTierLevelMinus1(); i++ )
    11351098  {
    11361099    WRITE_FLAG( pcVPS->getVpsProfilePresentFlag( i ) ? 1 : 0, "vps_profile_present_flag[i]" );
    1137 #if !H_MV_HLS_7_VPS_P0048_14
    1138     if( !pcVPS->getVpsProfilePresentFlag( i ) )
    1139     {   
    1140       WRITE_CODE( pcVPS->getProfileRefMinus1( i ), 6, "profile_ref_minus1[i]" );
    1141       pcVPS->checkProfileRefMinus1( i );     
    1142     }
    1143 #endif
    11441100    codePTL( pcVPS->getPTL( i ), pcVPS->getVpsProfilePresentFlag( i ), pcVPS->getMaxTLayers() - 1 );
    11451101  }
    11461102
    1147 
    1148 
    1149 
    1150 
    1151 
    1152 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    11531103  WRITE_UVLC( pcVPS->getNumAddOutputLayerSets( ), "num_add_output_layer_sets" );
    11541104
     
    11571107    WRITE_CODE( pcVPS->getDefaultTargetOutputLayerIdc( ), 2, "default_target_output_layer_idc" );
    11581108  } 
    1159 #else
    1160   Int numOutputLayerSets = pcVPS->getVpsNumberLayerSetsMinus1( ) + 1;
    1161 
    1162   WRITE_FLAG( pcVPS->getMoreOutputLayerSetsThanDefaultFlag( ) ? 1 : 0, "more_output_layer_sets_than_default_flag" );
    1163 
    1164   if ( pcVPS->getMoreOutputLayerSetsThanDefaultFlag( ) )
    1165   {
    1166     WRITE_CODE( pcVPS->getNumAddOutputLayerSetsMinus1( )    , 10,    "num_add_output_layer_sets_minus1"      );
    1167     numOutputLayerSets += ( pcVPS->getNumAddOutputLayerSetsMinus1( ) + 1 );
    1168   }
    1169 
    1170   if( numOutputLayerSets > 1)
    1171   {
    1172     WRITE_CODE( pcVPS->getDefaultOneTargetOutputLayerIdc( ), 2, "default_one_target_output_layer_idc" );
    1173     pcVPS->checkDefaultOneTargetOutputLayerIdc();
    1174   } 
    1175 #endif
     1109
    11761110
    11771111  assert( pcVPS->getOutputLayerFlag(0, 0) == pcVPS->inferOutputLayerFlag( 0, 0 ));
    11781112  assert( pcVPS->getOutputLayerSetIdxMinus1( 0 ) == -1 );
    11791113
    1180 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    1181 
    11821114  for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ )
    11831115  {
    11841116    if( i > pcVPS->getVpsNumLayerSetsMinus1( ) )   
    1185 #else
    1186   for( Int i = 1; i < numOutputLayerSets; i++ )
    1187   {
    1188     if( i > pcVPS->getVpsNumberLayerSetsMinus1( ) )
    1189 #endif
    11901117    {     
    11911118      WRITE_UVLC( pcVPS->getOutputLayerSetIdxMinus1( i ),      "output_layer_set_idx_minus1[i]" );
    1192 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    11931119    }
    11941120
     
    12081134    }       
    12091135
    1210 #else
    1211       for( Int j = 0; j < pcVPS->getNumLayersInIdList( j ) - 1 ; j++ )
    1212       {
    1213         WRITE_FLAG( pcVPS->getOutputLayerFlag( i, j) ? 1 : 0, "output_layer_flag" );
    1214       }     
    1215     }
    1216     else
    1217     { // These inference rules would also be helpful in spec text
    1218       assert( pcVPS->getOutputLayerSetIdxMinus1(i ) ==  i - 1 );
    1219       for( Int j = 0; j < pcVPS->getNumLayersInIdList( j ) - 1; j++ )
    1220       {             
    1221         assert( pcVPS->getOutputLayerFlag( i , j ) == pcVPS->inferOutputLayerFlag( i, j ));
    1222       }
    1223     }
    1224 #endif
    12251136    if ( pcVPS->getProfileLevelTierIdxLen()  > 0 )
    12261137    {     
    12271138      WRITE_CODE( pcVPS->getProfileLevelTierIdx( i ), pcVPS->getProfileLevelTierIdxLen() ,"profile_level_tier_idx[ i ]" );   
    12281139    }
    1229 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    12301140    if( pcVPS->getNumOutputLayersInOutputLayerSet( i ) == 1 && pcVPS->getNumDirectRefLayers( pcVPS->getOlsHighestOutputLayerId( i ) ) > 0 )
    12311141    {
     
    12331143    }
    12341144  }
    1235 #else
    1236   }
    1237 
    1238   if( pcVPS->getMaxLayersMinus1() > 0 )
    1239   {
    1240     WRITE_FLAG( pcVPS->getAltOutputLayerFlag( ) ? 1 : 0 , "alt_output_layer_flag" );
    1241   }
    1242 #endif
    1243 
    1244 
    1245 
    1246 
    12471145
    12481146  WRITE_FLAG( pcVPS->getRepFormatIdxPresentFlag( ) ? 1 : 0 , "rep_format_idx_present_flag" );
    12491147  if ( pcVPS->getRepFormatIdxPresentFlag() )
    12501148  {
    1251 #if H_MV_HLS_7_VPS_P0306_22
    12521149    WRITE_UVLC( pcVPS->getVpsNumRepFormatsMinus1( ), "vps_num_rep_formats_minus1" );
    1253 #else
    1254     WRITE_CODE( pcVPS->getVpsNumRepFormatsMinus1( ), 4, "vps_num_rep_formats_minus1" );
    1255 #endif
    12561150  }
    12571151
     
    12691163      if( pcVPS->getVpsNumRepFormatsMinus1() > 0 )
    12701164      {
    1271 #if H_MV_HLS_7_VPS_P0306_22
    12721165        WRITE_CODE( pcVPS->getVpsRepFormatIdx(i), pcVPS->getVpsRepFormatIdxLen(), "vps_rep_format_idx[i]" );
    1273 #else
    1274         WRITE_CODE( pcVPS->getVpsRepFormatIdx( i ), 8, "vps_rep_format_idx" );
    1275 #endif
    12761166      }
    12771167    }
     
    12891179    }
    12901180  }
    1291 #if H_MV_HLS_7_RESERVED_FLAGS
    12921181  WRITE_FLAG( 0, "vps_reserved_zero_flag" );
    1293 #endif
    12941182  codeDpbSize( pcVPS );
    12951183
     
    13211209    }
    13221210  } 
    1323 #if H_MV_HLS_7_VPS_P0307_23
    13241211  WRITE_UVLC( 0, "vps_non_vui_extension_length" );
    13251212  WRITE_FLAG( pcVPS->getVpsVuiPresentFlag() ? 1 : 0 , "vps_vui_present_flag" );
    1326 #endif
    1327 #if !H_MV_HLS_7_RESERVED_FLAGS 
    1328     WRITE_FLAG ( 0,                                      "vps_shvc_reserved_zero_flag" );
    1329 #endif
    1330     if( pcVPS->getVpsVuiPresentFlag() )
    1331     {
    1332       m_pcBitIf->writeAlignOne();  // vps_vui_alignment_bit_equal_to_one
    1333       codeVPSVUI( pcVPS );
    1334     }     
    1335 #if H_MV_HLS_7_FIX_INFER_CROSS_LAYER_IRAP_ALIGNED_FLAG
    1336     {
    1337       TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( );
    1338       assert( pcVPSVUI );
    1339       pcVPSVUI->inferVpsVui( true );
    1340     }
    1341 #endif
    1342 }
     1213  if( pcVPS->getVpsVuiPresentFlag() )
     1214  {
     1215    m_pcBitIf->writeAlignOne();  // vps_vui_alignment_bit_equal_to_one
     1216    codeVPSVUI( pcVPS );
     1217  }     
     1218  {
     1219    TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( );
     1220    assert( pcVPSVUI );
     1221    pcVPSVUI->inferVpsVui( true );
     1222  }
     1223}
     1224
    13431225Void TEncCavlc::codeVideoSignalInfo( TComVideoSignalInfo* pcVideoSignalInfo )
    13441226{
     
    13591241  { 
    13601242    WRITE_FLAG( dpbSize->getSubLayerFlagInfoPresentFlag( i ) ? 1 : 0 , "sub_layer_flag_info_present_flag" );
    1361 #if H_MV_HLS_7_HRD_P0156_7
    13621243    for( Int j = 0; j  <=  vps->getMaxSubLayersInLayerSetMinus1( i ); j++ )
    1363 #else
    1364     for( Int j = 0; j  <=  vps->getMaxTLayers() - 1 ; j++ )
    1365 #endif
    13661244    { 
    13671245      if( j > 0  &&  dpbSize->getSubLayerDpbInfoPresentFlag( i, j )  ) 
     
    13711249      if( dpbSize->getSubLayerDpbInfoPresentFlag( i, j ) )
    13721250      { 
    1373 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    13741251        for( Int k = 0; k < vps->getNumSubDpbs( vps->getLayerSetIdxForOutputLayerSet( i )); k++ )   
    1375 #else
    1376         for( Int k = 0; k < vps->getNumSubDpbs( vps->getOutputLayerSetIdxMinus1( i ) + 1 ); k++ )   // Preliminary fix does not match with spec
    1377 #endif
    13781252        {
    13791253          WRITE_UVLC( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ), "max_vps_dec_pic_buffering_minus1" );
     
    13951269        if ( j > 0 )
    13961270        {
    1397 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    13981271          for( Int k = 0; k < vps->getNumSubDpbs( vps->getLayerSetIdxForOutputLayerSet( i ) ); k++ )   
    1399 #else
    1400           for( Int k = 0; k < vps->getNumSubDpbs( vps->getOutputLayerSetIdxMinus1( i ) + 1 ); k++ )   
    1401 #endif
    14021272          {
    14031273            assert( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) == dpbSize->getMaxVpsDecPicBufferingMinus1( i,k, j - 1 ) );
     
    14511321    WRITE_FLAG( pcVPSVUI->getCrossLayerIrapAlignedFlag( ) ? 1 : 0 , "cross_layer_irap_aligned_flag" );
    14521322  }
    1453 #if H_MV_HLS_7_MISC_P0068_21
    14541323  if( pcVPSVUI->getCrossLayerIrapAlignedFlag( ) )
    14551324  {
    14561325    WRITE_FLAG( pcVPSVUI->getAllLayersIdrAlignedFlag( ) ? 1 : 0 , "all_layers_idr_aligned_flag" );
    14571326  }
    1458 #endif
    14591327  WRITE_FLAG( pcVPSVUI->getBitRatePresentVpsFlag( ) ? 1 : 0 , "bit_rate_present_vps_flag" );
    14601328  WRITE_FLAG( pcVPSVUI->getPicRatePresentVpsFlag( ) ? 1 : 0 , "pic_rate_present_vps_flag" );
    14611329  if( pcVPSVUI->getBitRatePresentVpsFlag( )  ||  pcVPSVUI->getPicRatePresentVpsFlag( ) )
    14621330  {
    1463 #if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    14641331    for( Int i = 0; i  <=  pcVPS->getVpsNumLayerSetsMinus1(); i++ )
    1465 #else
    1466     for( Int i = 0; i  <=  pcVPS->getVpsNumberLayerSetsMinus1(); i++ )
    1467 #endif
    14681332    {
    14691333      for( Int j = 0; j  <=  pcVPS->getMaxTLayers(); j++ )
     
    14911355  }
    14921356
    1493 #if H_MV_HLS_7_VPS_P0076_15
    14941357  WRITE_FLAG( pcVPSVUI->getVideoSignalInfoIdxPresentFlag( ) ? 1 : 0 , "video_signal_info_idx_present_flag" );
    14951358  if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() )
     
    15251388    }
    15261389  }
    1527 #endif
    15281390  WRITE_FLAG( pcVPSVUI->getTilesNotInUseFlag( ) ? 1 : 0 , "tiles_not_in_use_flag" );
    15291391  if( !pcVPSVUI->getTilesNotInUseFlag() )
     
    15601422    }
    15611423  }
    1562 #if H_MV_HLS_7_RESERVED_FLAGS
    15631424  WRITE_CODE( 0, 3, "vps_vui_reserved_zero_3bits" );
    1564 #endif
    15651425  WRITE_FLAG( pcVPSVUI->getIlpRestrictedRefLayersFlag( ) ? 1 : 0 , "ilp_restricted_ref_layers_flag" );
    15661426
     
    15841444  }
    15851445
    1586 #if !H_MV_HLS_7_VPS_P0076_15
    1587   WRITE_FLAG( pcVPSVUI->getVideoSignalInfoIdxPresentFlag( ) ? 1 : 0 , "video_signal_info_idx_present_flag" );
    1588   if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() )
    1589   {
    1590     WRITE_CODE( pcVPSVUI->getVpsNumVideoSignalInfoMinus1( ), 4, "vps_num_video_signal_info_minus1" );
    1591   }
    1592   else
    1593   {
    1594     pcVPSVUI->setVpsNumVideoSignalInfoMinus1( pcVPS->getMaxLayersMinus1() );
    1595   }
    1596 
    1597   for( Int i = 0; i <= pcVPSVUI->getVpsNumVideoSignalInfoMinus1(); i++ )
    1598   {
    1599     assert( pcVPSVUI->getVideoSignalInfo( i ) != NULL );
    1600     TComVideoSignalInfo* curVideoSignalInfo = pcVPSVUI->getVideoSignalInfo( i );
    1601     codeVideoSignalInfo( curVideoSignalInfo );     
    1602   }
    1603 
    1604   if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() && pcVPSVUI->getVpsNumVideoSignalInfoMinus1() > 0 )
    1605   {
    1606     for( Int i = 1; i <=  pcVPS->getMaxLayersMinus1(); i++ )
    1607     {
    1608       WRITE_CODE( pcVPSVUI->getVpsVideoSignalInfoIdx( i ), 4, "vps_video_signal_info_idx" );
    1609       assert( pcVPSVUI->getVpsVideoSignalInfoIdx( i ) >= 0 && pcVPSVUI->getVpsVideoSignalInfoIdx( i ) <= pcVPSVUI->getVpsNumVideoSignalInfoMinus1() );
    1610     }
    1611 }
    1612   else
    1613   {
    1614     for( Int i = 1; i <=  pcVPS->getMaxLayersMinus1(); i++ )
    1615     {
    1616       assert( pcVPSVUI->getVpsVideoSignalInfoIdx( i  ) == ( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() ? 0 : i ) );
    1617     }
    1618   }
    1619 #endif
     1446
    16201447  WRITE_FLAG( pcVPSVUI->getVpsVuiBspHrdPresentFlag( ) ? 1 : 0 , "vps_vui_bsp_hrd_present_flag" );
    16211448  if ( pcVPSVUI->getVpsVuiBspHrdPresentFlag( ) )
     
    16231450    codeVpsVuiBspHrdParameters( pcVPS );
    16241451  }
    1625 #if H_MV_HLS_7_MISC_P0182_13
    16261452  for( Int i = 1; i  <=  pcVPS->getMaxLayersMinus1(); i++ )
    16271453  {
     
    16301456      WRITE_FLAG( pcVPSVUI->getBaseLayerParameterSetCompatibilityFlag( i ) ? 1 : 0 , "base_layer_parameter_set_compatibility_flag" );
    16311457    }
    1632 }
    1633 #endif
     1458  }
    16341459}
    16351460
     
    22252050#endif
    22262051
    2227 #if !H_MV_HLS_7_POC_P0041
    2228 #if PPS_FIX_DEPTH
    2229   if(pcSlice->getPPS()->getSliceHeaderExtensionPresentFlag() || pcSlice->getIsDepth() )
    2230 #else
    2231   if(pcSlice->getPPS()->getSliceHeaderExtensionPresentFlag())
    2232 #endif
    2233   {
    2234     WRITE_UVLC(0,"slice_header_extension_length");
    2235   }
    2236 #endif
    2237 
    2238 #if H_MV_HLS_7_POC_P0041
     2052
    22392053#if !H_MV
    22402054  if(pcSlice->getPPS()->getSliceHeaderExtensionPresentFlag())
     
    23442158  }
    23452159#endif
    2346 #endif
    23472160}
    23482161
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncCfg.h

    r876 r882  
    347347
    348348  Bool      m_useStrongIntraSmoothing;                        ///< enable the use of strong intra smoothing (bi_linear interpolation) for 32x32 blocks when reference samples are flat.
    349 #if H_MV_HLS_7_SEI_P0204_26
     349#if H_MV
    350350  Bool              m_subBistreamPropSEIEnabled;
    351351  Int               m_numAdditionalSubStreams;
     
    785785  Int   getScalableNestingSEIEnabled()                     { return m_scalableNestingSEIEnabled; }
    786786
    787 #if H_MV_HLS_7_SEI_P0204_26
     787#if H_MV
    788788  Bool   getSubBitstreamPropSEIEnabled()        { return m_subBistreamPropSEIEnabled;}
    789789  Void   setSubBitstreamPropSEIEnabled(Bool x)  { m_subBistreamPropSEIEnabled = x;}
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp

    r881 r882  
    17941794    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS_MEM*sizeof(Int) );
    17951795    rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level
    1796 #if !UPDATE_HM13
    1797     rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth );
    1798 #endif
    17991796    rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
    18001797#if H_3D_IC
     
    20852082{
    20862083
    2087 #if UPDATE_HM13
    20882084#if H_3D
    20892085  const Bool bTransquantBypassFlag = rpcTempCU->getCUTransquantBypass(0);
    2090 #endif
    20912086#endif
    20922087#if  H_3D_FAST_TEXTURE_ENCODING
     
    21092104    if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) )
    21102105    {
    2111 #if UPDATE_HM13
    21122106      rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0),bTransquantBypassFlag );     
    2113 #else
    2114       rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0) );
    2115 #endif
    21162107    }
    21172108#endif
     
    22222213      {
    22232214        Int orgQP = rpcBestCU->getQP( 0 );
    2224 #if UPDATE_HM13
    22252215        rpcTempCU->initEstData( uhDepth, orgQP ,bTransquantBypassFlag );     
    2226 #else
    2227         rpcTempCU->initEstData( uhDepth, orgQP );
    2228 #endif
    22292216        rpcTempCU->copyPartFrom( rpcBestCU, 0, uhDepth );
    22302217      }
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r872 r882  
    296296}
    297297
    298 #if H_MV_HLS_7_SEI_P0204_26
     298#if H_MV
    299299SEISubBitstreamProperty *TEncGOP::xCreateSEISubBitstreamProperty( TComSPS *sps)
    300300{
     
    365365    delete sei;
    366366  }
    367 #if H_MV_HLS_7_SEI_P0204_26
     367#if H_MV
    368368  if( m_pcCfg->getSubBitstreamPropSEIEnabled() )
    369369  {
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncGOP.h

    r872 r882  
    212212
    213213  SEIToneMappingInfo*     xCreateSEIToneMappingInfo();
    214 #if H_MV_HLS_7_SEI_P0204_26
     214#if H_MV
    215215  SEISubBitstreamProperty *xCreateSEISubBitstreamProperty( TComSPS *sps);
    216216#endif
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r881 r882  
    46014601        }
    46024602        else
    4603 #if H_3D_FIX_G0148_BRACE
    46044603          {
    4605 #endif
    46064604#endif
    46074605          pcCU->setInterDirSubParts  ( uiMRGInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    46084606            pcCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMRGMvField[0], ePartSize, uiPartAddr, 0, iPartIdx );
    46094607            pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMRGMvField[1], ePartSize, uiPartAddr, 0, iPartIdx );
    4610 #if H_3D_FIX_G0148_BRACE
     4608#if H_3D
    46114609          }
    46124610#endif
  • branches/HTM-10.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp

    r872 r882  
    667667  m_cSPS.setSPSId( getLayerIdInVps() );
    668668  m_cSPS.setLayerId( getLayerId() );
    669 #endif
    670 #if H_MV_HLS_7_VPS_P0048_14
    671669 // Code below needs to be moved to VPS
    672670#endif
     
    832830  m_cPPS.setSPSId( getLayerIdInVps() );
    833831
    834 #if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION
    835 #if H_MV 
    836832  m_cPPS.setPpsExtensionTypeFlag          ( PPS_EX_T_MV ,true );
    837833#if H_3D
    838834  m_cPPS.setPpsExtensionTypeFlag          ( PPS_EX_T_3D ,true );
    839 #endif
    840 #endif
    841835#endif
    842836#endif
Note: See TracChangeset for help on using the changeset viewer.