Changeset 973 in 3DVCSoftware for branches/HTM-11.1-dev0/source/App


Ignore:
Timestamp:
6 Jul 2014, 04:44:14 (11 years ago)
Author:
tech
Message:

Cleanup part 7.

Location:
branches/HTM-11.1-dev0/source/App
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-11.1-dev0/source/App/TAppDecoder/TAppDecTop.cpp

    r964 r973  
    7171#endif
    7272
    73 #if H_MV_HLS_7_VPS_P0300_27
     73#if H_MV
    7474    m_markedForOutput = false;
    7575#endif
     
    161161  Int  pocLastPic        = -MAX_INT;   
    162162
    163 #if H_MV_HLS_7_VPS_P0300_27
    164163  Int  layerIdLastPic    = -MAX_INT;
    165 #endif
    166164  Int  layerIdCurrPic    = 0;
    167165
     
    216214          || (nalu.m_nalUnitType == NAL_UNIT_VPS && nalu.m_layerId > 0)           
    217215          || (nalu.m_nalUnitType == NAL_UNIT_EOB && nalu.m_layerId > 0)   
    218 #if H_MV_HLS_8_MIS_Q0177_47
    219216          || (nalu.m_nalUnitType == NAL_UNIT_EOS && nalu.m_layerId > 0)   
    220 #endif
    221217         )
    222218      {
     
    237233        // - nalu.isSlice() == true     
    238234
    239 #if H_MV_HLS_7_VPS_P0300_27
    240235        if ( nalu.m_nalUnitType == NAL_UNIT_VPS )
    241236        {
     
    244239          {
    245240            TComVPS* vps = m_vps;
    246 #else
    247         // Update TargetDecLayerIdList only when not specified by layer id file, specification by file might actually out of conformance.
    248         if (nalu.m_nalUnitType == NAL_UNIT_VPS && m_targetDecLayerIdSetFileEmpty )
    249         {
    250           TComVPS* vps = m_tDecTop[decIdx]->getPrefetchedVPS();
    251 #endif
    252241          if ( m_targetOptLayerSetIdx == -1 )
    253242          {
     
    255244            m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1();
    256245          }
    257 #if H_MV_HLS_8_HRD_Q0102_08
     246
    258247          for (Int dI = 0; dI < m_numDecoders; dI++ )
    259248          {
    260249            m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
    261250          }
    262 #endif
    263251
    264252          if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() )
     
    269257          m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
    270258        }
    271 #if H_MV_HLS_7_VPS_P0300_27
    272       }
    273 #endif
     259      }
    274260#if H_3D
    275261        if (nalu.m_nalUnitType == NAL_UNIT_VPS )
     
    289275        if ( bNewPicture || !bitstreamFile )
    290276        {
    291 #if H_MV_HLS_7_VPS_P0300_27
    292277          layerIdLastPic    = layerIdCurrPic;
    293 #endif
    294278          layerIdCurrPic    = nalu.m_layerId;
    295279          pocLastPic        = pocCurrPic;
     
    340324        assert( decIdxLastPic != -1 );
    341325        m_tDecTop[decIdxLastPic]->endPicDecoding(poc, pcListPic, m_targetDecLayerIdSet );
    342 #if H_MV_HLS_7_VPS_P0300_27
    343326        xMarkForOutput( allLayersDecoded, poc, layerIdLastPic );
    344 #endif
    345327#else
    346328        m_cTDecTop.executeLoopFilters(poc, pcListPic);
     
    799781        }
    800782        pcPic->setOutputMark(false);
    801 #if H_MV_HLS_7_VPS_P0300_27
     783#if H_MV
    802784        pcPic->setPicOutputFlag(false);
    803785#endif
     
    985967        }
    986968        pcPic->setOutputMark(false);
    987 #if H_MV_HLS_7_VPS_P0300_27
     969#if H_MV
    988970        pcPic->setPicOutputFlag(false);
    989971#endif
     
    10611043    m_tDecTop[ decIdx ]->setIvPicLists( &m_ivPicLists );
    10621044    m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags );
    1063 #if    H_MV_HLS_8_HRD_Q0102_08
    10641045    m_tDecTop[ decIdx ]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );   
    1065 #endif
    10661046
    10671047#if H_3D
     
    10991079}
    11001080
    1101 
    1102 #if H_MV_HLS_7_VPS_P0300_27
    11031081Void TAppDecTop::xMarkForOutput( Bool allLayersDecoded, Int pocLastPic, Int layerIdLastPic )
    11041082
     
    11521130  }
    11531131}
    1154 #endif
     1132
     1133Void TAppDecTop::xMarkAltOutPic( Int targetOutputLayer, Int pocLastPic )
     1134{
     1135  Int optLayerIdxInVps = m_vps->getLayerIdInNuh( targetOutputLayer );
     1136  Int highestNuhLayerId = -1;
     1137  TComPic* picWithHighestNuhLayerId = NULL;
     1138  for (Int dIdx = 0; dIdx < m_numDecoders; dIdx++)
     1139  {
     1140    Int curLayerId = m_tDecTop[dIdx]->getLayerId();
     1141    Int curLayerIdxInVps = m_vps->getLayerIdInNuh( curLayerId  );
     1142    if ( m_vps->getInDirectDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) )
     1143    {
     1144      TComPic* curPic = m_ivPicLists.getPic( curLayerId, pocLastPic );
     1145      if (curPic != NULL)
     1146      {
     1147        if (curPic->getReconMark() && curPic->getPicOutputFlag() )
     1148        {
     1149          curPic->setOutputMark   ( false );
     1150          curPic->setPicOutputFlag( false );
     1151          if ( curLayerId > highestNuhLayerId)
     1152          {
     1153            highestNuhLayerId = curLayerId ;
     1154            picWithHighestNuhLayerId = curPic;
     1155          }           
     1156        }
     1157      }
     1158    }
     1159  }
     1160  if ( picWithHighestNuhLayerId != NULL )
     1161  {
     1162    picWithHighestNuhLayerId->setPicOutputFlag(true);
     1163    picWithHighestNuhLayerId->setOutputMark   (true);
     1164  }
     1165}
     1166
    11551167#endif
    11561168//! \}
  • branches/HTM-11.1-dev0/source/App/TAppDecoder/TAppDecTop.h

    r964 r973  
    6868  TComPicLists                    m_ivPicLists;                                ///< picture buffers of decoder instances
    6969  Bool                            m_layerInitilizedFlags[ MAX_NUM_LAYER_IDS ]; ///< for layerwise startup
    70 #if H_MV_HLS_7_VPS_P0300_27
    7170  TComVPS*                        m_vps;                                ///< active VPS
    72 #endif
    7371#else
    7472  TDecTop                         m_cTDecTop;                     ///< decoder class
     
    7977  Int                             m_pocLastDisplay      [ MAX_NUM_LAYERS ]; ///< last POC in display order
    8078  Bool                            m_reconOpen           [ MAX_NUM_LAYERS ]; ///< reconstruction file opened
     79  Bool                            m_markedForOutput;
    8180#else
    8281  Int                             m_iPOCLastDisplay;              ///< last POC in display order
    8382#endif
    84 #if H_MV_HLS_7_VPS_P0300_27
    85   Bool                            m_markedForOutput;
    86 #endif
    87 
    8883
    8984#if H_3D
     
    107102  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic, Int layerId, Int tId ); ///< write YUV to file
    108103
    109 #if H_MV_HLS_7_VPS_P0300_27
    110104  Void  xMarkForOutput   ( Bool allLayersDecoded, Int pocLastPic, Int layerIdLastPic );         
    111   Void  xMarkAltOutPic    ( Int targetOutputLayer, Int pocLastPic )
    112   {
    113     Int optLayerIdxInVps = m_vps->getLayerIdInNuh( targetOutputLayer );
    114     Int highestNuhLayerId = -1;
    115     TComPic* picWithHighestNuhLayerId = NULL;
    116     for (Int dIdx = 0; dIdx < m_numDecoders; dIdx++)
    117     {
    118       Int curLayerId = m_tDecTop[dIdx]->getLayerId();
    119       Int curLayerIdxInVps = m_vps->getLayerIdInNuh( curLayerId  );
    120       if ( m_vps->getInDirectDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) )
    121       {
    122         TComPic* curPic = m_ivPicLists.getPic( curLayerId, pocLastPic );
    123         if (curPic != NULL)
    124         {
    125           if (curPic->getReconMark() && curPic->getPicOutputFlag() )
    126           {
    127             curPic->setOutputMark   ( false );
    128             curPic->setPicOutputFlag( false );
    129             if ( curLayerId > highestNuhLayerId)
    130             {
    131               highestNuhLayerId = curLayerId ;
    132               picWithHighestNuhLayerId = curPic;
    133             }           
    134           }
    135         }
    136       }
    137     }
    138     if ( picWithHighestNuhLayerId != NULL )
    139     {
    140       picWithHighestNuhLayerId->setPicOutputFlag(true);
    141       picWithHighestNuhLayerId->setOutputMark   (true);
    142     }
    143   }
    144 #endif
     105  Void  xMarkAltOutPic    ( Int targetOutputLayer, Int pocLastPic );
    145106
    146107  Void  xFlushOutput      ( TComList<TComPic*>* pcListPic, Int layerId ); ///< flush all remaining decoded pictures to file
  • branches/HTM-11.1-dev0/source/App/TAppEncoder/TAppEncCfg.cpp

    r969 r973  
    393393  ("LayerIdsInAddOutputLayerSet_%d", m_layerIdsInAddOutputLayerSet      , std::vector<Int>(0,0), MAX_VPS_ADD_OUTPUT_LAYER_SETS, "Indices in VPS of output layers in additional output layer set") 
    394394  ("LayerIdsInDefOutputLayerSet_%d", m_layerIdsInDefOutputLayerSet      , std::vector<Int>(0,0), MAX_VPS_OP_SETS_PLUS1, "Indices in VPS of output layers in layer set") 
    395 #if H_MV_HLS_7_VPS_P0300_27
    396395  ("AltOutputLayerFlag",    m_altOutputLayerFlag , std::vector<Bool>(1,0), "Alt output layer flag")
    397 #endif
    398396  ("ProfileLevelTierIdx",   m_profileLevelTierIdx, std::vector<Int>(1,0), "Indices to profile level tier")
    399397 
     
    10561054  xResizeVector( m_wppInUseFlag );
    10571055
    1058 #if H_MV_HLS_7_VPS_P0300_27
    10591056  for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++)
    10601057  {   
    10611058    m_altOutputLayerFlag.push_back( false );     
    10621059  }
    1063 #endif
    10641060#else
    10651061  m_aidQP = new Int[ m_framesToBeEncoded + m_iGOPSize + 1 ];
     
    14631459  }
    14641460
    1465 #if H_MV_HLS_7_VPS_P0300_27
    14661461  xConfirmPara( m_altOutputLayerFlag.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" );
    1467 #endif
    14681462  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" );
    14691463
  • branches/HTM-11.1-dev0/source/App/TAppEncoder/TAppEncCfg.h

    r969 r973  
    9494  std::vector< std::vector<Int> > m_layerIdsInDefOutputLayerSet; ///< Indices in vps of output layers in layer sets
    9595  std::vector<Int>       m_profileLevelTierIdx;               ///< Indices of of profile level tier
    96   #if H_MV_HLS_7_VPS_P0300_27
    9796  std::vector<Bool>      m_altOutputLayerFlag;                ///< Alt output layer flag
    98 #endif
    9997
    10098  // Dependencies
  • branches/HTM-11.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r971 r973  
    12801280
    12811281  Int  defaultDirectDependencyType = -1;
    1282 #if MV_FIX_DEP_TYPES
    12831282  Bool defaultDirectDependencyFlag = false;
    1284 #else
    1285   Bool defaultDirectDependencyFlag = true;
    1286 #endif
    12871283
    12881284  for( Int depLayer = 1; depLayer < m_numberOfLayers; depLayer++ )
     
    13031299      {
    13041300        defaultDirectDependencyType = curDirectDependencyType;
    1305 #if MV_FIX_DEP_TYPES
    13061301        defaultDirectDependencyFlag = true;
    1307 #endif
    13081302      }
    13091303     
     
    16441638      vps.setProfileLevelTierIdx( olsIdx, m_profileLevelTierIdx[ olsIdx ] );
    16451639    }
    1646 #if H_MV_HLS_7_VPS_P0300_27
     1640   
    16471641    if ( vps.getNumOutputLayersInOutputLayerSet( olsIdx ) == 1 &&
    16481642        vps.getNumDirectRefLayers( vps.getOlsHighestOutputLayerId( olsIdx ) ) )
     
    16581652      }
    16591653    }
    1660 #else
    1661     vps.setAltOutputLayerFlag( olsIdx , false);     
    1662 #endif
    16631654  }
    16641655}
  • branches/HTM-11.1-dev0/source/App/TAppEncoder/TAppEncTop.h

    r964 r973  
    7575
    7676  TComPicLists               m_ivPicLists;                  ///< picture buffers of encoder instances
    77 #if H_MV_HLS_8
     77#if H_MV
    7878  TComVPS*                   m_vps;                         ///< vps
    7979#else
Note: See TracChangeset for help on using the changeset viewer.