Changeset 766 in 3DVCSoftware


Ignore:
Timestamp:
12 Jan 2014, 03:29:17 (10 years ago)
Author:
tech
Message:

Cleanup part 3

Location:
branches/HTM-9.2-dev0/source
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.2-dev0/source/App/TAppDecoder/TAppDecCfg.cpp

    r738 r766  
    8585  ("OutputBitDepthC,d", m_outputBitDepthC, 0, "bit depth of YUV output chroma component (default: use 0 for native depth)")
    8686#if H_MV
    87 #if H_MV_6_HRD_O0217_13
    8887  ("TargetOptLayerSetIdx,x", m_targetOptLayerSetIdx, -1, "Target output layer set index. (default: -1, determine automatically to be equal to highest layer set index") // Should actually equal to 0 as default. However, this would cause only the base layer to be decoded. 
    89 #else
    90   ("MaxLayerId,-ls", m_maxLayerId, MAX_NUM_LAYER_IDS-1, "Maximum LayerId to be decoded.")
    91 #endif
    9288#endif
    9389  ("MaxTemporalLayer,t", m_iMaxTemporalLayer, -1, "Maximum Temporal Layer to be decoded. -1 to decode all layers")
     
    128124  if ( !cfg_TargetDecLayerIdSetFile.empty() )
    129125  {
    130 #if H_MV_6_HRD_O0217_13
    131126    m_targetDecLayerIdSetFileEmpty = false;     
    132 #endif
    133127    FILE* targetDecLayerIdSetFile = fopen ( cfg_TargetDecLayerIdSetFile.c_str(), "r" );
    134128    if ( targetDecLayerIdSetFile )
     
    174168  }
    175169#if H_MV
    176 #if H_MV_6_HRD_O0217_13
    177170  m_targetDecLayerIdSet.push_back( 0 );         // Only base layer at startup
    178 #else
    179   else
    180   {
    181     for ( Int curLayerId = 0; curLayerId <= m_maxLayerId; curLayerId++ )
    182     {
    183       m_targetDecLayerIdSet.push_back( curLayerId );
    184     }
    185   }
    186 #endif
    187171#endif
    188172
  • branches/HTM-9.2-dev0/source/App/TAppDecoder/TAppDecCfg.h

    r738 r766  
    5959  Char*         m_pchBitstreamFile;                   ///< input bitstream file name
    6060#if H_MV
    61 #if H_MV_6_HRD_O0217_13
    6261  Int           m_targetOptLayerSetIdx;               ///< target output layer set index
    63 #endif
    6462  Int           m_maxLayerId;                         ///< maximum nuh_layer_id decoded
    6563  std::vector<Char*> m_pchReconFiles;                 ///< array of output reconstruction file name create from output reconstruction file name
     
    7775
    7876  std::vector<Int> m_targetDecLayerIdSet;             ///< set of LayerIds to be included in the sub-bitstream extraction process.
    79 #if H_MV_6_HRD_O0217_13
    8077  Bool          m_targetDecLayerIdSetFileEmpty;      ///< indication if target layers are given by file
    81 #endif
    8278  Int           m_respectDefDispWindow;               ///< Only output content inside the default display window
    8379
     
    8985  : m_pchBitstreamFile(NULL)
    9086#if H_MV
    91 #if !H_MV_6_HRD_O0217_13
    92   , m_maxLayerId(0)
    93 #endif
    9487#endif
    9588  , m_pchReconFile(NULL)
     
    9992  , m_iMaxTemporalLayer(-1)
    10093  , m_decodedPictureHashSEIEnabled(0)
    101 #if H_MV_6_HRD_O0217_13
    10294  , m_targetDecLayerIdSetFileEmpty(true)
    103 #endif
    10495  , m_respectDefDispWindow(0)
    10596  {}
  • branches/HTM-9.2-dev0/source/App/TAppDecoder/TAppDecTop.cpp

    r738 r766  
    6161{
    6262#if H_MV
    63 #if H_MV_LAYER_WISE_STARTUP
    6463  for (Int i = 0; i < MAX_NUM_LAYER_IDS; i++)
    6564  {
     
    6766    m_layerInitilizedFlags[i] = false;
    6867  }
    69 #else
    70   for (Int i = 0; i < MAX_NUM_LAYER_IDS; i++) m_layerIdToDecIdx[i] = -1;
    71 #endif
    7268#endif
    7369#if H_3D
     
    192188    Bool newSliceDiffPoc   = false;
    193189    Bool newSliceDiffLayer = false;
    194 #if H_MV_FIX_SKIP_PICTURES
    195190    Bool sliceSkippedFlag = false;
    196 #endif
    197191#if H_3D
    198192    Bool allLayersDecoded  = false;     
     
    212206      read(nalu, nalUnit);
    213207#if H_MV     
    214 #if !H_MV_6_HRD_O0217_13
    215       Int decIdx     = xGetDecoderIdx( nalu.m_layerId , true );
    216 #endif
    217 #if H_MV_6_LAYER_ID_32
    218208      if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) || nalu.m_layerId > MAX_NUM_LAYER_IDS-1 )
    219 #else           
    220       if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) )
    221 #endif
    222209      {
    223210        bNewPicture = false;
    224 #if H_MV_6_LAYER_ID_32
    225211        if ( !bitstreamFile )
    226212        {
    227213          decIdxLastPic     = decIdxCurrPic;
    228214        }
    229 #endif
    230215      }
    231216      else
    232217      {
    233 #if H_MV_6_HRD_O0217_13
    234218        Int decIdx     = xGetDecoderIdx( nalu.m_layerId , true );     
    235 #endif
    236219        newSliceDiffLayer = nalu.isSlice() && ( nalu.m_layerId != layerIdCurrPic ) && !firstSlice;
    237 #if H_MV_FIX_SKIP_PICTURES
    238220        newSliceDiffPoc   = m_tDecTop[decIdx]->decode(nalu, m_iSkipFrame, m_pocLastDisplay[decIdx], newSliceDiffLayer, sliceSkippedFlag );
    239 #else
    240         newSliceDiffPoc   = m_tDecTop[decIdx]->decode(nalu, m_iSkipFrame, m_pocLastDisplay[decIdx], newSliceDiffLayer );
    241 #endif
    242221        // decode function only returns true when all of the following conditions are true
    243222        // - poc in particular layer changes
     
    245224        // - nalu.isSlice() == true     
    246225
    247 #if H_MV_6_HRD_O0217_13
    248226        // Update TargetDecLayerIdList only when not specified by layer id file, specification by file might actually out of conformance.
    249227        if (nalu.m_nalUnitType == NAL_UNIT_VPS && m_targetDecLayerIdSetFileEmpty )
     
    258236          m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
    259237        }
    260 #endif
    261 #if H_MV_FIX_SKIP_PICTURES
    262238        bNewPicture       = ( newSliceDiffLayer || newSliceDiffPoc ) && !sliceSkippedFlag;
    263239        if ( nalu.isSlice() && firstSlice && !sliceSkippedFlag )       
    264 #else
    265         bNewPicture       = newSliceDiffLayer || newSliceDiffPoc;
    266 
    267         if ( nalu.isSlice() && firstSlice )
    268 #endif
    269240        {
    270241          layerIdCurrPic = nalu.m_layerId;
     
    881852  Int decIdx = -1;
    882853
    883 #if H_MV_6_LAYER_ID_32
    884854  if ( layerId > MAX_NUM_LAYER_IDS-1 ) 
    885855  {
    886856    return decIdx;
    887857  }
    888 #endif
    889858
    890859  if ( m_layerIdToDecIdx[ layerId ] != -1 )
     
    906875    m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled);
    907876    m_tDecTop[ decIdx ]->setIvPicLists( &m_ivPicLists );
    908 #if H_MV_LAYER_WISE_STARTUP
    909877    m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags );
    910 #endif
    911878
    912879#if H_3D
  • branches/HTM-9.2-dev0/source/App/TAppDecoder/TAppDecTop.h

    r738 r766  
    6767  Int                             m_numDecoders;                               ///< number of decoder instances
    6868  TComPicLists                    m_ivPicLists;                                ///< picture buffers of decoder instances
    69 #if H_MV_LAYER_WISE_STARTUP
    7069  Bool                            m_layerInitilizedFlags[ MAX_NUM_LAYER_IDS ]; ///< for layerwise startup
    71 #endif
    7270
    7371#else
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncCfg.cpp

    r765 r766  
    388388  ("VpsNumLayerSets",       m_vpsNumLayerSets    , 1                    , "Number of layer sets")   
    389389  ("LayerIdsInSet_%d",      m_layerIdsInSets     , std::vector<Int>(1,0), MAX_VPS_OP_SETS_PLUS1 ,"LayerIds of Layer set") 
    390 #if H_MV_6_PS_0109_25
    391390  ("DefaultOneTargetOutputLayerFlag"  , m_defaultOneTargetOutputLayerIdc  , 0, "Output highest layer of layer sets by default")
    392 #else
    393   ("DefaultOneTargetOutputLayerFlag", m_defaultOneTargetOutputLayerFlag,  false , "Output highest layer of layer sets by default")     
    394 #endif
    395391  ("OutputLayerSetIdx",     m_outputLayerSetIdx  , std::vector<Int>(0,0), "Indices of layer sets used as additional output layer sets") 
    396392  ("LayerIdsInAddOutputLayerSet_%d", m_layerIdsInAddOutputLayerSet      , std::vector<Int>(1,0), MAX_VPS_ADD_OUTPUT_LAYER_SETS, "LayerIds of additional output layers") 
     
    450446 
    451447  // Coding structure parameters
    452 #if H_MV_LAYER_WISE_STARTUP
    453448  ("IntraPeriod,-ip",         m_iIntraPeriod,std::vector<Int>(1,-1), "Intra period in frames, (-1: only first frame), per layer")
    454 #else
    455   ("IntraPeriod,-ip",         m_iIntraPeriod,              -1, "Intra period in frames, (-1: only first frame)")
    456 #endif
    457449  ("DecodingRefreshType,-dr", m_iDecodingRefreshType,       0, "Intra refresh type (0:none 1:CRA 2:IDR)")
    458450  ("GOPSize,g",               m_iGOPSize,                   1, "GOP size of temporal structure")
     
    626618#if H_MV
    627619
    628 #if H_MV_6_HRD_O0217_13
    629620  // DBP Size
    630621  ("SubLayerFlagInfoPresentFlag",  m_subLayerFlagInfoPresentFlag , false                                           , "SubLayerFlagInfoPresentFlag")
    631 #endif
    632622  // VPS VUI
    633623  ("VpsVuiPresentFlag"           , m_vpsVuiPresentFlag           , false                                           , "VpsVuiPresentFlag           ")
    634 #if H_MV_6_PS_O0223_29
    635624  ("CrossLayerPicTypeAlignedFlag", m_crossLayerPicTypeAlignedFlag, false                                           , "CrossLayerPicTypeAlignedFlag")  // Could actually be derived by the encoder
    636625  ("CrossLayerIrapAlignedFlag"   , m_crossLayerIrapAlignedFlag   , false                                           , "CrossLayerIrapAlignedFlag   ")  // Could actually be derived by the encoder
    637 #endif
    638626  ("BitRatePresentVpsFlag"       , m_bitRatePresentVpsFlag       , false                                           , "BitRatePresentVpsFlag       ")
    639627  ("PicRatePresentVpsFlag"       , m_picRatePresentVpsFlag       , false                                           , "PicRatePresentVpsFlag       ")
     
    644632  ("ConstantPicRateIdc"          , m_constantPicRateIdc          , std::vector< Int  >(1,0)  ,MAX_VPS_OP_SETS_PLUS1, "ConstantPicRateIdc per sub layer for the N-th layer set")
    645633  ("AvgPicRate"                  , m_avgPicRate                  , std::vector< Int  >(1,0)  ,MAX_VPS_OP_SETS_PLUS1, "AvgPicRate         per sub layer for the N-th layer set")
    646 #if H_MV_6_O0226_37
    647634  ("TilesNotInUseFlag"            , m_tilesNotInUseFlag            , true                                          , "TilesNotInUseFlag            ")
    648635  ("TilesInUseFlag"               , m_tilesInUseFlag               , std::vector< Bool >(1,false)                   , "TilesInUseFlag               ")
     
    650637  ("WppNotInUseFlag"              , m_wppNotInUseFlag              , true                                          , "WppNotInUseFlag              ")
    651638  ("WppInUseFlag"                 , m_wppInUseFlag                 , std::vector< Bool >(1,0)                      , "WppInUseFlag                 ")
    652 #endif
    653639  ("TileBoundariesAlignedFlag"   , m_tileBoundariesAlignedFlag   , std::vector< Bool >(1,0)  ,MAX_NUM_LAYERS       , "TileBoundariesAlignedFlag    per direct reference for the N-th layer")
    654640  ("IlpRestrictedRefLayersFlag"  , m_ilpRestrictedRefLayersFlag  , false                                           , "IlpRestrictedRefLayersFlag")
     
    10631049  xResizeVector( m_bLoopFilterDisable );
    10641050  xResizeVector( m_bUseSAO );
    1065 #if H_MV_LAYER_WISE_STARTUP
    10661051  xResizeVector( m_iIntraPeriod );
    1067 #endif
    1068 #if H_MV_6_O0226_37
    10691052  xResizeVector( m_tilesInUseFlag );
    10701053  xResizeVector( m_loopFilterNotAcrossTilesFlag );
    10711054  xResizeVector( m_wppInUseFlag );
    1072 #endif
    10731055#else
    10741056  m_aidQP = new Int[ m_framesToBeEncoded + m_iGOPSize + 1 ];
     
    14151397    for ( Int i = 0; i < m_layerIdsInSets[lsIdx].size(); i++ )
    14161398    {
    1417 #if H_MV_6_LAYER_ID_32
    14181399      xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx].size() >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than and less than MAX_NUM_LAYER_IDS" );
    1419 #else
    1420       xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx].size() >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than and less than 64" );
    1421 #endif
    14221400    }
    14231401  }
     
    14451423  }
    14461424
    1447 #if H_MV_6_PS_0109_25
    14481425  xConfirmPara( m_defaultOneTargetOutputLayerIdc < 0 || m_defaultOneTargetOutputLayerIdc > 1, "Default one target output layer idc must be equal to 0 or equal to 1" );
    1449 #endif
    14501426  xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" );
    14511427
     
    14641440  xConfirmPara( m_iGOPSize < 1 ,                                                            "GOP Size must be greater or equal to 1" );
    14651441  xConfirmPara( m_iGOPSize > 1 &&  m_iGOPSize % 2,                                          "GOP Size must be a multiple of 2, if GOP Size is greater than 1" );
    1466 #if H_MV_LAYER_WISE_STARTUP
    14671442  for( Int layer = 0; layer < m_numberOfLayers; layer++ )
    14681443  {
    14691444    xConfirmPara( (m_iIntraPeriod[layer] > 0 && m_iIntraPeriod[layer] < m_iGOPSize) || m_iIntraPeriod[layer] == 0, "Intra period must be more than GOP size, or -1 , not 0" );
    14701445  }
    1471 #else
    1472   xConfirmPara( (m_iIntraPeriod > 0 && m_iIntraPeriod < m_iGOPSize) || m_iIntraPeriod == 0, "Intra period must be more than GOP size, or -1 , not 0" );
    1473 #endif
    14741446  xConfirmPara( m_iDecodingRefreshType < 0 || m_iDecodingRefreshType > 2,                   "Decoding Refresh Type must be equal to 0, 1 or 2" );
    14751447#if H_MV
     
    14971469  if (m_iDecodingRefreshType == 2)
    14981470  {
    1499 #if H_MV_LAYER_WISE_STARTUP
    15001471    for (Int i = 0; i < m_numberOfLayers; i++ )
    15011472    {
    15021473      xConfirmPara( m_iIntraPeriod[i] > 0 && m_iIntraPeriod[i] <= m_iGOPSize ,                      "Intra period must be larger than GOP size for periodic IDR pictures");
    15031474    }
    1504 #else
    1505     xConfirmPara( m_iIntraPeriod > 0 && m_iIntraPeriod <= m_iGOPSize ,                      "Intra period must be larger than GOP size for periodic IDR pictures");
    1506 #endif
    15071475  }
    15081476  xConfirmPara( (m_uiMaxCUWidth  >> m_uiMaxCUDepth) < 4,                                    "Minimum partition width size should be larger than or equal to 8");
     
    17631731  /* if this is an intra-only sequence, ie IntraPeriod=1, don't verify the GOP structure
    17641732   * This permits the ability to omit a GOP structure specification */
    1765 #if H_MV_LAYER_WISE_STARTUP
    17661733  if (m_iIntraPeriod[layer] == 1 && m_GOPList[0].m_POC == -1) {
    1767 #else
    1768   if (m_iIntraPeriod == 1 && m_GOPList[0].m_POC == -1) {
    1769 #endif
    17701734    m_GOPList[0] = GOPEntry();
    17711735    m_GOPList[0].m_QPFactor = 1;
     
    17921756  }
    17931757  Int numOK=0;
    1794 #if H_MV_LAYER_WISE_STARTUP
    17951758  xConfirmPara( m_iIntraPeriod[layer] >=0&&(m_iIntraPeriod[layer]%m_iGOPSize!=0), "Intra period must be a multiple of GOPSize, or -1" );
    1796 #else
    1797   xConfirmPara( m_iIntraPeriod >=0&&(m_iIntraPeriod%m_iGOPSize!=0), "Intra period must be a multiple of GOPSize, or -1" );
    1798 #endif
    17991759
    18001760  for(Int i=0; i<m_iGOPSize; i++)
     
    18071767 
    18081768#if H_MV
    1809 #if H_MV_LAYER_WISE_STARTUP
    18101769  if ( (m_iIntraPeriod[layer] != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable[layer]) )
    1811 #else
    1812   if ( (m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable[layer]) )
    1813 #endif
    18141770#else
    18151771  if ( (m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable) )
     
    23362292  printf("Min PCM size                 : %d\n", 1 << m_uiPCMLog2MinSize);
    23372293  printf("Motion search range          : %d\n", m_iSearchRange );
    2338 #if H_MV_LAYER_WISE_STARTUP
    23392294  xPrintParaVector( "Intra period", m_iIntraPeriod );
    2340 #else
    2341   printf("Intra period                 : %d\n", m_iIntraPeriod );
    2342 #endif
    23432295  printf("Decoding refresh type        : %d\n", m_iDecodingRefreshType );
    23442296#if !H_MV
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncCfg.h

    r765 r766  
    8989  Int                    m_vpsNumLayerSets;                   ///< Number of layer sets
    9090  std::vector< std::vector<Int> > m_layerIdsInSets;           ///< LayerIds in vps of layer set
    91 #if H_MV_6_PS_0109_25
    9291  Int                    m_defaultOneTargetOutputLayerIdc;    ///< Output highest layer of layer sets by default when equal to 1
    93 #else
    94   Bool                   m_defaultOneTargetOutputLayerFlag;   ///< Output highest layer of layer sets by default 
    95 #endif
    9692  std::vector<Int>       m_outputLayerSetIdx;                 ///< Indices of layer sets used as additional output layer sets 
    9793  std::vector< std::vector<Int> > m_layerIdsInAddOutputLayerSet; ///< LayerIds in vps of additional output layers
     
    10298  std::vector< std::vector<Int> > m_dependencyTypes;          ///< Dependency types of direct reference layers
    10399
    104 #if H_MV_6_HRD_O0217_13
    105100  // DBP Size
    106101  Bool m_subLayerFlagInfoPresentFlag;
    107 #endif
    108102
    109103  // VPS VUI
    110104  Bool m_vpsVuiPresentFlag;
    111 #if H_MV_6_PS_O0223_29
    112105  Bool m_crossLayerPicTypeAlignedFlag;
    113106  Bool m_crossLayerIrapAlignedFlag;
    114 #endif
    115107  Bool m_bitRatePresentVpsFlag;
    116108  Bool m_picRatePresentVpsFlag;
     
    121113  std::vector< std::vector<Int  > > m_constantPicRateIdc;
    122114  std::vector< std::vector<Int  > > m_avgPicRate;
    123 #if H_MV_6_O0226_37
    124115  Bool                              m_tilesNotInUseFlag;
    125116  std::vector< Bool >               m_tilesInUseFlag;
     
    128119  std::vector< Bool >               m_wppInUseFlag;
    129120
    130 #endif
    131121  std::vector< std::vector<Bool > > m_tileBoundariesAlignedFlag; 
    132122  Bool m_ilpRestrictedRefLayersFlag;
     
    188178 
    189179  // coding structure
    190 #if H_MV_LAYER_WISE_STARTUP
    191180  std::vector<Int> m_iIntraPeriod;                            ///< period of I-slice (random access period)
    192 #else
    193   Int       m_iIntraPeriod;                                   ///< period of I-slice (random access period)
    194 #endif
    195181  Int       m_iDecodingRefreshType;                           ///< random access type
    196182  Int       m_iGOPSize;                                       ///< GOP size of hierarchical structure
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r765 r766  
    235235 
    236236  //====== Coding Structure ========
    237 #if H_MV_LAYER_WISE_STARTUP
    238237  m_cTEncTop.setIntraPeriod                  ( m_iIntraPeriod[ layerIdInVps ] );
    239 #else
    240   m_cTEncTop.setIntraPeriod                  ( m_iIntraPeriod );
    241 #endif
    242238  m_cTEncTop.setDecodingRefreshType          ( m_iDecodingRefreshType );
    243239  m_cTEncTop.setGOPSize                      ( m_iGOPSize );
     
    13581354  Int maxViewId = xGetMax( m_viewId );
    13591355
    1360 #if H_MV_6_PS_O0109_22
    13611356  Int viewIdLen = gCeilLog2( maxViewId + 1 );
    13621357  const Int maxViewIdLen = ( 1 << 4 ) - 1;
    13631358  assert( viewIdLen <= maxViewIdLen );
    13641359  vps.setViewIdLen( viewIdLen );
    1365 #else
    1366   Int viewIdLenMinus1 = std::max( gCeilLog2( maxViewId + 1 ) - 1, 0 ) ;
    1367   const Int maxViewIdLenMinus1 = ( 1 << 4 ) - 1;
    1368   assert( viewIdLenMinus1 <= maxViewIdLenMinus1  );
    1369   vps.setViewIdLenMinus1( viewIdLenMinus1 );
    1370 #endif
    13711360  for (Int i = 0; i < m_iNumberOfViews; i++)
    13721361  {
     
    13891378    }
    13901379
    1391 #if H_MV_6_PS_O0096_21
    13921380  Int  defaultDirectDependencyType = -1;
    13931381  Bool defaultDirectDependencyFlag = true;
    1394 #endif
    13951382  for( Int depLayer = 1; depLayer < m_numberOfLayers; depLayer++ )
    13961383  {
     
    14011388      Int refLayer = m_directRefLayers[depLayer][i];
    14021389      vps.setDirectDependencyFlag( depLayer, refLayer, true);
    1403 #if H_MV_6_PS_O0096_21
    14041390      Int curDirectDependencyType = m_dependencyTypes[depLayer][i];
    14051391
     
    14141400     
    14151401      vps.setDirectDependencyType( depLayer, refLayer, curDirectDependencyType);       
    1416 #else
    1417       vps.setDirectDependencyType( depLayer, refLayer,m_dependencyTypes[depLayer][i]);
    1418 #endif
    1419     }
    1420   }
    1421 
    1422 #if H_MV_6_PS_O0096_21
     1402    }
     1403  }
     1404
    14231405  vps.setDefaultDirectDependencyFlag( defaultDirectDependencyFlag );       
    14241406  vps.setDefaultDirectDependencyType( defaultDirectDependencyFlag ? defaultDirectDependencyType : -1 );       
    1425 #endif
    1426 
    1427 #if H_MV_6_ILDSD_O0120_26
     1407
    14281408  // Max sub layers, + presence flag
    14291409  Bool subLayersMaxMinus1PresentFlag = false;
     
    14501430
    14511431  vps.setVpsSubLayersMaxMinus1PresentFlag( subLayersMaxMinus1PresentFlag );
    1452 #endif
    14531432
    14541433
     
    14571436  for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++)
    14581437    {
    1459 #if !H_MV_6_ILDDS_O0225_30
    1460     Int maxTid = -1;
    1461 #endif
    14621438    for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++)
    14631439      {
    1464 #if H_MV_6_ILDDS_O0225_30
    14651440      Int maxTid = -1;
    1466 #endif
    14671441      for( Int i = 0; i < getGOPSize(); i++ )
    14681442      {       
     
    14781452        }
    14791453      }
    1480 #if H_MV_6_ILDDS_O0225_30   
    14811454      vps.setMaxTidIlRefPicsPlus1( refLayerIdInVps, curLayerIdInVps, maxTid + 1 );
    14821455      maxTidRefPresentFlag = maxTidRefPresentFlag || ( maxTid != 6 );   
    14831456    }
    1484 #else
    1485     }
    1486     vps.setMaxTidIlRefPicPlus1( refLayerIdInVps, maxTid + 1 );
    1487     maxTidRefPresentFlag = maxTidRefPresentFlag || ( maxTid != 6 );   
    1488 #endif
    14891457  }
    14901458
     
    15041472 
    15051473  // Poc Lsb Not Present Flag
    1506 #if H_MV_6_MISC_O0062_31
    15071474  for ( Int layerIdInVps = 1; layerIdInVps < m_numberOfLayers; layerIdInVps++)
    15081475  {
     
    15121479    }
    15131480  }
    1514 #endif
    15151481 
    15161482  // All Ref layers active flag
     
    15211487    {       
    15221488      GOPEntry ge =  m_GOPListMvc[layerIdInVps][ ( i < getGOPSize()  ? i : MAX_GOP ) ];
    1523 #if H_MV_6_ILDDS_ILREFPICS_27_34
    15241489      Int tId = ge.m_temporalId;  // Should be equal for all layers.
    15251490     
     
    15571522      }
    15581523      assert ( maxTidIlRefAndSubLayerMaxVaildFlag ); // Something wrong with MaxTidIlRefPicsPlus1 or SubLayersVpsMaxMinus1
    1559 #else
    1560       allRefLayersActiveFlag = allRefLayersActiveFlag && (ge.m_numActiveRefLayerPics == m_directRefLayers[ layerIdInVps ].size() );
    1561 #endif
    15621524    }           
    15631525  }
     
    15651527  vps.setAllRefLayersActiveFlag( allRefLayersActiveFlag );
    15661528
    1567 #if !H_MV_6_PS_O0223_29
    1568   // Currently cross layer irap aligned is always true.   
    1569   vps.setCrossLayerIrapAlignedFlag( true );
    1570 #endif
    15711529  vps.setRefLayers();
    15721530};
     
    16381596  repFormat->setPicHeightVpsInLumaSamples ( m_iSourceHeight );
    16391597  repFormat->setPicWidthVpsInLumaSamples  ( m_iSourceWidth  );   
    1640 #if H_MV_6_PS_REP_FORM_18_19_20
    16411598  repFormat->setChromaAndBitDepthVpsPresentFlag( true );   
    1642 #endif
    16431599  // ToDo not supported yet.
    16441600  //repFormat->setSeparateColourPlaneVpsFlag( );
     
    16531609}
    16541610
    1655 #if H_MV_6_HRD_O0217_13
    16561611Void TAppEncTop::xSetDpbSize                ( TComVPS& vps )
    16571612{
     
    17091664  } 
    17101665}
    1711 #endif
    17121666
    17131667
     
    17291683    }
    17301684  }
    1731 #if H_MV_6_HRD_O0217_13
    17321685  vps.deriveLayerSetLayerIdList();
    1733 #endif
    17341686
    17351687  Int numAddOuputLayerSets = (Int) m_outputLayerSetIdx.size();
    17361688  // Additional output layer sets + profileLevelTierIdx
    1737 #if H_MV_6_PS_0109_25
    17381689  vps.setDefaultOneTargetOutputLayerIdc   ( m_defaultOneTargetOutputLayerIdc );
    1739 #else
    1740   vps.setDefaultOneTargetOutputLayerFlag   ( m_defaultOneTargetOutputLayerFlag );
    1741 #endif
    17421690  vps.setMoreOutputLayerSetsThanDefaultFlag( numAddOuputLayerSets       != 0 );   
    17431691  vps.setNumAddOutputLayerSetsMinus1       ( numAddOuputLayerSets - 1        );
     
    17451693
    17461694
    1747 #if H_MV_6_HRD_O0217_13
    17481695  for (Int lsIdx = 0; lsIdx < m_vpsNumLayerSets; lsIdx++)
    17491696  {
     
    17601707    }
    17611708  }
    1762 #else
    1763   for (Int lsIdx = 1; lsIdx < m_vpsNumLayerSets; lsIdx++)
    1764   {
    1765     vps.setProfileLevelTierIdx( lsIdx, m_profileLevelTierIdx[ lsIdx ] );
    1766   }
    1767 #endif
    17681709
    17691710  for (Int addOutLs = 0; addOutLs < numAddOuputLayerSets; addOutLs++ )
     
    17881729    }
    17891730  }
    1790 #if H_MV_6_HRD_O0217_13
    17911731  vps.deriveTargetLayerIdLists();
    1792 #endif
    17931732}
    17941733
     
    18071746    // however preliminary setting it from input parameters
    18081747
    1809 #if H_MV_6_PS_O0223_29
    18101748    pcVPSVUI->setCrossLayerPicTypeAlignedFlag( m_crossLayerPicTypeAlignedFlag );
    18111749    pcVPSVUI->setCrossLayerIrapAlignedFlag   ( m_crossLayerIrapAlignedFlag    );
    1812 #endif
    18131750
    18141751    pcVPSVUI->setBitRatePresentVpsFlag( m_bitRatePresentVpsFlag );
     
    18491786    }
    18501787
    1851 #if H_MV_6_O0226_37
    18521788    pcVPSVUI->setTilesNotInUseFlag( m_tilesNotInUseFlag );
    18531789
     
    18851821      }
    18861822    }
    1887 #else
    1888     for( Int i = 1; i  <=  vps.getMaxLayersMinus1(); i++ )
    1889     {
    1890       for( Int  j = 0; j < vps.getNumDirectRefLayers( vps.getLayerIdInNuh( i ) ); j++ )
    1891       {
    1892         if ( m_tileBoundariesAlignedFlag[i].size() > j )
    1893         {
    1894           pcVPSVUI->setTileBoundariesAlignedFlag( i, j, m_tileBoundariesAlignedFlag[i][j]);
    1895         }
    1896       }
    1897     }
    1898 #endif
    18991823
    19001824    pcVPSVUI->setIlpRestrictedRefLayersFlag( m_ilpRestrictedRefLayersFlag );
     
    19271851      }
    19281852    }     
    1929 #if H_MV_6_PS_O0118_33
    19301853    pcVPSVUI->setVideoSignalInfoIdxPresentFlag( true );
    19311854    pcVPSVUI->setVpsNumVideoSignalInfoMinus1  ( 0    );
     
    19471870      pcVPSVUI->setVpsVideoSignalInfoIdx( i, 0 );
    19481871    }
    1949 #endif
    1950 #if H_MV_6_HRD_O0164_15
    19511872    pcVPSVUI->setVpsVuiBspHrdPresentFlag( false ); // TBD
    1952 #endif
    19531873  }
    19541874}
     
    19851905    if( vps.getUseDLTFlag( layer ) )
    19861906    {
    1987 #if H_MV_LAYER_WISE_STARTUP
    19881907      xAnalyzeInputBaseDepth(layer, max(  m_iIntraPeriod[layer], 24), &vps);
    1989 #else
    1990       xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod, 24), &vps);
    1991 #endif
    19921908    }
    19931909#endif
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncTop.h

    r758 r766  
    129129  Void xSetProfileTierLevel       ( TComVPS& vps );
    130130  Void xSetRepFormat              ( TComVPS& vps );
    131 #if H_MV_6_HRD_O0217_13
    132131  Void xSetDpbSize                ( TComVPS& vps );
    133 #endif
    134132  Void xSetVPSVUI                 ( TComVPS& vps );
    135133  GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc );
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComRom.cpp

    r764 r766  
    573573#if H_MV_ENC_DEC_TRAC
    574574#if ENC_DEC_TRACE
    575 #if H_MV_FIX_TRACE_FILE
    576575Void writeToTraceFile( const Char* symbolName, Int val, Bool doIt )
    577 #else
    578 Void writeToTraceFile( Char* symbolName, Int val, Bool doIt )
    579 #endif
    580576{
    581577  if ( ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) && doIt  )
     
    592588}
    593589
    594 #if H_MV_FIX_TRACE_FILE
    595590Void writeToTraceFile( const Char* symbolName, Bool doIt )
    596 #else
    597 Void writeToTraceFile( Char* symbolName, Bool doIt )
    598 #endif
    599591{
    600592  if ( ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) && doIt  )
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComRom.h

    r764 r766  
    233233
    234234
    235 #if H_MV_FIX_TRACE_FILE
    236235 Void           writeToTraceFile( const Char* symbolName, Int val, Bool doIt );
    237236 Void           writeToTraceFile( const Char* symbolName, Bool doIt );
    238 #else
    239  Void           writeToTraceFile( Char* symbolName, Int val, Bool doIt );
    240  Void           writeToTraceFile( Char* symbolName, Bool doIt );
    241 #endif
    242237#endif
    243238#else
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r765 r766  
    110110#endif
    111111, m_pocResetFlag                  (false)
    112 #if H_MV_6_RALS_O0149_11
    113112, m_crossLayerBlaFlag             (false)
    114 #endif
    115113, m_discardableFlag               (false)
    116114, m_interLayerPredEnabledFlag     (false)
     
    17051703, m_hrdOpSetIdx               (NULL)
    17061704, m_cprmsPresentFlag          (NULL)
    1707 #if H_MV_6_HRD_O0217_13
    17081705, m_dpbSize                   (NULL)
    1709 #endif
    17101706#if H_MV
    17111707, m_vpsVUI                 (  NULL )
     
    17231719    for( Int layerId = 0; layerId < MAX_VPS_NUH_LAYER_ID_PLUS1; layerId++ )
    17241720    {
    1725 #if H_MV_6_HRD_O0217_13
    17261721      m_layerIdIncludedFlag[lsIdx][layerId] = (( lsIdx == 0 ) && ( layerId == 0 )) ;
    1727 #else
    1728       m_layerIdIncludedFlag[lsIdx][layerId] = false;
    1729 #endif
    17301722    }
    17311723  }
     
    17411733  m_moreOutputLayerSetsThanDefaultFlag = false;   
    17421734  m_numAddOutputLayerSetsMinus1        = -1;   
    1743 #if H_MV_6_PS_0109_25
    17441735  m_defaultOneTargetOutputLayerIdc     = 0;
    1745 #else
    1746   m_defaultOneTargetOutputLayerFlag    = false;
    1747 #endif
    17481736 
    17491737  for ( Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++)
     
    17561744    }
    17571745  }
    1758 #if H_MV_6_GEN_0153_28
    17591746  m_altOutputLayerFlag       = false;
    1760 #endif
    17611747  m_maxOneActiveRefLayerFlag = false;
    17621748  m_directDepTypeLenMinus2   = 0;         
     
    17951781    m_layerIdInNuh      [i] = ( i == 0 ) ? 0 : -1;
    17961782    m_numDirectRefLayers[i] = 0;
    1797 #if !H_MV_6_ILDDS_O0225_30
    1798     m_maxTidIlRefPicPlus1[i] = 7;
    1799 #endif
    18001783    m_vpsRepFormatIdx    [i] = 0;
    1801 #if H_MV_6_MISC_O0062_31
    18021784    m_pocLsbNotPresentFlag[i] = 0;
    1803 #endif
    18041785    m_repFormat          [i] = NULL;
    18051786    m_viewIdVal          [i] = 0;
     
    18371818      m_directDependencyType[i][j] = -1;
    18381819      m_refLayerId[i][j]           = -1;
    1839 #if H_MV_6_ILDDS_O0225_30     
    18401820      m_maxTidIlRefPicsPlus1[i][j]  = 7;
    1841 #endif
    18421821    }
    18431822
     
    18521831  }
    18531832  m_vpsVUI = new TComVPSVUI;
    1854 #if H_MV_6_HRD_O0217_13
    18551833  m_dpbSize = new TComDpbSize;
    1856 #endif
    18571834#
    18581835#if H_3D
     
    18891866#if H_MV
    18901867  if ( m_vpsVUI          != NULL )     delete m_vpsVUI;
    1891 #if H_MV_6_HRD_O0217_13
    18921868  if ( m_dpbSize         != NULL )     delete m_dpbSize;
    1893 #endif
    18941869
    18951870  for( Int i = 0; i < MAX_NUM_LAYERS; i++ )
     
    21932168  assert( lsIdx >= 0 );
    21942169  assert( lsIdx <= getVpsNumLayerSetsMinus1() );
    2195 #if H_MV_6_HRD_O0217_13
    21962170  return (Int) m_layerSetLayerIdList[ lsIdx ].size();
    2197 #else
    2198   Int numLayersInIdList = 0;
    2199   for (Int layerId = 0; layerId < getVpsMaxLayerId(); layerId++ )
    2200   {
    2201     numLayersInIdList += ( getLayerIdIncludedFlag( lsIdx, layerId ) );
    2202   }
    2203   return numLayersInIdList;
    2204 #endif
    2205 }
    2206 
    2207 #if H_MV_6_HRD_O0217_13
     2171}
     2172
    22082173Int    TComVPS::getNumOutputLayerSets()
    22092174{
     
    22152180  return numOutputLayerSets;
    22162181}
    2217 #endif
    22182182
    22192183Int TComVPS::getNumViews()
     
    22472211}
    22482212
    2249 #if H_MV_6_HRD_O0217_13
    22502213Void TComVPS::deriveLayerSetLayerIdList()
    22512214{
     
    22832246  }
    22842247}
    2285 #endif
    22862248#endif // H_MV
    22872249
     
    23382300, m_spsScalingListRefLayerId  ( 0 )
    23392301
    2340 #if !H_MV_6_PS_REP_FORM_18_19_20
    2341 , m_updateRepFormatFlag       ( true )
    2342 #else
    23432302, m_updateRepFormatFlag       ( false )
    23442303, m_spsRepFormatIdx           ( 0 )
    2345 #endif
    23462304, m_interViewMvVertConstraintFlag (false)
    23472305#endif
     
    23592317  ::memset(m_ltRefPicPocLsbSps, 0, sizeof(m_ltRefPicPocLsbSps));
    23602318  ::memset(m_usedByCurrPicLtSPSFlag, 0, sizeof(m_usedByCurrPicLtSPSFlag));
    2361 #if H_MV_6_PSEM_O0142_3
    23622319  m_spsExtensionFlag = false;
    23632320  for( Int i = 0; i < PS_EX_T_MAX_NUM; i++ )
     
    23652322    m_spsExtensionTypeFlag[ i ] = false;
    23662323  }
    2367 #endif
    2368 #if H_MV_6_SHVC_O0098_36
    23692324  m_numScaledRefLayerOffsets = 0;
    23702325
     
    23812336    m_scaledRefLayerBottomOffset   [i] = 0;
    23822337  }
    2383 #endif
    23842338}
    23852339
     
    27422696  if ( layerIdCurr > 0 )
    27432697  {
    2744 #if H_MV_6_PS_REP_FORM_18_19_20
    27452698    Int            repFormatIdx = getUpdateRepFormatFlag() ?  getSpsRepFormatIdx() : vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) ;
    27462699    TComRepFormat* repFormat    = vps->getRepFormat( repFormatIdx );
    2747 #else
    2748     TComRepFormat* repFormat = vps->getRepFormat( vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) );
    2749     if ( !getUpdateRepFormatFlag() )
    2750     {       
    2751 #endif
    27522700      setChromaFormatIdc( repFormat->getChromaFormatVpsIdc() );         
    27532701      //// ToDo: add when supported:
     
    27622710      setBitDepthC             ( repFormat->getBitDepthVpsChromaMinus8() + 8 );
    27632711      setQpBDOffsetC           ( (Int) (6* ( getBitDepthC() -8 ) ) );
    2764 #if !H_MV_6_PS_REP_FORM_18_19_20
    2765     }
    2766     else
    2767 #else
    27682712    if ( getLayerId() > 0 && getUpdateRepFormatFlag() )
    2769 #endif
    27702713    {
    27712714      assert( getChromaFormatIdc()      <=  repFormat->getChromaFormatVpsIdc()         );
     
    31393082    {
    31403083      TComPic* pcPic = ivPicLists->getPic( targetDecLayerIdSet[ i ], curPoc );
    3141 #if H_MV_LAYER_WISE_STARTUP
    31423084      if ( pcPic )
    31433085      {
    3144 #endif
    31453086      if( pcPic->getSlice(0)->isReferenced() && pcPic->getSlice(0)->getTemporalLayerNonReferenceFlag() )
    31463087      {
     
    31653106      }
    31663107    }
    3167 #if H_MV_LAYER_WISE_STARTUP
    3168       }
    3169 #endif
     3108      }
    31703109  }
    31713110}
     
    32253164
    32263165
    3227 #if H_MV_6_ILDDS_ILREFPICS_27_34
    32283166Int  TComSlice::getRefLayerPicFlag( Int i )
    32293167{
     
    32683206  return numRefLayerPics;
    32693207}
    3270 #endif
    32713208
    32723209
     
    32823219  else if (getVPS()->getAllRefLayersActiveFlag() )
    32833220  {
    3284 #if H_MV_6_ILDDS_ILREFPICS_27_34
    32853221    numActiveRefLayerPics = getNumRefLayerPics();
    3286 #else
    3287     numActiveRefLayerPics = getVPS()->getNumDirectRefLayers( getLayerId() );
    3288 #endif
    32893222  }
    32903223  else if ( !getInterLayerPredEnabledFlag() )
     
    32943227  else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )
    32953228  {
    3296 #if H_MV_6_ILDDS_ILREFPICS_27_34
    32973229    numActiveRefLayerPics = getRefLayerPicFlag( 0 ) ? 1 : 0;
    3298 #else
    3299     numActiveRefLayerPics = 1;
    3300 #endif
    33013230  }
    33023231  else
     
    38763805TComVPSVUI::TComVPSVUI()
    38773806{
    3878 #if H_MV_6_PS_O0223_29
    38793807  m_crossLayerIrapAlignedFlag = true;
    3880 #endif
    38813808  m_bitRatePresentVpsFlag = false;
    38823809  m_picRatePresentVpsFlag = false;
     
    39063833    }
    39073834  }
    3908 #if H_MV_6_PS_O0118_33 
    39093835  for ( Int i = 0; i < MAX_NUM_VIDEO_SIGNAL_INFO; i++ )
    39103836  {
    39113837    m_videoSignalInfo          [i] = NULL;     
    39123838  }
    3913 #endif
    3914 
    3915 #if H_MV_6_HRD_O0164_15
     3839
    39163840  m_vpsVuiBspHrdPresentFlag = false;
    39173841  m_vpsVuiBspHrdParameters  = new TComVpsVuiBspHrdParameters();
    3918 #endif
    3919 }
    3920 
    3921 #if H_MV_6_PS_O0118_33
     3842}
     3843
    39223844TComVPSVUI::~TComVPSVUI()
    39233845{
     
    39283850  }
    39293851
    3930 #if H_MV_6_HRD_O0164_15
    39313852  if ( m_vpsVuiBspHrdParameters ) delete m_vpsVuiBspHrdParameters;
    39323853  m_vpsVuiBspHrdParameters = NULL;
    3933 #endif
    3934 }
    3935 #endif
    3936 
    3937 #if H_MV_6_PS_REP_FORM_18_19_20
     3854}
     3855
    39383856Void TComRepFormat::inferChromaAndBitDepth( TComRepFormat* prevRepFormat, Bool encoderFlag )
    39393857{
     
    39533871}
    39543872}
    3955 #endif
    3956 
    3957 #if H_MV_6_HRD_O0164_15
     3873
    39583874Void TComVpsVuiBspHrdParameters::checkLayerInBspFlag( TComVPS* vps, Int h )
    39593875{
     
    39833899}
    39843900#endif
    3985 #endif
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.h

    r765 r766  
    6262// ====================================================================================================================
    6363
    64 #if H_MV_6_HRD_O0164_15
    6564class TComVPS;
    66 #endif
    6765/// Reference Picture Set class
    6866class TComReferencePictureSet
     
    407405#if H_MV
    408406
    409 #if H_MV_6_PS_O0118_33
    410407class TComVideoSignalInfo
    411408{
     
    432429  Int  getMatrixCoeffsVps(  ) { return m_matrixCoeffsVps; }
    433430};
    434 #endif
    435 #if H_MV_6_HRD_O0164_15
    436431class TComVpsVuiBspHrdParameters
    437432{
     
    473468};
    474469
    475 #endif
    476470class TComVPSVUI
    477471{
    478472private:
    479 #if H_MV_6_PS_O0223_29
    480473  Bool m_crossLayerPicTypeAlignedFlag;
    481474  Bool m_crossLayerIrapAlignedFlag;
    482 #endif
    483475  Bool m_bitRatePresentVpsFlag;
    484476  Bool m_picRatePresentVpsFlag;
     
    489481  Int  m_constantPicRateIdc          [MAX_VPS_OP_SETS_PLUS1][MAX_TLAYER];
    490482  Int  m_avgPicRate                  [MAX_VPS_OP_SETS_PLUS1][MAX_TLAYER];
    491 #if H_MV_6_O0226_37
    492483  Bool m_tilesNotInUseFlag;
    493484  Bool m_tilesInUseFlag              [MAX_NUM_LAYERS];
    494485  Bool m_loopFilterNotAcrossTilesFlag[MAX_NUM_LAYERS];
    495 #endif 
    496486  Bool m_tileBoundariesAlignedFlag   [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    497 #if H_MV_6_O0226_37
    498487  Bool m_wppNotInUseFlag;
    499488  Bool m_wppInUseFlag                [MAX_NUM_LAYERS];
    500 #endif
    501489  Bool m_ilpRestrictedRefLayersFlag;
    502490  Int  m_minSpatialSegmentOffsetPlus1[MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    503491  Bool m_ctuBasedOffsetEnabledFlag   [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    504492  Int  m_minHorizontalCtuOffsetPlus1 [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    505 #if H_MV_6_PS_O0118_33
    506493  Bool m_videoSignalInfoIdxPresentFlag;
    507494  Int  m_vpsNumVideoSignalInfoMinus1;
    508495  TComVideoSignalInfo* m_videoSignalInfo[MAX_NUM_VIDEO_SIGNAL_INFO];   
    509496  Int  m_vpsVideoSignalInfoIdx       [MAX_NUM_VIDEO_SIGNAL_INFO];
    510 #endif
    511 #if H_MV_6_HRD_O0164_15
    512497  Bool m_vpsVuiBspHrdPresentFlag;
    513498  TComVpsVuiBspHrdParameters* m_vpsVuiBspHrdParameters;
    514 #endif
    515499
    516500public:
    517501  TComVPSVUI();
    518502  ~TComVPSVUI();
    519 #if H_MV_6_PS_O0223_29
    520503  Void setCrossLayerPicTypeAlignedFlag( Bool flag ) { m_crossLayerPicTypeAlignedFlag = flag; }
    521504  Bool getCrossLayerPicTypeAlignedFlag(  ) { return m_crossLayerPicTypeAlignedFlag; }
     
    523506  Void setCrossLayerIrapAlignedFlag( Bool flag ) { m_crossLayerIrapAlignedFlag = flag; }
    524507  Bool getCrossLayerIrapAlignedFlag(  ) { return m_crossLayerIrapAlignedFlag; }
    525 #endif
    526508
    527509  Void setBitRatePresentVpsFlag( Bool flag ) { m_bitRatePresentVpsFlag = flag; }
     
    549531  Int  getAvgPicRate( Int i, Int j ) { return m_avgPicRate[i][j]; }
    550532
    551 #if H_MV_6_O0226_37
    552533  Void setTilesNotInUseFlag( Bool flag ) { m_tilesNotInUseFlag = flag; }
    553534  Bool getTilesNotInUseFlag(  ) { return m_tilesNotInUseFlag; }
     
    558539  Void setLoopFilterNotAcrossTilesFlag( Int i, Int  val ) { m_loopFilterNotAcrossTilesFlag[i] = val; }
    559540  Bool getLoopFilterNotAcrossTilesFlag( Int i ) { return m_loopFilterNotAcrossTilesFlag[i]; }
    560 #endif
    561541
    562542  Void setTileBoundariesAlignedFlag( Int i, Int j, Bool flag ) { m_tileBoundariesAlignedFlag[i][j] = flag; }
    563543  Bool getTileBoundariesAlignedFlag( Int i, Int j ) { return m_tileBoundariesAlignedFlag[i][j]; }
    564544
    565 #if H_MV_6_O0226_37
    566545  Void setWppNotInUseFlag( Bool flag ) { m_wppNotInUseFlag = flag; }
    567546  Bool getWppNotInUseFlag(  ) { return m_wppNotInUseFlag; }
     
    569548  Void setWppInUseFlag( Int i, Bool flag ) { m_wppInUseFlag[i] = flag; }
    570549  Bool getWppInUseFlag( Int i ) { return m_wppInUseFlag[i]; }
    571 #endif
    572550
    573551  Void setIlpRestrictedRefLayersFlag( Bool flag ) { m_ilpRestrictedRefLayersFlag = flag; }
     
    583561  Int  getMinHorizontalCtuOffsetPlus1( Int i, Int j ) { return m_minHorizontalCtuOffsetPlus1[i][j]; }
    584562
    585 #if H_MV_6_PS_O0118_33
    586563  Void setVideoSignalInfoIdxPresentFlag( Bool flag ) { m_videoSignalInfoIdxPresentFlag = flag; }
    587564  Bool getVideoSignalInfoIdxPresentFlag(  ) { return m_videoSignalInfoIdxPresentFlag; }
     
    595572  Void setVpsVideoSignalInfoIdx( Int i, Int  val ) { m_vpsVideoSignalInfoIdx[i] = val; }
    596573  Int  getVpsVideoSignalInfoIdx( Int i ) { return m_vpsVideoSignalInfoIdx[i]; }
    597 #endif
    598 
    599 #if H_MV_6_HRD_O0164_15
     574
    600575  Void setVpsVuiBspHrdPresentFlag( Bool flag ) { m_vpsVuiBspHrdPresentFlag = flag; }
    601576  Bool getVpsVuiBspHrdPresentFlag(  ) { return m_vpsVuiBspHrdPresentFlag; }
     
    603578  Void setVpsVuiBspHrdParameters( TComVpsVuiBspHrdParameters* val) {  m_vpsVuiBspHrdParameters = val; }
    604579  TComVpsVuiBspHrdParameters* getVpsVuiBspHrdParameters(  ) { return m_vpsVuiBspHrdParameters; }
    605 #endif
    606580};
    607581
     
    609583{
    610584private:
    611 #if H_MV_6_PS_REP_FORM_18_19_20
    612585  Bool m_chromaAndBitDepthVpsPresentFlag;
    613 #endif
    614586  Int  m_chromaFormatVpsIdc;
    615587  Bool m_separateColourPlaneVpsFlag;
     
    622594  TComRepFormat() { }; 
    623595
    624 #if H_MV_6_PS_REP_FORM_18_19_20
    625596  Void setChromaAndBitDepthVpsPresentFlag( Bool flag ) { m_chromaAndBitDepthVpsPresentFlag = flag; }
    626597  Bool getChromaAndBitDepthVpsPresentFlag(  ) { return m_chromaAndBitDepthVpsPresentFlag; }
    627598  Void checkChromaAndBitDepthVpsPresentFlag( Int i ) { assert( i != 0 || m_chromaAndBitDepthVpsPresentFlag ); } // The value of chroma_and_bit_depth_vps_present_flag of the first rep_format( ) syntax structure in the VPS shall be equal to 1. 
    628599  Void inferChromaAndBitDepth( TComRepFormat* prevRepFormat, Bool encoderFlag );
    629 #endif
    630600
    631601  Void setChromaFormatVpsIdc( Int  val ) { m_chromaFormatVpsIdc = val; }
     
    649619#endif
    650620
    651 #if H_MV_6_HRD_O0217_13
    652621class TComDpbSize
    653622{
     
    695664  Int  getMaxVpsLatencyIncreasePlus1( Int i, Int j ) { return m_maxVpsLatencyIncreasePlus1[i][j]; }
    696665};
    697 #endif
    698666
    699667class TComVPS
     
    748716  Int         m_dimensionId              [MAX_NUM_LAYER_IDS][MAX_NUM_SCALABILITY_TYPES]; 
    749717
    750 #if H_MV_6_PS_O0109_22
    751718  Int         m_viewIdLen;
    752 #else
    753   Int         m_viewIdLenMinus1;
    754 #endif
    755719  Int         m_viewIdVal                [MAX_NUM_LAYERS];
    756720  Bool        m_directDependencyFlag     [MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS];
    757 #if H_MV_6_ILDSD_O0120_26
    758721  Bool        m_vpsSubLayersMaxMinus1PresentFlag;
    759722  Int         m_subLayersVpsMaxMinus1    [MAX_NUM_LAYERS];
    760 #endif
    761723  Bool        m_maxTidRefPresentFlag;
    762 #if H_MV_6_ILDDS_O0225_30
    763724  Int         m_maxTidIlRefPicsPlus1     [MAX_NUM_LAYERS][MAX_NUM_LAYERS];
    764 #else
    765   Int         m_maxTidIlRefPicPlus1      [MAX_NUM_LAYERS];
    766 #endif
    767725  Bool        m_allRefLayersActiveFlag;
    768726  Int         m_vpsNumberLayerSetsMinus1;
     
    772730  Bool        m_moreOutputLayerSetsThanDefaultFlag;
    773731  Int         m_numAddOutputLayerSetsMinus1;   
    774 #if H_MV_6_PS_0109_25
    775732  Int         m_defaultOneTargetOutputLayerIdc;
    776 #else
    777   Bool        m_defaultOneTargetOutputLayerFlag;
    778 #endif
    779733  Int         m_outputLayerSetIdxMinus1  [MAX_VPS_OUTPUTLAYER_SETS]; 
    780734  Bool        m_outputLayerFlag          [MAX_VPS_OUTPUTLAYER_SETS][MAX_VPS_NUH_LAYER_ID_PLUS1];
    781735  Int         m_profileLevelTierIdx      [MAX_VPS_OUTPUTLAYER_SETS ];
    782 #if H_MV_6_GEN_0153_28
    783736  Bool        m_altOutputLayerFlag;
    784 #endif
    785737  Bool        m_repFormatIdxPresentFlag;
    786738  Int         m_vpsNumRepFormatsMinus1;
     
    788740  TComRepFormat* m_repFormat             [MAX_NUM_LAYERS];
    789741  Bool        m_maxOneActiveRefLayerFlag;       
    790 #if H_MV_6_MISC_O0062_31
    791742  Bool        m_pocLsbNotPresentFlag     [MAX_NUM_LAYERS];
    792 #endif
    793 
    794 #if H_MV_6_HRD_O0217_13
     743
    795744  TComDpbSize* m_dpbSize;
    796 #endif
    797 #if !H_MV_6_PS_O0223_29       
    798   Bool        m_crossLayerIrapAlignedFlag;
    799 #endif
    800745  Int         m_directDepTypeLenMinus2;         
    801 #if H_MV_6_PS_O0096_21
    802746  Bool        m_defaultDirectDependencyFlag;
    803747  Int         m_defaultDirectDependencyType;
    804 #endif
    805748  Bool        m_vpsVuiPresentFlag;
    806749  TComVPSVUI* m_vpsVUI;
     
    822765  Int         m_viewIndex                [MAX_NUM_LAYERS   ];
    823766 
    824 #if H_MV_6_HRD_O0217_13
    825767  std::vector< std::vector< Int> >       m_targetDecLayerIdLists;   //[TargetOptLayerSetIdx][i]
    826768  std::vector< std::vector< Int> >       m_targetOptLayerIdLists;
    827769  std::vector< std::vector< Int> >       m_layerSetLayerIdList;
    828 #endif
    829770
    830771
     
    901842  UInt    getMaxTLayers  ()                   { return m_uiMaxTLayers;   }
    902843  Void    setMaxTLayers  (UInt t)             { m_uiMaxTLayers = t; }
    903 #if H_MV_6_HRD_O0164_15
    904844  UInt    getMaxSubLayersMinus1()             { return m_uiMaxTLayers - 1;  }  // For consistency with draft spec
    905 #endif
    906845#if H_MV   
    907846  UInt    getMaxLayersMinus1()                { return m_uiMaxLayersMinus1;  };
     
    978917  Int     getDimensionId( Int layerIdInVps, Int scalIdx )                  { return m_dimensionId[layerIdInVps][scalIdx]; }
    979918
    980 #if H_MV_6_PS_O0109_22
    981919  Void    setViewIdLen( Int  val )                                         { m_viewIdLen = val; }
    982920  Int     getViewIdLen(  )                                                 { return m_viewIdLen; }
    983 #else
    984   Void    setViewIdLenMinus1( Int  val )                                   { m_viewIdLenMinus1 = val; }
    985   Int     getViewIdLenMinus1(  )                                           { return m_viewIdLenMinus1; }
    986 #endif
    987921
    988922  Void    setViewIdVal( Int viewOrderIndex, Int  val )                     { m_viewIdVal[viewOrderIndex] = val; }
     
    990924  Void    setDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Bool val ) { m_directDependencyFlag[depLayeridInVps][refLayeridInVps] = val;  }
    991925  Bool    getDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps )           { return m_directDependencyFlag[depLayeridInVps][refLayeridInVps]; }
    992 #if H_MV_6_ILDSD_O0120_26
    993926  Void    setVpsSubLayersMaxMinus1PresentFlag( Bool flag )                 { m_vpsSubLayersMaxMinus1PresentFlag = flag; }
    994927  Bool    getVpsSubLayersMaxMinus1PresentFlag(  )                          { return m_vpsSubLayersMaxMinus1PresentFlag; }
     
    996929  Int     getSubLayersVpsMaxMinus1( Int i )                                { return m_subLayersVpsMaxMinus1[i]; }
    997930  Void    checkSubLayersVpsMaxMinus1( Int i )                              { assert( m_subLayersVpsMaxMinus1[i] >= 0 && m_subLayersVpsMaxMinus1[i] <= m_uiMaxTLayers - 1 ); }
    998 #endif
    999931  Void    setMaxTidRefPresentFlag( Bool flag )                             { m_maxTidRefPresentFlag = flag; }
    1000932  Bool    getMaxTidRefPresentFlag(  )                                      { return m_maxTidRefPresentFlag; }
    1001 #if H_MV_6_ILDDS_O0225_30
    1002933  Void    setMaxTidIlRefPicsPlus1( Int i, Int j, Int  val )                { m_maxTidIlRefPicsPlus1[i][j] = val; }
    1003934  Int     getMaxTidIlRefPicsPlus1( Int i, Int j )                          { return m_maxTidIlRefPicsPlus1[i][j]; }
    1004 #else
    1005   Void    setMaxTidIlRefPicPlus1( Int layerIdInVps, Int val )              { m_maxTidIlRefPicPlus1[ layerIdInVps ] = val;  }
    1006   Int     getMaxTidIlRefPicPlus1( Int layerIdInVps )                       { return m_maxTidIlRefPicPlus1[ layerIdInVps ]; }
    1007 #endif
    1008935  Void    setAllRefLayersActiveFlag( Bool flag )                           { m_allRefLayersActiveFlag = flag; }
    1009936  Bool    getAllRefLayersActiveFlag(  )                                    { return m_allRefLayersActiveFlag; }
     
    1019946  Void    setProfileRefMinus1( Int profileTierLevelIdx, Int val )          { m_profileRefMinus1[ profileTierLevelIdx ] = val;  }
    1020947  Int     getProfileRefMinus1( Int profileTierLevelIdx )                   { return m_profileRefMinus1[ profileTierLevelIdx ]; }
    1021 #if H_MV_6_PS_O0109_23
    1022948  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.
    1023 #endif
    1024949  Void    setMoreOutputLayerSetsThanDefaultFlag( Bool flag )               { m_moreOutputLayerSetsThanDefaultFlag = flag; }
    1025950  Bool    getMoreOutputLayerSetsThanDefaultFlag()                          { return m_moreOutputLayerSetsThanDefaultFlag; }
     
    1028953  Int     getNumAddOutputLayerSetsMinus1( )                                { return m_numAddOutputLayerSetsMinus1; }
    1029954 
    1030 #if H_MV_6_PS_0109_25 
    1031955  Void    setDefaultOneTargetOutputLayerIdc( Int  val )                    { m_defaultOneTargetOutputLayerIdc = val; }
    1032956  Int     getDefaultOneTargetOutputLayerIdc(  )                            { return m_defaultOneTargetOutputLayerIdc; }
    1033957  Void    checkDefaultOneTargetOutputLayerIdc( )                           { assert( m_defaultOneTargetOutputLayerIdc >= 0 && m_defaultOneTargetOutputLayerIdc <= 1 ); }
    1034 #else
    1035   Void    setDefaultOneTargetOutputLayerFlag( Bool flag )                  { m_defaultOneTargetOutputLayerFlag = flag; }
    1036   Bool    getDefaultOneTargetOutputLayerFlag( )                            { return m_defaultOneTargetOutputLayerFlag; }
    1037 #endif
    1038958 
    1039959  Void    setOutputLayerSetIdxMinus1( Int outLayerSetIdx, Int val )        { m_outputLayerSetIdxMinus1[ outLayerSetIdx ]  = val; }
     
    1042962  Void    setOutputLayerFlag( Int outLayerSetIdx, Int i, Bool flag )       { m_outputLayerFlag[ outLayerSetIdx ][ i ] = flag; }
    1043963  Bool    getOutputLayerFlag( Int outLayerSetIdx, Int i )                  { return m_outputLayerFlag[ outLayerSetIdx ][ i ]; }
    1044 #if H_MV_6_HRD_O0217_13
    1045964  Bool    inferOutputLayerFlag( Int layerSetIdx, Int i )                   { return ( getDefaultOneTargetOutputLayerIdc( ) == 0 || ( ( getDefaultOneTargetOutputLayerIdc( ) == 1 ) && ( i == m_layerSetLayerIdList[layerSetIdx].size() - 1  ) ));  }
    1046 #endif
    1047965
    1048966  Void    setProfileLevelTierIdx( Int outLayerSetIdx, Int val )            { m_profileLevelTierIdx[ outLayerSetIdx  = val ]; }
    1049967  Int     getProfileLevelTierIdx( Int outLayerSetIdx )                     { return m_profileLevelTierIdx[ outLayerSetIdx ]; }
    1050 #if H_MV_6_GEN_0153_28
    1051968  Void    setAltOutputLayerFlag( Bool flag )                               { m_altOutputLayerFlag = flag; }
    1052969  Bool    getAltOutputLayerFlag(  )                                        { return m_altOutputLayerFlag; }
    1053 #endif
    1054970
    1055971  Void    setRepFormatIdxPresentFlag( Bool flag )                          { m_repFormatIdxPresentFlag = flag; }
     
    1067983  Bool    getMaxOneActiveRefLayerFlag( )                                   { return m_maxOneActiveRefLayerFlag; }
    1068984
    1069 #if H_MV_6_HRD_O0217_13
    1070985  Void    setDpbSize( TComDpbSize* val )                                   { assert( m_dpbSize != 0 ); m_dpbSize = val; }
    1071986  TComDpbSize* getDpbSize( )                                               { return m_dpbSize;}
    1072 #endif
    1073 
    1074 #if H_MV_6_MISC_O0062_31
     987
    1075988  Void    setPocLsbNotPresentFlag( Int i, Bool flag )                      { m_pocLsbNotPresentFlag[i] = flag; }
    1076989  Bool    getPocLsbNotPresentFlag( Int i )                                 { return m_pocLsbNotPresentFlag[i]; }
    1077 #endif
    1078 #if !H_MV_6_PS_O0223_29 
    1079   Void    setCrossLayerIrapAlignedFlag( Bool flag )                        { m_crossLayerIrapAlignedFlag = flag; }
    1080   Bool    getCrossLayerIrapAlignedFlag(  )                                 { return m_crossLayerIrapAlignedFlag; }
    1081 #endif
    1082990  Void    setDirectDepTypeLenMinus2( Int val)                              { m_directDepTypeLenMinus2 = val; }
    1083991  Int     getDirectDepTypeLenMinus2( )                                     { return m_directDepTypeLenMinus2; }
    1084992
    1085 #if H_MV_6_PS_O0096_21
    1086993  Void    setDefaultDirectDependencyFlag( Bool flag )                      { m_defaultDirectDependencyFlag = flag; }
    1087994  Bool    getDefaultDirectDependencyFlag(  )                               { return m_defaultDirectDependencyFlag; }
     
    1089996  Void    setDefaultDirectDependencyType( Int  val )                       { m_defaultDirectDependencyType = val; }
    1090997  Int     getDefaultDirectDependencyType(  )                               { return m_defaultDirectDependencyType; }
    1091 #endif
    1092998  Void    setDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps, Int val) { m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ] = val; }
    1093999  Int     getDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps)   { return m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ]; }
     
    11011007
    11021008  Int     getScalabilityId ( Int layerIdInVps, ScalabilityType scalType );
    1103 #if H_MV_6_FIX_GET_VIEW_ID
    11041009  Int     getViewId        ( Int layerIdInNuh )                            { return m_viewIdVal[ getViewIndex( layerIdInNuh )]; }
    1105 #else
    1106   Int     getViewId        ( Int layerIdInNuh )                            { return m_viewIdVal[ getViewIndex( getLayerIdInVps( layerIdInNuh) )]; }
    1107 #endif
    11081010  Void    setRefLayers();
    11091011
     
    11201022  Int     getNumLayersInIdList ( Int lsIdx );
    11211023
    1122 #if H_MV_6_HRD_O0217_13
    11231024  Int     getNumOutputLayerSets() ;   
    11241025  Int     getNumSubDpbs( Int i )                                           { return getNumLayersInIdList( i ); }; 
    11251026  Bool    isOutputLayer( Int outLayerSetIdx, Int layerIdInNuh );   
    1126 #if H_MV_6_HRD_O0217_13
    11271027  Void    deriveLayerSetLayerIdList();
    11281028  Void    deriveTargetLayerIdLists();
    11291029  std::vector<Int> getTargetDecLayerIdList( Int targetOptLayerSetIdx )     { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; };
    11301030  std::vector<Int> getTargetOptLayerIdList( Int targetOptLayerSetIdx )     { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; };
    1131 #endif
    1132 #endif
    11331031
    11341032
     
    14821380  TimingInfo* getTimingInfo() { return &m_timingInfo; }
    14831381
    1484 #if H_MV_6_PS_O0118_33
    14851382  Void inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr )
    14861383  {
     
    15021399    setMatrixCoefficients     ( videoSignalInfo->getMatrixCoeffsVps           () );     
    15031400  }
    1504 #endif
    15051401};
    15061402
     
    15881484  TComVPS*    m_pcVPS;
    15891485  // SPS
    1590 #if H_MV_6_PSEM_O0142_3
    15911486  Bool        m_spsExtensionFlag;
    15921487  Bool        m_spsExtensionTypeFlag[PS_EX_T_MAX_NUM];
    1593 #endif
    15941488  Bool        m_spsInferScalingListFlag;
    15951489  Int         m_spsScalingListRefLayerId;
    15961490  Bool        m_updateRepFormatFlag;
    1597 #if H_MV_6_PS_REP_FORM_18_19_20 
    15981491  Int         m_spsRepFormatIdx;
    1599 #endif
    16001492  // SPS Extension
    16011493  Bool        m_interViewMvVertConstraintFlag;
    1602 #if H_MV_6_SHVC_O0098_36
    16031494  Int         m_numScaledRefLayerOffsets;
    16041495  Int         m_scaledRefLayerId          [MAX_NUM_SCALED_REF_LAYERS];
     
    16071498  Int         m_scaledRefLayerRightOffset [MAX_NUM_LAYERS];
    16081499  Int         m_scaledRefLayerBottomOffset[MAX_NUM_LAYERS];
    1609 #endif
    16101500#endif
    16111501#if H_3D
     
    17441634  TComPTL* getPTL()     { return &m_pcPTL; }
    17451635#if H_MV
    1746 #if H_MV_6_PSEM_O0142_3
    17471636  Void setSpsExtensionFlag( Bool flag ) { m_spsExtensionFlag = flag; }
    17481637  Bool getSpsExtensionFlag( )  { return m_spsExtensionFlag; }
     
    17501639  Void setSpsExtensionTypeFlag( Int i, Bool flag ) { m_spsExtensionTypeFlag[i] = flag; }
    17511640  Bool getSpsExtensionTypeFlag( Int i ) { return m_spsExtensionTypeFlag[i]; }
    1752 #endif
    17531641  Void      setVPS          ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; }
    17541642  TComVPS*  getVPS          () { return m_pcVPS; }
     
    17621650  Void setUpdateRepFormatFlag( Bool flag )     { m_updateRepFormatFlag = flag; }
    17631651  Bool getUpdateRepFormatFlag(  )              { return m_updateRepFormatFlag; }
    1764 #if H_MV_6_PS_REP_FORM_18_19_20
    17651652  Void setSpsRepFormatIdx( Int  val )          { m_spsRepFormatIdx = val; }
    17661653  Int  getSpsRepFormatIdx(  )                  { return m_spsRepFormatIdx; }
    1767 #endif
    17681654  // SPS Extension
    17691655  Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; }
    17701656  Bool getInterViewMvVertConstraintFlag()         { return m_interViewMvVertConstraintFlag;}
    17711657
    1772 #if H_MV_6_SHVC_O0098_36
    17731658  Void setNumScaledRefLayerOffsets( Int  val )    { m_numScaledRefLayerOffsets = val; }
    17741659  Int  getNumScaledRefLayerOffsets(  )            { return m_numScaledRefLayerOffsets; }
     
    17881673  Void setScaledRefLayerBottomOffset( Int j, Int  val ) { m_scaledRefLayerBottomOffset[j] = val; }
    17891674  Int  getScaledRefLayerBottomOffset( Int j )           { return m_scaledRefLayerBottomOffset[j]; }
    1790 #endif
    17911675  // Inference
    17921676  Void inferRepFormat( TComVPS* vps, Int layerIdCurr );
     
    21992083// Additional slice header syntax elements
    22002084  Bool       m_pocResetFlag;
    2201 #if H_MV_6_RALS_O0149_11
    22022085  Bool       m_crossLayerBlaFlag;
    2203 #endif
    22042086  Bool       m_discardableFlag;
    22052087  Bool       m_interLayerPredEnabledFlag;
     
    25292411// Additional slice header syntax elements
    25302412
    2531 #if H_MV_6_RALS_O0149_11
    25322413  Void setCrossLayerBlaFlag( Bool flag ) { m_crossLayerBlaFlag = flag; }
    25332414  Bool getCrossLayerBlaFlag(  ) { return m_crossLayerBlaFlag; }
     
    25402421    }
    25412422  }
    2542 #endif
    25432423
    25442424  Void setPocResetFlag( Bool flag ) { m_pocResetFlag = flag; }
     
    25612441  Int  getInterLayerPredLayerIdcLen    ( ) { return gCeilLog2(  getVPS()->getNumDirectRefLayers( getLayerId() )); }
    25622442
    2563 #if H_MV_6_ILDDS_ILREFPICS_27_34
    25642443  Int  getRefLayerPicFlag( Int i );
    25652444  Int  getRefLayerPicIdc ( Int j );
    25662445  Int  getNumRefLayerPics( );
    2567 #endif
    25682446
    25692447  Int  getNumActiveRefLayerPics( );
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TypeDef.h

    r765 r766  
    293293// !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!!
    294294
    295 /////////////////////////////////////////////////////////////////////////////////////////
    296 ///////////////////////////////////   HTM-9.1 Integrations //////////////////////////////
    297 /////////////////////////////////////////////////////////////////////////////////////////
    298 
    299 #define H_MV_FIX_TRACE_FILE                     1  // Fix linux compilation error related const char conversion
    300 
    301 #define H_MV_LAYER_WISE_STARTUP                 1  // Basic version of layer wise startup.
    302 #define H_MV_FIX_SKIP_PICTURES                  1  // Fix related to skipping pictures.
    303 #define H_MV_6_HRD_O0164_15                     1  // (HRD/O0164/Multilayer HRD) #15 Decision: Adopt, modified as follows: It was suggested to constrain the stalling based on the relative cpb removal times, which must be in decoding order. The "du_based_bpb_sync_flag" is not needed, in view of this. SEI in the highest layer of the layer set or (inclusive "or") VPS VUI is used to carry the parameters (at encoder discretion). SEI in higher layer and SEI in VUI do not need to repeat information available in some lower layer. Shall be after APS SEI and buffering period SEI and before all other SEI of all layers except other HRD related SEI.
    304 #define H_MV_6_HRD_O0217_13                     1  // (HRD/O0217/Sub-DPB based DPB operations) #13 Decision: Adopt ?Specify a separate DPB capacity for each layer ?no sharing of capacity across layers ?each layer has its own parameters (max pictures, max latency, max reordering). This proposal would specify distinct parameters for each "output layer set" and to change the definition of an operation point to be specific to an output layer set instead of a 'layer set". Decision: Adopted this aspect as well.
    305 #define H_MV_6_SHVC_O0098_36                    1  // (SHVC/O0098/Scaled ref layer offset) #36 Modify signalling of scaled reference layer offsets to allow signalling of any lower layer, rather than just a direct reference layer, in order to enable alignment of auxiliary pictures. In further JCT-VC and JCT-3V discussion, it was also agreed to use the same offset signalling for MV-HEVC as well as SHVC
    306 #define H_MV_6_GEN_0153_28                      1  //(Gen/O0153/output highest layer) #28 Add a flag in the VPS to indicate if startup process should output the highest available layer if the target output layer is not available.
    307 #define H_MV_6_PS_0109_25                       1  //XXX(PS/O0109/default_one_target_output_layer_idc) #25 To change default_one_target_output_layer_flag to a two-bit default_one_target_output_layer_idc, and reserve the values 2 and 3
    308 #define H_MV_6_O0226_37                         1  //(VUI/O0226/Mod tile WPP) #37 Modifications to the VUI indicators of tile and WPP alignment related syntax elements, from the r1.
    309 #define H_MV_6_RALS_O0149_11                    1  //XXX (RALS/O0149/Prop2): #11 Proposal: A new slice_reserved_flag is taken into use to indicate if a base-layer IDR picture initiates the layer-wise start-up process. Decision: Adopt (the bit should not be required to be present; if present should be the bit after the discardable_flag, and discardable_flag should be the first one of the three, and the poc reset flag is not required to be present).
    310 #define H_MV_6_PSEM_O0142_3                     1  // (PSEM/O0142/Conditional extension syntax) #3 Adopt JCTVC-O0142 (as a structure to be used to switch whatever extensions we define in SPS, not necessarily committing to having these extensions be separate for each extension, but the current plan unless decided otherwise is to use one flag for range extensions syntax presence and one flag for SHVC+MV-HEVC extension syntax presence)
    311 #define H_MV_6_FIX_GET_VIEW_ID                  1  // Fix get view id
    312 #define H_MV_6_LAYER_ID_32                      1  // (Gen/O0137,O0200,O0223,Layer id) #32 Add (editorial equivalent of) "The value of nuh_layer_id shall be in the range of 0 to 62. The value of 63 for nuh_layer_id is reserved for future use by ITU-T | ISO/IEC. Decoders shall ignore all data that follow the value 63 for nuh_layer_id in a NAL unit." and specify that vps_max_layers_minus1 shall not be equal to 63, but decoders shall allow that value to appear in the bitstream. Specify that the value 63 is interpreted the same as the value 62 (e.g., MaxLayersMinus1 = Min( 62, vps_max_layers_minus1) and subsequently refer to MaxLayersMinus1 instead of vps_max_layers_minus1)
    313 #define H_MV_6_PS_O0118_33                      1  // (PS/O0118/visual signal info in vui per layer) #33 Add visual signal information (video_format, video_full_range_flag, colour_primaries, transfer_characteristics, matrix_coeffs) per layer to the VPS VUI, from v2 version of JCTVC-O0118.
    314 #define H_MV_6_POC_31_35_38                     1  //XXX  Various related to POC
    315                                                    // (Misc/O0062/POC LSB present) (SH changes)
    316                                                    // (POC/O0117/Modify PicOrderCntVal of prevTid0Pic) #35 Modification of the PicOrderCntVal of prevTid0Pic and modification to the decoding process for reference picture set, to address problems found for cross-layer POC alignment.
    317                                                    // (POC/O0211/Fix ambiguity) #38 Modify POC derivation to correct an ambiguity in the spec.
    318 #define H_MV_6_MISC_O0062_31                    1  // (Misc/O0062/POC LSB present) (without SH changes ) #31 The proposal's "option 3" is to add a flag in the VPS for each EL to control whether these LSBs are present or not (for IDR pictures), and when not present, the LSBs are inferred to be equal to 0. Decision: Adopted (as described herein).
    319 #define H_MV_6_ILDDS_ILREFPICS_27_34            1  // Various inter layer reference picture derivation
    320                                                    // (ILDSD/O0225/max_tid_il_ref_pics RPL const.) #27 Change derivation of NumActiveRefLayerPics to consider max_tid_il_ref_pics.
    321                                                    // (ILDSD/O0120/sub_layers_vps_max_minus1 RPL const) #34 Modify inter-layer reference picture list default construction to incorporate max temporal sub-layers per layer syntax elements in VPS extension, from r2 version of JCTVC-O0120
    322 #define H_MV_6_ILDDS_O0225_30                   1  // (ILDSD/O0225/signal max_tid_il_ref_pics per layer ) #30 2nd proposal of JCTVC-O0225 regarding signalling of max_tid_il_ref_pics per layer, based upon relation to SCE2 on single loop decoding. Decision: Adopted.
    323 #define H_MV_6_ILDSD_O0120_26                   1  // (ILDSD/O0120/sub_layers_vps_max_minus1) #26 Add syntax elements to signal max temporal sub-layers for each layer in the VPS, with a gating flag, from JCTVC- option 2.
    324 #define H_MV_6_PS_O0223_29                      1  // (PS/O0223/Cross layer alignment type) #29 Add a flag in VPS VUI to indicate cross layer pic type alignment.  Move cross_layer_irap_aligned_flag to VPS VUI and make presence condition on added flag
    325 #define H_MV_6_PS_0092_17                       1  // (PS/O0092/Sharing SPS PPS) #17 Restrict sharing of SPS and PPS across layers to avoid creating problems during sub-bitstream extraction, based on modification of proposals in JCTVC-O0059 and JCTVC-O0092, reflected in the v2 version of O0092.
    326 #define H_MV_6_PS_REP_FORM_18_19_20             1  //  Various Rep format
    327                                                    // (PS/O0096/rep format syntax element length ) #20 Modification of length to 8 bit as decided later in trac.
    328                                                    // (PS/O0179/Rep. Format) #18 Add flag in rep_format( ) syntax structure to control sending of chroma and bit depth related parameters, as proposed in the v2 version of JCTVC-O0179.
    329                                                    // (PS/O0096/rep format) #20 Modify the SPS syntax for layers with nuh_layer_id > 0 to signal a reference to a rep_format index in the VPS, rather than signalling explicit representation format data in the SPS, from the v2 version of JCTVC-O0096.
    330                                                    // (PS/FIX/N0092/Rep. Format) #19 Inferences.
    331 #define H_MV_6_PS_O0096_21                      1  // (PS/O0096/direct_dependency_type gating flag) #21 Add a gating flag in VPS extension to condition the presence of direct dependency type, with a default type signalled, from JCTVC-O0096
    332 #define H_MV_6_PS_O0109_22                      1  // (PS/O0109/view_id_len) #22 Modify the VPS extension syntax and semantics to replace view_id_len_minus1 with view_id_len, always signal that syntax element, add a constraint that (1<<view_id_len) >= NumViews, and modify view_id_val semantics to infer value of 0 when not present, from discussion of JCTVC-O0109
    333 #define H_MV_6_PS_O0109_23                      1  // (PS/O0109/profile_ref_minus1 constraint) #23 Modify the semantics of profile_ref_minus1[ i ] to replace “shall be less than i?with “shall be less than or equal to i? from discussion of JCTVC-O0109
    334 #define H_MV_6_PS_O0109_24                      1  // (PS/O0109/vps_vui_present_flag move) #24 Move the vps_vui_present_flag to precede vps_vui_offset, and make vps_vui_offset conditional on that flag, from JCTVC-O0109
    335 
    336295
    337296/////////////////////////////////////////////////////////////////////////////////////////
     
    349308#define MAX_VPS_OP_SETS_PLUS1                     1024
    350309#if H_MV
    351 #if H_MV_6_LAYER_ID_32
    352310#define MAX_VPS_NUH_LAYER_ID_PLUS1  63
    353 #else
    354 #define MAX_VPS_NUH_LAYER_ID_PLUS1  64
    355 #endif
    356311#define MAX_NUM_SCALABILITY_TYPES   16
    357312#define ENC_CFG_CONSOUT_SPACE       29           
     
    377332#define MAX_CPB_CNT                     32  ///< Upper bound of (cpb_cnt_minus1 + 1)
    378333#if H_MV
    379 #if H_MV_6_LAYER_ID_32
    380334#define MAX_NUM_LAYER_IDS               63
    381335#define MAX_NUM_LAYERS                  63
    382 #else
    383 #define MAX_NUM_LAYER_IDS               64
    384 #define MAX_NUM_LAYERS                  64
    385 #endif
    386336#define MAX_VPS_PROFILE_TIER_LEVEL      64
    387337#define MAX_VPS_ADD_OUTPUT_LAYER_SETS   1024
    388338#define MAX_VPS_OUTPUTLAYER_SETS        ( MAX_VPS_ADD_OUTPUT_LAYER_SETS + MAX_VPS_OP_SETS_PLUS1 )
    389 #if H_MV_6_PS_O0118_33
    390339#define  MAX_NUM_VIDEO_SIGNAL_INFO      16
    391 #endif
    392 #if H_MV_6_SHVC_O0098_36
    393340#define MAX_NUM_SCALED_REF_LAYERS       MAX_NUM_LAYERS-1
    394 #endif
    395 #if H_MV_6_HRD_O0164_15
    396341#define MAX_NUM_BSP_HRD_PARAMETERS      100 ///< Maximum value is actually not specified
    397342#define MAX_NUM_BITSTREAM_PARTITIONS    100 ///< Maximum value is actually not specified
    398343#define MAX_NUM_BSP_SCHED_COMBINATION   100 ///< Maximum value is actually not specified
    399 #endif
    400344#endif
    401345
     
    875819#if H_MV
    876820
    877 #if H_MV_6_PSEM_O0142_3
    878821  enum PsExtensionTypes
    879822  {
     
    885828    PS_EX_T_MAX_NUM = 8
    886829  };
    887 #endif
    888830
    889831/// scalability types
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r765 r766  
    556556
    557557  READ_FLAG(     uiCode, "video_signal_type_present_flag");           pcVUI->setVideoSignalTypePresentFlag(uiCode);
    558 #if H_MV_6_PS_O0118_33
    559558  assert( pcSPS->getLayerId() == 0 || !pcVUI->getVideoSignalTypePresentFlag() );
    560 #endif
    561559
    562560  if (pcVUI->getVideoSignalTypePresentFlag())
     
    746744  {
    747745    READ_FLAG( uiCode, "update_rep_format_flag" );               pcSPS->setUpdateRepFormatFlag( uiCode == 1 );
    748 #if H_MV_6_PS_REP_FORM_18_19_20
    749746    if ( pcSPS->getUpdateRepFormatFlag() )
    750747    {
     
    754751  else
    755752  {
    756 #else
    757   }
    758  
    759   if ( pcSPS->getUpdateRepFormatFlag() )
    760   {
    761 #endif
    762753#endif
    763754  READ_UVLC(     uiCode, "chroma_format_idc" );                  pcSPS->setChromaFormatIdc( uiCode );
     
    795786
    796787#if H_MV
    797 #if H_MV_6_PS_REP_FORM_18_19_20
    798788  if ( pcSPS->getLayerId() == 0 )
    799 #else
    800   if ( pcSPS->getUpdateRepFormatFlag() )
    801 #endif
    802789  {
    803790#endif
     
    948935
    949936  READ_FLAG( uiCode, "sps_extension_flag");
    950 #if H_MV_6_PSEM_O0142_3
    951937  pcSPS->setSpsExtensionFlag( uiCode );
    952 #endif
    953938  if (pcSPS->getSpsExtensionFlag( ) )
    954939  {
    955 #if !H_MV_6_PSEM_O0142_3
    956 #if H_MV
    957     parseSPSExtension( pcSPS );
    958     READ_FLAG( uiCode, "sps_extension2_flag");
    959     if ( uiCode )
    960     {
    961 #if H_3D
    962       parseSPSExtension2( pcSPS, viewIndex, depthFlag );
    963       READ_FLAG( uiCode, "sps_extension3_flag");
    964       if ( uiCode )
    965       {
    966 #endif
    967 #endif
    968 #else   
    969940    for (Int i = 0; i < PS_EX_T_MAX_NUM; i++)
    970941    {
     
    991962    if ( pcSPS->getSpsExtensionTypeFlag( PS_EX_T_ESC ))
    992963    {   
    993 #endif
    994964        while ( xMoreRbspData() )
    995965        {
    996966          READ_FLAG( uiCode, "sps_extension_data_flag");
    997967        }
    998 #if H_MV_6_PSEM_O0142_3
    999     }
    1000 #else
    1001 #if H_MV     
    1002 #if H_3D
    1003       }
    1004 #endif
    1005     }
    1006 #endif
    1007 #endif
     968    }
    1008969  }
    1009970}
     
    1014975  UInt uiCode;
    1015976  READ_FLAG( uiCode, "inter_view_mv_vert_constraint_flag" );    pcSPS->setInterViewMvVertConstraintFlag(uiCode == 1 ? true : false);
    1016 #if !H_MV_6_SHVC_O0098_36
    1017   READ_UVLC( uiCode, "sps_shvc_reserved_zero_idc" );
    1018 #else
    1019977 
    1020978  READ_UVLC( uiCode, "num_scaled_ref_layer_offsets" ); pcSPS->setNumScaledRefLayerOffsets( uiCode );
     
    1031989    READ_SVLC( iCode, "scaled_ref_layer_bottom_offset" ); pcSPS->setScaledRefLayerBottomOffset( j, iCode );
    1032990  }
    1033 #endif 
    1034991}
    1035992
     
    10811038  READ_CODE( 2,  uiCode,  "vps_reserved_three_2bits" );           assert(uiCode == 3);
    10821039#if H_MV
    1083 #if H_MV_6_LAYER_ID_32
    10841040  READ_CODE( 6,  uiCode,  "vps_max_layers_minus1" );              pcVPS->setMaxLayersMinus1( std::min( uiCode, (UInt) ( MAX_NUM_LAYER_IDS-1) )  );
    1085 #else
    1086   READ_CODE( 6,  uiCode,  "vps_max_layers_minus1" );              pcVPS->setMaxLayersMinus1( uiCode  );
    1087 #endif
    10881041#else
    10891042  READ_CODE( 6,  uiCode,  "vps_reserved_zero_6bits" );            assert(uiCode == 0);
     
    11401093    }
    11411094  }
    1142 #if H_MV_6_HRD_O0217_13
    11431095  pcVPS->deriveLayerSetLayerIdList();
    1144 #endif
    11451096  TimingInfo *timingInfo = pcVPS->getTimingInfo();
    11461097  READ_FLAG(       uiCode, "vps_timing_info_present_flag");         timingInfo->setTimingInfoPresentFlag      (uiCode ? true : false);
     
    12091160  UInt uiCode;
    12101161  READ_FLAG( uiCode, "avc_base_layer_flag" );                     pcVPS->setAvcBaseLayerFlag( uiCode == 1 ? true : false );
    1211 #if H_MV_6_PS_O0109_24
    12121162  READ_FLAG( uiCode, "vps_vui_present_flag" );                    pcVPS->setVpsVuiPresentFlag( uiCode == 1 );  if ( pcVPS->getVpsVuiPresentFlag() )
    12131163  { 
    1214 #endif
    12151164  READ_CODE( 16, uiCode, "vps_vui_offset" );                      pcVPS->setVpsVuiOffset( uiCode );
    1216 #if H_MV_6_PS_O0109_24
    1217   }
    1218 #endif
     1165  }
    12191166
    12201167  READ_FLAG( uiCode, "splitting_flag" );                          pcVPS->setSplittingFlag( uiCode == 1 ? true : false );
     
    12631210  }
    12641211
    1265 #if H_MV_6_PS_O0109_22
    12661212  READ_CODE( 4, uiCode, "view_id_len" ); pcVPS->setViewIdLen( uiCode );
    12671213
     
    12801226    }
    12811227  }
    1282 #else
    1283   // GT spec says: trac #39
    1284   // if ( pcVPS->getNumViews() > 1 ) 
    1285   //   However, this is a bug in the text since, view_id_len_minus1 is needed to parse view_id_val.
    1286   {
    1287     READ_CODE( 4, uiCode, "view_id_len_minus1" ); pcVPS->setViewIdLenMinus1( uiCode );
    1288   }
    1289 
    1290   for( Int i = 0; i < pcVPS->getNumViews(); i++ )
    1291   {
    1292     READ_CODE( pcVPS->getViewIdLenMinus1( ) + 1, uiCode, "view_id_val[i]" ); pcVPS->setViewIdVal( i, uiCode );
    1293   }
    1294 #endif
    12951228
    12961229
     
    13021235    }
    13031236  }
    1304 #if H_MV_6_MISC_O0062_31
    13051237  pcVPS->setRefLayers();
    1306 #endif
    1307 #if H_MV_6_ILDSD_O0120_26
    13081238  READ_FLAG( uiCode, "vps_sub_layers_max_minus1_present_flag" ); pcVPS->setVpsSubLayersMaxMinus1PresentFlag( uiCode == 1 );
    13091239  if ( pcVPS->getVpsSubLayersMaxMinus1PresentFlag() )
     
    13231253    }
    13241254  }
    1325 #endif
    13261255  READ_FLAG( uiCode, "max_tid_ref_present_flag" ); pcVPS->setMaxTidRefPresentFlag( uiCode == 1 );
    13271256
     
    13301259    for( Int i = 0; i < pcVPS->getMaxLayersMinus1(); i++ )
    13311260    {
    1332 #if H_MV_6_ILDDS_O0225_30
    13331261      for( Int j = i + 1; j <= pcVPS->getMaxLayersMinus1(); j++ )
    13341262      {
     
    13381266        }
    13391267      }
    1340 #else
    1341       READ_CODE( 3, uiCode,       "max_tid_il_ref_pics_plus1[i]" );      pcVPS->setMaxTidIlRefPicPlus1( i , uiCode );
    1342 #endif
    13431268    }
    13441269  }
     
    13541279    {
    13551280      READ_CODE( 6, uiCode, "profile_ref_minus1[i]" ); pcVPS->setProfileRefMinus1( i, uiCode );
    1356 #if H_MV_6_PS_O0109_23
    13571281      pcVPS->checkProfileRefMinus1( i );     
    1358 #endif
    13591282    }
    13601283    parsePTL ( pcVPS->getPTL( i ), pcVPS->getVpsProfilePresentFlag( i ), pcVPS->getMaxTLayers()-1);
     
    13791302  if( numOutputLayerSets > 1)
    13801303  {
    1381 #if H_MV_6_PS_0109_25
    13821304    READ_CODE( 2, uiCode, "default_one_target_output_layer_idc" ); pcVPS->setDefaultOneTargetOutputLayerIdc( uiCode );
    13831305    pcVPS->checkDefaultOneTargetOutputLayerIdc();
    1384 #else
    1385     READ_FLAG( uiCode, "default_one_target_output_layer_flag" ); pcVPS->setDefaultOneTargetOutputLayerFlag(  uiCode == 1);
    1386 #endif
    13871306  } 
    13881307
    1389 #if H_MV_6_HRD_O0217_13
    13901308  pcVPS->setOutputLayerFlag(0, 0, pcVPS->inferOutputLayerFlag( 0, 0 ));
    13911309  pcVPS->setOutputLayerSetIdxMinus1(0, -1);
    1392 #endif
    13931310  for( Int i = 1; i < numOutputLayerSets; i++ )
    13941311  {
     
    14011318      }       
    14021319    }
    1403 #if H_MV_6_HRD_O0217_13
    14041320    else
    14051321    { // These inference rules would also be helpful in spec text
     
    14101326      }
    14111327    }
    1412 #endif
    14131328
    14141329    if ( pcVPS->getProfileLevelTierIdxLen()  > 0 )
     
    14171332    }
    14181333  }
    1419 #if H_MV_6_GEN_0153_28
    14201334  if( pcVPS->getMaxLayersMinus1() > 0 )
    14211335  {
    14221336    READ_FLAG( uiCode, "alt_output_layer_flag" ); pcVPS->setAltOutputLayerFlag( uiCode == 1 );
    14231337  }
    1424 #endif
    1425 #if H_MV_6_HRD_O0217_13
    14261338  pcVPS->deriveTargetLayerIdLists();
    1427 #endif
    14281339  READ_FLAG( uiCode, "rep_format_idx_present_flag" ); pcVPS->setRepFormatIdxPresentFlag( uiCode == 1 );
    14291340  if ( pcVPS->getRepFormatIdxPresentFlag() )
     
    14341345  for (Int i = 0; i <= pcVPS->getVpsNumRepFormatsMinus1(); i++ )
    14351346  {
    1436 #if H_MV_6_PS_REP_FORM_18_19_20
    14371347    assert( pcVPS->getRepFormat(i) == NULL );
    14381348    TComRepFormat* curRepFormat = new TComRepFormat();
     
    14401350    parseRepFormat( i, curRepFormat ,  prevRepFormat);
    14411351    pcVPS->setRepFormat(i, curRepFormat );
    1442 #else
    1443     assert( pcVPS->getRepFormat(i) == NULL );
    1444     TComRepFormat* repFormat = new TComRepFormat();
    1445     parseRepFormat( repFormat );
    1446     pcVPS->setRepFormat(i, repFormat );
    1447 #endif
    14481352  }
    14491353
     
    14541358      if( pcVPS->getVpsNumRepFormatsMinus1() > 0 )
    14551359      {
    1456 #if H_MV_6_PS_REP_FORM_18_19_20
    14571360        READ_CODE( 8, uiCode, "vps_rep_format_idx" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
    1458 #else
    1459         READ_CODE( 4, uiCode, "vps_rep_format_idx" ); pcVPS->setVpsRepFormatIdx( i, uiCode );
    1460 #endif
    14611361      }
    14621362    }
     
    14641364
    14651365  READ_FLAG( uiCode, "max_one_active_ref_layer_flag" ); pcVPS->setMaxOneActiveRefLayerFlag ( uiCode == 1 );
    1466 #if H_MV_6_MISC_O0062_31
    14671366  for( Int i = 1; i  <=  pcVPS->getMaxLayersMinus1(); i++ )
    14681367  {
     
    14721371    }
    14731372  }
    1474 #endif
    1475 
    1476 #if H_MV_6_HRD_O0217_13
     1373
    14771374  parseDpbSize( pcVPS );
    1478 #endif
    1479 
    1480 #if !H_MV_6_PS_O0223_29
    1481   READ_FLAG( uiCode, "cross_layer_irap_aligned_flag" ); pcVPS->setCrossLayerIrapAlignedFlag( uiCode == 1 );
    1482 #endif
     1375
    14831376  READ_UVLC( uiCode, "direct_dep_type_len_minus2")    ; pcVPS->setDirectDepTypeLenMinus2   ( uiCode );
    14841377
    1485 #if H_MV_6_PS_O0096_21
    14861378  READ_FLAG( uiCode, "default_direct_dependency_flag" ); pcVPS->setDefaultDirectDependencyFlag( uiCode == 1 );
    14871379  if ( pcVPS->getDefaultDirectDependencyFlag( ) )
     
    15071399    }
    15081400  } 
    1509 #else
    1510   for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    1511   {
    1512     for( Int j = 0; j < i; j++ )
    1513     {
    1514       if (pcVPS->getDirectDependencyFlag( i, j) )
    1515       {       
    1516         READ_CODE( pcVPS->getDirectDepTypeLenMinus2( ) + 2,  uiCode, "direct_dependency_type[i][j]" ); pcVPS->setDirectDependencyType( i, j , uiCode);
    1517       }
    1518     }
    1519   }
    1520 #endif
    15211401
    15221402  READ_FLAG( uiCode, "vps_shvc_reserved_zero_flag" );
    1523 #if !H_MV_6_PS_O0109_24
    1524   READ_FLAG( uiCode, "vps_vui_present_flag" )       ; pcVPS->setVpsVuiPresentFlag( uiCode == 1 );
    1525 #endif
    15261403
    15271404  if( pcVPS->getVpsVuiPresentFlag() )
     
    15321409
    15331410  pcVPS->checkVPSExtensionSyntax();
    1534 #if !H_MV_6_MISC_O0062_31
    1535   pcVPS->setRefLayers();
    1536 #endif
    1537 }
    1538 
    1539 #if H_MV_6_PS_REP_FORM_18_19_20
     1411}
     1412
    15401413Void TDecCavlc::parseRepFormat( Int i, TComRepFormat* pcRepFormat, TComRepFormat* pcPrevRepFormat )
    1541 #else
    1542 Void TDecCavlc::parseRepFormat( TComRepFormat* pcRepFormat )
    1543 #endif
    15441414{
    15451415  assert( pcRepFormat );
     
    15471417  UInt uiCode;
    15481418
    1549 #if H_MV_6_PS_REP_FORM_18_19_20
    15501419  READ_CODE( 16, uiCode, "pic_width_vps_in_luma_samples" );  pcRepFormat->setPicWidthVpsInLumaSamples ( uiCode );
    15511420  READ_CODE( 16, uiCode, "pic_height_vps_in_luma_samples" ); pcRepFormat->setPicHeightVpsInLumaSamples( uiCode );
     
    15561425  if ( pcRepFormat->getChromaAndBitDepthVpsPresentFlag() )
    15571426  { 
    1558 #endif
    15591427  READ_CODE( 2,  uiCode, "chroma_format_vps_idc" );          pcRepFormat->setChromaFormatVpsIdc       ( uiCode );
    15601428  if ( pcRepFormat->getChromaFormatVpsIdc() == 3 )
     
    15621430    READ_FLAG( uiCode, "separate_colour_plane_vps_flag" ); pcRepFormat->setSeparateColourPlaneVpsFlag( uiCode == 1 );
    15631431  }
    1564 #if !H_MV_6_PS_REP_FORM_18_19_20
    1565   READ_CODE( 16, uiCode, "pic_width_vps_in_luma_samples" );  pcRepFormat->setPicWidthVpsInLumaSamples ( uiCode );
    1566   READ_CODE( 16, uiCode, "pic_height_vps_in_luma_samples" ); pcRepFormat->setPicHeightVpsInLumaSamples( uiCode );
    1567 #endif
    15681432  READ_CODE( 4,  uiCode, "bit_depth_vps_luma_minus8" );      pcRepFormat->setBitDepthVpsLumaMinus8    ( uiCode );
    15691433  READ_CODE( 4,  uiCode, "bit_depth_vps_chroma_minus8" );    pcRepFormat->setBitDepthVpsChromaMinus8  ( uiCode );
    1570 #if H_MV_6_PS_REP_FORM_18_19_20
    15711434  }
    15721435  else
     
    15741437    pcRepFormat->inferChromaAndBitDepth(pcPrevRepFormat, false );
    15751438  }
    1576 #endif
    15771439}
    15781440
     
    15871449
    15881450  UInt uiCode;
    1589 #if H_MV_6_PS_O0223_29
    15901451  READ_FLAG( uiCode, "cross_layer_pic_type_aligned_flag" ); pcVPSVUI->setCrossLayerPicTypeAlignedFlag( uiCode == 1 );
    15911452  if ( !pcVPSVUI->getCrossLayerPicTypeAlignedFlag() )
     
    15931454    READ_FLAG( uiCode, "cross_layer_irap_aligned_flag" ); pcVPSVUI->setCrossLayerIrapAlignedFlag( uiCode == 1 );
    15941455  }
    1595 #endif
    15961456  READ_FLAG( uiCode, "bit_rate_present_vps_flag" ); pcVPSVUI->setBitRatePresentVpsFlag( uiCode == 1 );
    15971457  READ_FLAG( uiCode, "pic_rate_present_vps_flag" ); pcVPSVUI->setPicRatePresentVpsFlag( uiCode == 1 );
     
    16241484  }
    16251485
    1626 #if H_MV_6_O0226_37
    16271486  READ_FLAG( uiCode, "tiles_not_in_use_flag" ); pcVPSVUI->setTilesNotInUseFlag( uiCode == 1 );
    16281487  if( !pcVPSVUI->getTilesNotInUseFlag() )
     
    16591518    }
    16601519  }
    1661 #else
    1662   for( Int i = 1; i  <=  pcVPS->getMaxLayersMinus1(); i++ )
    1663   {
    1664     for( Int  j = 0; j < pcVPS->getNumDirectRefLayers( pcVPS->getLayerIdInNuh( i ) ); j++ )
    1665     {
    1666       READ_FLAG( uiCode, "tile_boundaries_aligned_flag" ); pcVPSVUI->setTileBoundariesAlignedFlag( i, j, uiCode == 1 );
    1667     }
    1668   }
    1669 #endif
    16701520
    16711521  READ_FLAG( uiCode, "ilp_restricted_ref_layers_flag" ); pcVPSVUI->setIlpRestrictedRefLayersFlag( uiCode == 1 );
     
    16901540  }
    16911541
    1692 #if H_MV_6_PS_O0118_33
    16931542  READ_FLAG( uiCode, "video_signal_info_idx_present_flag" ); pcVPSVUI->setVideoSignalInfoIdxPresentFlag( uiCode == 1 );
    16941543  if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() )
     
    17241573    }
    17251574  }
    1726 #endif
    1727 #if H_MV_6_HRD_O0164_15
    17281575  READ_FLAG( uiCode, "vps_vui_bsp_hrd_present_flag" ); pcVPSVUI->setVpsVuiBspHrdPresentFlag( uiCode == 1 );
    17291576  if ( pcVPSVUI->getVpsVuiBspHrdPresentFlag( ) )
     
    17311578    parseVpsVuiBspHrdParameters( pcVPS );
    17321579}
    1733 #endif
    1734 }
    1735 
    1736 #if H_MV_6_HRD_O0164_15
     1580}
     1581
    17371582Void TDecCavlc::parseVpsVuiBspHrdParameters( TComVPS* pcVPS )
    17381583{
     
    17911636  } 
    17921637
    1793 #endif
    1794 
    1795 #if H_MV_6_PS_O0118_33
     1638
    17961639Void TDecCavlc::parseVideoSignalInfo( TComVideoSignalInfo* pcVideoSignalInfo )
    17971640{
     
    18031646  READ_CODE( 8, uiCode, "matrix_coeffs_vps" );            pcVideoSignalInfo->setMatrixCoeffsVps( uiCode );
    18041647}
    1805 #endif
    1806 
    1807 #if H_MV_6_HRD_O0217_13
     1648
    18081649Void TDecCavlc::parseDpbSize( TComVPS* vps )
    18091650{
     
    18461687  } 
    18471688}
    1848 #endif
    18491689#endif
    18501690
     
    20001840  sps->inferRepFormat  ( vps , rpcSlice->getLayerId() );
    20011841  sps->inferScalingList( parameterSetManager->getActiveSPS( sps->getSpsScalingListRefLayerId() ) );   
    2002 #if H_MV_6_PS_O0118_33
    20031842  if ( sps->getVuiParametersPresentFlag() )
    20041843  {
    20051844    sps->getVuiParameters()->inferVideoSignalInfo( vps, rpcSlice->getLayerId() );
    20061845  }
    2007 #endif
    20081846  rpcSlice->setVPS(vps);     
    20091847  rpcSlice->setViewId   ( vps->getViewId   ( rpcSlice->getLayerId() )      );
     
    20591897#if H_MV   
    20601898    Int esb = 0; //Don't use i, otherwise will shadow something below
    2061 #if !H_MV_6_RALS_O0149_11
     1899
     1900    if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
     1901    {
     1902      esb++;
     1903      READ_FLAG( uiCode, "discardable_flag" ); rpcSlice->setDiscardableFlag( uiCode == 1 );
     1904    }
     1905
     1906    if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
     1907    {
     1908      esb++;
     1909      READ_FLAG( uiCode, "cross_layer_bla_flag" ); rpcSlice->setCrossLayerBlaFlag( uiCode == 1 );
     1910    }
     1911    rpcSlice->checkCrossLayerBlaFlag( );
     1912
    20621913    if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    20631914    {
     
    20651916      READ_FLAG( uiCode, "poc_reset_flag" ); rpcSlice->setPocResetFlag( uiCode == 1 );
    20661917    }
    2067 #endif
    2068 
    2069     if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    2070     {
    2071       esb++;
    2072       READ_FLAG( uiCode, "discardable_flag" ); rpcSlice->setDiscardableFlag( uiCode == 1 );
    2073     }
    2074 
    2075 #if H_MV_6_RALS_O0149_11
    2076     if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    2077     {
    2078       esb++;
    2079       READ_FLAG( uiCode, "cross_layer_bla_flag" ); rpcSlice->setCrossLayerBlaFlag( uiCode == 1 );
    2080     }
    2081     rpcSlice->checkCrossLayerBlaFlag( );
    2082 
    2083     if ( rpcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    2084     {
    2085       esb++;
    2086       READ_FLAG( uiCode, "poc_reset_flag" ); rpcSlice->setPocResetFlag( uiCode == 1 );
    2087     }
    2088 #endif
    20891918
    20901919    for (; esb < rpcSlice->getPPS()->getNumExtraSliceHeaderBits(); esb++)   
     
    21111940
    21121941
    2113 #if H_MV_6_POC_31_35_38
    21141942    UInt slicePicOrderCntLsb = 0;
    21151943    Int iPOClsb = slicePicOrderCntLsb;  // Needed later
     
    21581986      rpcSlice->setPOC              ( 0 );
    21591987    }     
    2160 #endif
    21611988
    21621989    if( rpcSlice->getIdrPicFlag() )
    21631990    {
    2164 #if !H_MV_6_POC_31_35_38
    2165       rpcSlice->setPOC(0);
    2166 #endif
    21671991      TComReferencePictureSet* rps = rpcSlice->getLocalRPS();
    21681992      rps->setNumberOfNegativePictures(0);
     
    21772001    else
    21782002    {
    2179 #if !H_MV_6_POC_31_35_38
    2180       READ_CODE(sps->getBitsForPOC(), uiCode, "pic_order_cnt_lsb"); 
    2181       Int iPOClsb = uiCode;
    2182       Int iPrevPOC = rpcSlice->getPrevTid0POC();
    2183       Int iMaxPOClsb = 1<< sps->getBitsForPOC();
    2184       Int iPrevPOClsb = iPrevPOC & (iMaxPOClsb - 1);
    2185       Int iPrevPOCmsb = iPrevPOC-iPrevPOClsb;
    2186       Int iPOCmsb;
    2187       if( ( iPOClsb  <  iPrevPOClsb ) && ( ( iPrevPOClsb - iPOClsb )  >=  ( iMaxPOClsb / 2 ) ) )
    2188       {
    2189         iPOCmsb = iPrevPOCmsb + iMaxPOClsb;
    2190       }
    2191       else if( (iPOClsb  >  iPrevPOClsb )  && ( (iPOClsb - iPrevPOClsb )  >  ( iMaxPOClsb / 2 ) ) )
    2192       {
    2193         iPOCmsb = iPrevPOCmsb - iMaxPOClsb;
    2194       }
    2195       else
    2196       {
    2197         iPOCmsb = iPrevPOCmsb;
    2198       }
    2199       if ( rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_LP
    2200         || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_W_RADL
    2201         || rpcSlice->getNalUnitType() == NAL_UNIT_CODED_SLICE_BLA_N_LP )
    2202       {
    2203         // For BLA picture types, POCmsb is set to 0.
    2204         iPOCmsb = 0;
    2205       }
    2206       rpcSlice->setPOC              (iPOCmsb+iPOClsb);
    2207 #if H_MV
    2208       if ( rpcSlice->getPocResetFlag() ) 
    2209       {
    2210         rpcSlice->setPocBeforeReset   ( rpcSlice->getPOC() );
    2211         rpcSlice->setPOC              ( 0 );
    2212 
    2213       }     
    2214 #endif
    2215 #endif
    22162003      TComReferencePictureSet* rps;
    22172004      rps = rpcSlice->getLocalRPS();
     
    23472134    }
    23482135#if H_MV
    2349 #if H_MV_6_ILDDS_ILREFPICS_27_34
    23502136    Bool interLayerPredLayerIdcPresentFlag = false;
    2351 #endif
    23522137    Int layerId       = rpcSlice->getLayerId();
    23532138    if( rpcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )
     
    23622147        if ( rpcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )
    23632148        {
    2364 #if H_MV_6_ILDDS_ILREFPICS_27_34
    23652149          interLayerPredLayerIdcPresentFlag = true;
    2366 #endif
    23672150          for( Int idx = 0; idx < rpcSlice->getNumActiveRefLayerPics(); idx++ )   
    23682151          {
     
    23722155      } 
    23732156    }
    2374 #if H_MV_6_ILDDS_ILREFPICS_27_34
    23752157    if ( !interLayerPredLayerIdcPresentFlag )
    23762158    {
     
    23802162      }
    23812163    }
    2382 #endif
    23832164#endif
    23842165    if(sps->getUseSAO())
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.h

    r758 r766  
    7878#if H_MV
    7979  Void  parseVPSExtension   ( TComVPS* pcVPS );
    80 #if H_MV_6_PS_REP_FORM_18_19_20
    8180  Void  parseRepFormat      ( Int i, TComRepFormat* curRepFormat, TComRepFormat* prevRepFormat );
    82 #else
    83   Void  parseRepFormat      ( TComRepFormat* pcRepFormat );
    84 #endif
    8581  Void  parseVPSVUI         ( TComVPS* pcVPS );
    86 #if H_MV_6_PS_O0118_33
    8782  Void parseVideoSignalInfo ( TComVideoSignalInfo* pcVideoSignalInfo );
    88 #endif
    89 #if H_MV_6_HRD_O0217_13
    9083  Void  parseDpbSize        ( TComVPS* pcVPS );
    91 #endif
    92 #if H_MV_6_HRD_O0164_15
    9384  Void parseVpsVuiBspHrdParameters( TComVPS* pcVPS );
    94 #endif
    9585#endif
    9686
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.cpp

    r765 r766  
    656656#if H_MV
    657657  m_apcSlicePilot->setVPS(vps); 
    658 #if H_MV_6_PS_0092_17
    659658  // The nuh_layer_id value of the NAL unit containing the PPS that is activated for a layer layerA with nuh_layer_id equal to nuhLayerIdA shall be equal to 0, or nuhLayerIdA, or the nuh_layer_id of a direct or indirect reference layer of layerA.
    660659  assert( pps->getLayerId() == m_layerId || pps->getLayerId( ) == 0 || vps->getInDirectDependencyFlag( m_layerId, pps->getLayerId() ) );   
    661660  // The nuh_layer_id value of the NAL unit containing the SPS that is activated for a layer layerA with nuh_layer_id equal to nuhLayerIdA shall be equal to 0, or nuhLayerIdA, or the nuh_layer_id of a direct or indirect reference layer of layerA.
    662661  assert( sps->getLayerId() == m_layerId || sps->getLayerId( ) == 0 || vps->getInDirectDependencyFlag( m_layerId, sps->getLayerId() ) );
    663 #endif
    664662  sps->inferRepFormat  ( vps , m_layerId );
    665663  sps->inferScalingList( m_parameterSetManagerDecoder.getActiveSPS( sps->getSpsScalingListRefLayerId() ) );
     
    692690
    693691#if H_MV
    694 #if H_MV_FIX_SKIP_PICTURES
    695692Bool TDecTop::xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay, Bool newLayerFlag, Bool& sliceSkippedFlag  )
    696 #else
    697 Bool TDecTop::xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay, Bool newLayerFlag )
    698 #endif
    699693{
    700694  assert( nalu.m_layerId == m_layerId );
     
    754748#endif
    755749
    756 #if H_MV_LAYER_WISE_STARTUP
    757750    xCeckNoClrasOutput();
    758 #endif
    759751    // Skip pictures due to random access
    760752    if (isRandomAccessSkipPicture(iSkipFrame, iPOCLastDisplay))
     
    762754    m_prevSliceSkipped = true;
    763755    m_skippedPOC = m_apcSlicePilot->getPOC();
    764 #if H_MV_FIX_SKIP_PICTURES
    765756      sliceSkippedFlag = true;
    766 #endif
    767757      return false;
    768758    }
     
    772762    m_prevSliceSkipped = true;
    773763    m_skippedPOC = m_apcSlicePilot->getPOC();
    774 #if H_MV_FIX_SKIP_PICTURES
    775764      sliceSkippedFlag = true;
    776 #endif
    777765      return false;
    778766    }
     
    12221210
    12231211#if H_MV
    1224 #if H_MV_FIX_SKIP_PICTURES
    12251212Bool TDecTop::decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay, Bool newLayerFlag, Bool& sliceSkippedFlag )
    1226 #else
    1227 Bool TDecTop::decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay, Bool newLayerFlag)
    1228 #endif
    12291213#else
    12301214Bool TDecTop::decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay)
     
    12711255    case NAL_UNIT_CODED_SLICE_RASL_R:
    12721256#if H_MV
    1273 #if H_MV_FIX_SKIP_PICTURES
    12741257      return xDecodeSlice(nalu, iSkipFrame, iPOCLastDisplay, newLayerFlag, sliceSkippedFlag );
    1275 #else
    1276       return xDecodeSlice(nalu, iSkipFrame, iPOCLastDisplay, newLayerFlag);
    1277 #endif
    12781258#else
    12791259      return xDecodeSlice(nalu, iSkipFrame, iPOCLastDisplay);
     
    13241304    return true;
    13251305  }
    1326 #if H_MV_LAYER_WISE_STARTUP
    13271306  else if ( !m_layerInitilizedFlag[ m_layerId ] ) // start of random access point, m_pocRandomAccess has not been set yet.
    1328 #else
    1329   else if (m_pocRandomAccess == MAX_INT) // start of random access point, m_pocRandomAccess has not been set yet.
    1330 #endif
    13311307  {
    13321308    if (   m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA
     
    13361312    {
    13371313
    1338 #if H_MV_LAYER_WISE_STARTUP
    13391314      if ( xAllRefLayersInitilized() )
    13401315      {
     
    13461321        return true;
    13471322      }
    1348 #else
    1349       // set the POC random access since we need to skip the reordered pictures in the case of CRA/CRANT/BLA/BLANT.
    1350       m_pocRandomAccess = m_apcSlicePilot->getPOC();
    1351 #endif
    13521323    }
    13531324    else if ( m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || m_apcSlicePilot->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP )
    13541325    {
    1355 #if H_MV_LAYER_WISE_STARTUP
    13561326      if ( xAllRefLayersInitilized() )
    13571327      {
     
    13631333        return true;
    13641334      }
    1365 #else
    1366       m_pocRandomAccess = -MAX_INT; // no need to skip the reordered pictures in IDR, they are decodable.
    1367 #endif
    13681335    }
    13691336    else
    13701337    {
    1371 #if H_MV_FIX_SKIP_PICTURES
    13721338      static Bool warningMessage[MAX_NUM_LAYERS];
    13731339      static Bool warningInitFlag = false;
     
    13871353        warningMessage[m_layerId] = false;
    13881354      }
    1389 #else
    1390       static Bool warningMessage = false;
    1391       if(!warningMessage)
    1392       {
    1393         printf("\nWarning: this is not a valid random access point and the data is discarded until the first CRA picture");
    1394         warningMessage = true;
    1395       }
    1396 #endif
    13971355      return true;
    13981356    }
     
    14041362    return true;
    14051363  }
    1406 #if H_MV_LAYER_WISE_STARTUP
    14071364  return !m_layerInitilizedFlag[ getLayerId() ];
    1408 #else
    1409   // if we reach here, then the picture is not skipped.
    1410   return false;
    1411 #endif
    14121365}
    14131366
     
    14511404}
    14521405
    1453 #if H_MV_LAYER_WISE_STARTUP
    14541406Void TDecTop::xCeckNoClrasOutput()
    14551407{
     
    14861438}
    14871439#endif
    1488 #endif
    14891440//! \}
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecTop.h

    r765 r766  
    186186  TComList<TComPic*>      m_cListPic;         //  Dynamic buffer
    187187#if H_MV
    188 #if H_MV_LAYER_WISE_STARTUP
    189188  Bool*                    m_layerInitilizedFlag; // initialization Layers
    190 #endif
    191189  static ParameterSetManagerDecoder m_parameterSetManagerDecoder;  // storage for parameter sets
    192190#else
     
    246244  Void  init();
    247245#if H_MV 
    248 #if H_MV_FIX_SKIP_PICTURES
    249246  Bool  decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay, Bool newLayer, Bool& sliceSkippedFlag );
    250 #else
    251   Bool  decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay, Bool newLayer );
    252 #endif
    253247  Bool  decode(InputNALUnit& nalu, Int& iSkipFrame, Int& iPOCLastDisplay, Bool newLayer );
    254248#else 
     
    268262  TComList<TComPic*>*     getListPic            ()               { return &m_cListPic;  } 
    269263  Void                    setIvPicLists         ( TComPicLists* picLists) { m_ivPicLists = picLists; }
    270 #if H_MV_LAYER_WISE_STARTUP
    271264  Void                    setLayerInitilizedFlags( Bool* val )    { m_layerInitilizedFlag = val; }
    272 #endif
    273 #if H_MV_6_HRD_O0217_13
    274265  TComVPS*                getPrefetchedVPS      ()               { return m_parameterSetManagerDecoder.getPrefetchedVPS( 0 ); }; //Assuming that currently only one VPS is present.
    275 #endif
    276266  Int                     getCurrPoc            ()               { return m_apcSlicePilot->getPOC(); }
    277267  Void                    setLayerId            ( Int layer)     { m_layerId = layer;   }
     
    294284#if H_MV 
    295285  TComPic*  xGetPic( Int layerId, Int poc );
    296 #if H_MV_FIX_SKIP_PICTURES
    297286  Bool      xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay, Bool newLayerFlag, Bool& sliceSkippedFlag ); 
    298 #else
    299   Bool      xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay, Bool newLayerFlag ); 
    300 #endif
    301287  Void      xResetPocInPicBuffer();
    302 #if H_MV_LAYER_WISE_STARTUP
    303288  Void      xCeckNoClrasOutput();
    304289
    305290  Bool      xAllRefLayersInitilized();
    306 #endif
    307291#else
    308292  Bool      xDecodeSlice(InputNALUnit &nalu, Int &iSkipFrame, Int iPOCLastDisplay);
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r765 r766  
    495495  }
    496496  WRITE_FLAG(pcVUI->getVideoSignalTypePresentFlag(),            "video_signal_type_present_flag");
    497 #if H_MV_6_PS_O0118_33
    498497  assert( pcSPS->getLayerId() == 0 || !pcVUI->getVideoSignalTypePresentFlag() );
    499 #endif
    500498  if (pcVUI->getVideoSignalTypePresentFlag())
    501499  {
     
    661659  {
    662660    WRITE_FLAG( pcSPS->getUpdateRepFormatFlag( ) ? 1 : 0 , "update_rep_format_flag" );
    663 #if H_MV_6_PS_REP_FORM_18_19_20   
    664661    if ( pcSPS->getUpdateRepFormatFlag() )
    665662    {
     
    669666  else
    670667  {
    671 #else
    672   }
    673 
    674   if ( pcSPS->getUpdateRepFormatFlag() )
    675   {
    676 #endif
    677668#endif
    678669  WRITE_UVLC( pcSPS->getChromaFormatIdc (),         "chroma_format_idc" );
     
    700691  }
    701692#if H_MV
    702 #if H_MV_6_PS_REP_FORM_18_19_20
    703693  if ( pcSPS->getLayerId() == 0 )
    704 #else
    705   if ( pcSPS->getUpdateRepFormatFlag() )
    706 #endif
    707694  {
    708695#endif
     
    809796  WRITE_FLAG( 0, "sps_extension_flag" );
    810797#else
    811 #if H_MV_6_PSEM_O0142_3
    812798  WRITE_FLAG( pcSPS->getSpsExtensionFlag(), "sps_extension_flag" );
    813799
     
    836822#endif
    837823  }
    838 #else
    839   WRITE_FLAG( 1, "sps_extension_flag" );
    840   codeSPSExtension( pcSPS );
    841 #if !H_3D
    842   WRITE_FLAG( 0, "sps_extension2_flag" );
    843 #else
    844   WRITE_FLAG( 1, "sps_extension2_flag" );
    845   codeSPSExtension2( pcSPS, viewIndex, depthFlag );
    846   WRITE_FLAG( 0, "sps_extension3_flag" );
    847 #endif 
    848 #endif
    849824#endif
    850825}
     
    855830  WRITE_FLAG( pcSPS->getInterViewMvVertConstraintFlag() ? 1 : 0, "inter_view_mv_vert_constraint_flag" );
    856831
    857 #if !H_MV_6_SHVC_O0098_36
    858   WRITE_UVLC( 0, "sps_shvc_reserved_zero_idc" );
    859 #else
    860832  WRITE_UVLC( pcSPS->getNumScaledRefLayerOffsets( ), "num_scaled_ref_layer_offsets" );
    861833
     
    871843    WRITE_SVLC( pcSPS->getScaledRefLayerBottomOffset( j ), "scaled_ref_layer_bottom_offset" );
    872844  }
    873 #endif 
    874845}
    875846#endif
     
    1020991{
    1021992  WRITE_FLAG( pcVPS->getAvcBaseLayerFlag() ? 1 : 0,          "avc_base_layer_flag" );
    1022 #if H_MV_6_PS_O0109_24
    1023993  WRITE_FLAG( pcVPS->getVpsVuiPresentFlag() ? 1 : 0 , "vps_vui_present_flag" );
    1024994  if ( pcVPS->getVpsVuiPresentFlag() )
    1025995  { 
    1026 #endif
    1027996  WRITE_CODE( pcVPS->getVpsVuiOffset( ), 16,                 "vps_vui_offset" );  // TBD
    1028 #if H_MV_6_PS_O0109_24
    1029   }
    1030 #endif
     997  }
    1031998  WRITE_FLAG( pcVPS->getSplittingFlag() ? 1 : 0,             "splitting_flag" );
    1032999 
     
    10751042
    10761043
    1077 #if H_MV_6_PS_O0109_22
    10781044    WRITE_CODE( pcVPS->getViewIdLen( ), 4, "view_id_len" );
    10791045   
     
    10921058      }
    10931059    }
    1094 #else
    1095   // GT spec says: trac #39
    1096   // if ( pcVPS->getNumViews() > 1 ) 
    1097   //   However, this is a bug in the text since, view_id_len_minus1 is needed to parse view_id_val.
    1098   {
    1099     WRITE_CODE( pcVPS->getViewIdLenMinus1( ), 4, "view_id_len_minus1" );
    1100   }
    1101 
    1102   for( Int i = 0; i < pcVPS->getNumViews(); i++ )
    1103   {
    1104     WRITE_CODE( pcVPS->getViewIdVal( i ), pcVPS->getViewIdLenMinus1( ) + 1, "view_id_val[i]" );
    1105   }
    1106 #endif
    11071060
    11081061
     
    11141067    }
    11151068  }
    1116 #if H_MV_6_ILDSD_O0120_26
    11171069  WRITE_FLAG( pcVPS->getVpsSubLayersMaxMinus1PresentFlag( ) ? 1 : 0 , "vps_sub_layers_max_minus1_present_flag" );
    11181070  if ( pcVPS->getVpsSubLayersMaxMinus1PresentFlag() )
     
    11311083    }
    11321084  }
    1133 #endif
    11341085  WRITE_FLAG( pcVPS->getMaxTidRefPresentFlag( ) ? 1 : 0 , "max_tid_ref_present_flag" );
    11351086
     
    11381089    for( Int i = 0; i < pcVPS->getMaxLayersMinus1(); i++ )
    11391090    {
    1140 #if H_MV_6_ILDDS_O0225_30
    11411091      for( Int j = i + 1; j <= pcVPS->getMaxLayersMinus1(); j++ )
    11421092      {
     
    11461096        }
    11471097      }
    1148 #else
    1149       WRITE_CODE( pcVPS->getMaxTidIlRefPicPlus1( i ), 3,       "max_tid_il_ref_pics_plus1[i]" );
    1150 #endif
    11511098    }
    11521099  }
     
    11621109    {   
    11631110      WRITE_CODE( pcVPS->getProfileRefMinus1( i ), 6, "profile_ref_minus1[i]" );
    1164 #if H_MV_6_PS_O0109_23
    11651111      pcVPS->checkProfileRefMinus1( i );     
    1166 #endif
    11671112    }
    11681113    codePTL( pcVPS->getPTL( i ), pcVPS->getVpsProfilePresentFlag( i ), pcVPS->getMaxTLayers() - 1 );
     
    11811126  if( numOutputLayerSets > 1)
    11821127  {
    1183 #if H_MV_6_PS_0109_25
    11841128    WRITE_CODE( pcVPS->getDefaultOneTargetOutputLayerIdc( ), 2, "default_one_target_output_layer_idc" );
    11851129    pcVPS->checkDefaultOneTargetOutputLayerIdc();
    1186 #else
    1187     WRITE_FLAG( pcVPS->getDefaultOneTargetOutputLayerFlag( ) ? 1 : 0, "default_one_target_output_layer_flag" );
    1188 #endif       
    11891130  } 
    11901131
    1191 #if H_MV_6_HRD_O0217_13
    11921132  assert( pcVPS->getOutputLayerFlag(0, 0) == pcVPS->inferOutputLayerFlag( 0, 0 ));
    11931133  assert( pcVPS->getOutputLayerSetIdxMinus1( 0 ) == -1 );
    1194 #endif
    11951134  for( Int i = 1; i < numOutputLayerSets; i++ )
    11961135  {
     
    12031142      }     
    12041143    }
    1205 #if H_MV_6_HRD_O0217_13
    12061144    else
    12071145    { // These inference rules would also be helpful in spec text
     
    12121150      }
    12131151    }
    1214 #endif
    12151152
    12161153    if ( pcVPS->getProfileLevelTierIdxLen()  > 0 )
     
    12201157  }
    12211158
    1222 #if H_MV_6_GEN_0153_28
    12231159  if( pcVPS->getMaxLayersMinus1() > 0 )
    12241160  {
    12251161    WRITE_FLAG( pcVPS->getAltOutputLayerFlag( ) ? 1 : 0 , "alt_output_layer_flag" );
    12261162  }
    1227 #endif
    12281163
    12291164  WRITE_FLAG( pcVPS->getRepFormatIdxPresentFlag( ) ? 1 : 0 , "rep_format_idx_present_flag" );
     
    12351170  for (Int i = 0; i <= pcVPS->getVpsNumRepFormatsMinus1(); i++ )
    12361171  {   
    1237 #if H_MV_6_PS_REP_FORM_18_19_20
    12381172    TComRepFormat* curRepFormat = pcVPS->getRepFormat(i);     
    12391173    TComRepFormat* prevRepFormat = i > 0 ? pcVPS->getRepFormat( i - 1) : NULL;
    12401174    codeRepFormat( i, curRepFormat ,  prevRepFormat);
    1241 #else
    1242     TComRepFormat* pcRepFormat = pcVPS->getRepFormat(i);     
    1243     codeRepFormat( pcRepFormat );
    1244 #endif
    12451175  }
    12461176
     
    12511181      if( pcVPS->getVpsNumRepFormatsMinus1() > 0 )
    12521182      {
    1253 #if H_MV_6_PS_REP_FORM_18_19_20
    12541183        WRITE_CODE( pcVPS->getVpsRepFormatIdx( i ), 8, "vps_rep_format_idx" );
    1255 #else
    1256         WRITE_CODE( pcVPS->getVpsRepFormatIdx( i ), 4, "vps_rep_format_idx" );
    1257 #endif
    12581184      }
    12591185    }
     
    12611187
    12621188  WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" );
    1263 #if H_MV_6_MISC_O0062_31
    12641189  for( Int i = 1; i  <=  pcVPS->getMaxLayersMinus1(); i++ )
    12651190  {
     
    12691194    }
    12701195  }
    1271 #endif
    1272 #if H_MV_6_HRD_O0217_13
    12731196  codeDpbSize( pcVPS );
    1274 #endif
    1275 
    1276 #if !H_MV_6_PS_O0223_29
    1277   WRITE_FLAG( pcVPS->getCrossLayerIrapAlignedFlag( ) ? 1 : 0 , "cross_layer_irap_aligned_flag" );
    1278 #endif
     1197
    12791198  WRITE_UVLC( pcVPS->getDirectDepTypeLenMinus2 ( ),         "direct_dep_type_len_minus2");
    12801199
    1281 #if H_MV_6_PS_O0096_21
    12821200  WRITE_FLAG( pcVPS->getDefaultDirectDependencyFlag( ) ? 1 : 0 , "default_direct_dependency_flag" );
    12831201
     
    13051223    }
    13061224  } 
    1307 #else
    1308     for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    1309     {
    1310       for( Int j = 0; j < i; j++ )
    1311       {
    1312         if (pcVPS->getDirectDependencyFlag( i, j) )
    1313         {       
    1314           assert ( pcVPS->getDirectDependencyType( i, j ) != -1 );
    1315           WRITE_CODE( pcVPS->getDirectDependencyType( i, j ),pcVPS->getDirectDepTypeLenMinus2( ) + 2,  "direct_dependency_type[i][j]" );
    1316         }
    1317       }
    1318     }
    1319 #endif
    13201225    WRITE_FLAG ( 0,                                      "vps_shvc_reserved_zero_flag" );
    1321 #if !H_MV_6_PS_O0109_24
    1322     WRITE_FLAG( pcVPS->getVpsVuiPresentFlag( ) ? 1 : 0 , "vps_vui_present_flag" );
    1323 #endif
    13241226
    13251227    if( pcVPS->getVpsVuiPresentFlag() )
     
    13291231    }     
    13301232}
    1331 #if H_MV_6_PS_O0118_33
    13321233Void TEncCavlc::codeVideoSignalInfo( TComVideoSignalInfo* pcVideoSignalInfo )
    13331234{
     
    13391240  WRITE_CODE( pcVideoSignalInfo->getMatrixCoeffsVps( ), 8, "matrix_coeffs_vps" );
    13401241}
    1341 #endif
    1342 
    1343 #if H_MV_6_HRD_O0217_13
     1242
    13441243Void TEncCavlc::codeDpbSize( TComVPS* vps )
    13451244{
     
    13811280  } 
    13821281}
    1383 #endif
    1384 
    1385 #if H_MV_6_PS_REP_FORM_18_19_20
     1282
    13861283Void TEncCavlc::codeRepFormat( Int i, TComRepFormat* pcRepFormat, TComRepFormat* pcPrevRepFormat )
    1387 #else
    1388 Void TEncCavlc::codeRepFormat( TComRepFormat* pcRepFormat )
    1389 #endif
    13901284{
    13911285  assert( pcRepFormat );
    13921286
    1393 #if H_MV_6_PS_REP_FORM_18_19_20
    13941287  WRITE_CODE( pcRepFormat->getPicWidthVpsInLumaSamples( ),  16, "pic_width_vps_in_luma_samples" );
    13951288  WRITE_CODE( pcRepFormat->getPicHeightVpsInLumaSamples( ), 16, "pic_height_vps_in_luma_samples" );
     
    14001293  if ( pcRepFormat->getChromaAndBitDepthVpsPresentFlag() )
    14011294  { 
    1402 #endif
    14031295  WRITE_CODE( pcRepFormat->getChromaFormatVpsIdc( ), 2, "chroma_format_vps_idc" );
    14041296
     
    14071299    WRITE_FLAG( pcRepFormat->getSeparateColourPlaneVpsFlag( ) ? 1 : 0 , "separate_colour_plane_vps_flag" );
    14081300  }
    1409 #if !H_MV_6_PS_REP_FORM_18_19_20
    1410   WRITE_CODE( pcRepFormat->getPicWidthVpsInLumaSamples( ),  16, "pic_width_vps_in_luma_samples" );
    1411   WRITE_CODE( pcRepFormat->getPicHeightVpsInLumaSamples( ), 16, "pic_height_vps_in_luma_samples" );
    1412 #endif
    14131301  WRITE_CODE( pcRepFormat->getBitDepthVpsLumaMinus8( ),      4, "bit_depth_vps_luma_minus8" );
    14141302  WRITE_CODE( pcRepFormat->getBitDepthVpsChromaMinus8( ),    4, "bit_depth_vps_chroma_minus8" );
    1415 #if H_MV_6_PS_REP_FORM_18_19_20
    14161303  }
    14171304  else
     
    14191306    pcRepFormat->inferChromaAndBitDepth(pcPrevRepFormat, true );
    14201307  }
    1421 #endif
    14221308}
    14231309
     
    14301316  assert( pcVPSVUI );
    14311317
    1432 #if H_MV_6_PS_O0223_29
    14331318  WRITE_FLAG( pcVPSVUI->getCrossLayerPicTypeAlignedFlag( ) ? 1 : 0 , "cross_layer_pic_type_aligned_flag" );
    14341319  if ( !pcVPSVUI->getCrossLayerPicTypeAlignedFlag() )
     
    14361321    WRITE_FLAG( pcVPSVUI->getCrossLayerIrapAlignedFlag( ) ? 1 : 0 , "cross_layer_irap_aligned_flag" );
    14371322  }
    1438 #endif
    14391323
    14401324  WRITE_FLAG( pcVPSVUI->getBitRatePresentVpsFlag( ) ? 1 : 0 , "bit_rate_present_vps_flag" );
     
    14681352  }
    14691353
    1470 #if H_MV_6_O0226_37
    14711354  WRITE_FLAG( pcVPSVUI->getTilesNotInUseFlag( ) ? 1 : 0 , "tiles_not_in_use_flag" );
    14721355  if( !pcVPSVUI->getTilesNotInUseFlag() )
     
    15031386    }
    15041387  }
    1505 #else
    1506   for( Int i = 1; i  <=  pcVPS->getMaxLayersMinus1(); i++ )
    1507   {
    1508     for( Int  j = 0; j < pcVPS->getNumDirectRefLayers( pcVPS->getLayerIdInNuh( i ) ); j++ )
    1509     {
    1510       WRITE_FLAG( pcVPSVUI->getTileBoundariesAlignedFlag( i, j ) ? 1 : 0 , "tile_boundaries_aligned_flag" );
    1511     }
    1512   }
    1513 #endif
    15141388  WRITE_FLAG( pcVPSVUI->getIlpRestrictedRefLayersFlag( ) ? 1 : 0 , "ilp_restricted_ref_layers_flag" );
    15151389
     
    15321406    }
    15331407  }
    1534 #if H_MV_6_PS_O0118_33
    15351408  WRITE_FLAG( pcVPSVUI->getVideoSignalInfoIdxPresentFlag( ) ? 1 : 0 , "video_signal_info_idx_present_flag" );
    15361409  if( pcVPSVUI->getVideoSignalInfoIdxPresentFlag() )
     
    15651438    }
    15661439  }
    1567 #endif
    1568 #if H_MV_6_HRD_O0164_15
    15691440  WRITE_FLAG( pcVPSVUI->getVpsVuiBspHrdPresentFlag( ) ? 1 : 0 , "vps_vui_bsp_hrd_present_flag" );
    15701441  if ( pcVPSVUI->getVpsVuiBspHrdPresentFlag( ) )
     
    15721443    codeVpsVuiBspHrdParameters( pcVPS );
    15731444  }
    1574 #endif
    1575 }
    1576 #if H_MV_6_HRD_O0164_15
     1445}
    15771446Void TEncCavlc::codeVpsVuiBspHrdParameters( TComVPS* pcVPS )
    15781447{
     
    16311500  } 
    16321501
    1633 #endif
    16341502
    16351503#endif
     
    17831651#if H_MV   
    17841652    Int esb = 0;  //Don't use i, otherwise will shadow something below
    1785 #if !H_MV_6_RALS_O0149_11
     1653
     1654    if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
     1655    {
     1656      esb++;
     1657      WRITE_FLAG( pcSlice->getDiscardableFlag( ) ? 1 : 0 , "discardable_flag" );
     1658    }
     1659
     1660    if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
     1661    {
     1662      esb++;
     1663      WRITE_FLAG( pcSlice->getCrossLayerBlaFlag( ) ? 1 : 0 , "cross_layer_bla_flag" );
     1664    }
     1665    pcSlice->checkCrossLayerBlaFlag( );
     1666
    17861667    if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    17871668    {
     
    17891670      WRITE_FLAG( pcSlice->getPocResetFlag( ) ? 1 : 0 , "poc_reset_flag" );
    17901671    }
    1791 #endif
    1792 
    1793     if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    1794     {
    1795       esb++;
    1796       WRITE_FLAG( pcSlice->getDiscardableFlag( ) ? 1 : 0 , "discardable_flag" );
    1797     }
    1798 
    1799 #if H_MV_6_RALS_O0149_11
    1800     if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    1801     {
    1802       esb++;
    1803       WRITE_FLAG( pcSlice->getCrossLayerBlaFlag( ) ? 1 : 0 , "cross_layer_bla_flag" );
    1804     }
    1805     pcSlice->checkCrossLayerBlaFlag( );
    1806 
    1807     if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    1808     {
    1809       esb++;
    1810       WRITE_FLAG( pcSlice->getPocResetFlag( ) ? 1 : 0 , "poc_reset_flag" );
    1811     }
    1812 #endif
    18131672
    18141673
     
    18351694    //   colour_plane_id                                      u(2)
    18361695
    1837 #if H_MV_6_POC_31_35_38
    18381696    if ( (pcSlice->getLayerId() > 0 && !vps->getPocLsbNotPresentFlag( pcSlice->getLayerIdInVps())) || !pcSlice->getIdrPicFlag() )
    18391697    {
     
    18411699      WRITE_CODE( picOrderCntLSB, pcSlice->getSPS()->getBitsForPOC(), "slice_pic_order_cnt_lsb");
    18421700    }
    1843 #endif
    18441701    if( !pcSlice->getIdrPicFlag() )
    18451702    {
    1846 #if !H_MV_6_POC_31_35_38
    1847       Int picOrderCntLSB = (pcSlice->getPOC()-pcSlice->getLastIDR()+(1<<pcSlice->getSPS()->getBitsForPOC())) & ((1<<pcSlice->getSPS()->getBitsForPOC())-1);
    1848       WRITE_CODE( picOrderCntLSB, pcSlice->getSPS()->getBitsForPOC(), "pic_order_cnt_lsb");
    1849 #endif
    18501703      TComReferencePictureSet* rps = pcSlice->getRPS();
    18511704     
     
    19611814    }
    19621815#if H_MV
    1963 #if H_MV_6_ILDDS_ILREFPICS_27_34
    19641816    Bool interLayerPredLayerIdcPresentFlag = false;
    1965 #endif
    19661817    Int layerId = pcSlice->getLayerId();
    19671818    if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )
     
    19761827        if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )
    19771828        {       
    1978 #if H_MV_6_ILDDS_ILREFPICS_27_34
    19791829          interLayerPredLayerIdcPresentFlag = true;
    1980 #endif
    19811830          for( Int idx = 0; idx < pcSlice->getNumActiveRefLayerPics(); idx++ )   
    19821831          {
     
    19861835      } 
    19871836    }
    1988 #if H_MV_6_ILDDS_ILREFPICS_27_34
    19891837    if ( !interLayerPredLayerIdcPresentFlag )
    19901838    {
     
    19941842      }
    19951843    }
    1996 #endif
    19971844#endif
    19981845    if(pcSlice->getSPS()->getUseSAO())
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCavlc.h

    r758 r766  
    8686#if H_MV
    8787  Void  codeVPSExtension       ( TComVPS *pcVPS );
    88 #if H_MV_6_PS_O0118_33
    8988  Void  codeVideoSignalInfo     ( TComVideoSignalInfo* pcVideoSignalInfo );
    90 #endif
    9189
    92 #if H_MV_6_HRD_O0217_13
    9390  Void  codeDpbSize   ( TComVPS* vps );
    94 #endif
    9591
    96 #if H_MV_6_PS_REP_FORM_18_19_20
    9792  Void  codeRepFormat           ( Int i, TComRepFormat* curRepFormat, TComRepFormat* prevRepFormat );
    98 #else
    99   Void  codeRepFormat          ( TComRepFormat* pcRepFormat );
    100 #endif
    10193  Void  codeVPSVUI             ( TComVPS* pcVPS );
    102 #if H_MV_6_HRD_O0164_15
    10394  Void  codeVpsVuiBspHrdParameters( TComVPS* pcVPS );
    104 #endif
    10595#endif
    10696  Void  codeVUI                 ( TComVUI *pcVUI, TComSPS* pcSPS );
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r765 r766  
    664664    refPicListModification->setRefPicListModificationFlagL1(0);
    665665#if H_MV
    666 #if H_MV_6_RALS_O0149_11
    667666    if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > 0 )
    668 #else
    669     if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > 1 )
    670 #endif
    671667    {
    672668      // Some more sophisticated algorithm to determine discardable_flag might be added here.
     
    678674    GOPEntry gopEntry      = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid );     
    679675   
    680 #if H_MV_6_ILDDS_ILREFPICS_27_34
    681676    Bool interLayerPredLayerIdcPresentFlag = false;
    682 #endif
    683677    if ( getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && numDirectRefLayers > 0 )
    684678    {         
     
    692686        if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) )
    693687        {       
    694 #if H_MV_6_ILDDS_ILREFPICS_27_34
    695688          interLayerPredLayerIdcPresentFlag = true;
    696 #endif
    697689          for (Int i = 0; i < gopEntry.m_numActiveRefLayerPics; i++ )
    698690          {
     
    702694      }
    703695    }
    704 #if H_MV_6_ILDDS_ILREFPICS_27_34
    705696    if ( !interLayerPredLayerIdcPresentFlag )
    706697    {
     
    710701      }
    711702    }
    712 #endif
    713703
    714704
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncTop.cpp

    r765 r766  
    723723
    724724#if H_MV 
    725 #if H_MV_6_PS_REP_FORM_18_19_20
    726725  m_cSPS.setUpdateRepFormatFlag           ( false );   
    727 #else
    728   m_cSPS.setUpdateRepFormatFlag           ( m_layerId == 0 );   
    729 #endif
    730726  m_cSPS.setSpsInferScalingListFlag       ( m_layerId > 0 && m_cVPS->getInDirectDependencyFlag( getLayerIdInVps(), 0 ) );
    731727  m_cSPS.setSpsScalingListRefLayerId      ( 0              );
    732 #if H_MV_6_PSEM_O0142_3
    733728  m_cSPS.setSpsExtensionFlag              ( true );
    734729  m_cSPS.setSpsExtensionTypeFlag          ( PS_EX_T_MV ,true );
    735730#if H_3D
    736731  m_cSPS.setSpsExtensionTypeFlag          ( PS_EX_T_3D ,true );
    737 #endif
    738732#endif
    739733#endif
     
    823817    pcVUI->setOverscanInfoPresentFlag(getOverscanInfoPresentFlag());
    824818    pcVUI->setOverscanAppropriateFlag(getOverscanAppropriateFlag());
    825 #if H_MV_6_PS_O0118_33
    826819    pcVUI->setVideoSignalTypePresentFlag(getVideoSignalTypePresentFlag() && getLayerId() == 0 );
    827 #else
    828     pcVUI->setVideoSignalTypePresentFlag(getVideoSignalTypePresentFlag());
    829 #endif
    830820    pcVUI->setVideoFormat(getVideoFormat());
    831821    pcVUI->setVideoFullRangeFlag(getVideoFullRangeFlag());
     
    945935  m_cPPS.setOutputFlagPresentFlag( false );
    946936#if H_MV
    947 #if H_MV_6_RALS_O0149_11
    948937  m_cPPS.setNumExtraSliceHeaderBits( 3 );
    949 #else
    950   m_cPPS.setNumExtraSliceHeaderBits( 2 );
    951 #endif
    952938#endif
    953939  m_cPPS.setSignHideFlag(getSignHideFlag());
Note: See TracChangeset for help on using the changeset viewer.