Ignore:
Timestamp:
3 Jun 2015, 18:23:49 (10 years ago)
Author:
rwth
Message:
  • make sure that DLT is initialized at encoder
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev1-RWTH/source/App/TAppEncoder/TAppEncTop.cpp

    r1237 r1249  
    9292
    9393#if NH_3D_DLT
    94   TComDLT dlt = m_dlt;
     94  TComDLT dlt = TComDLT();
    9595#endif
    9696
     
    150150#endif
    151151#if NH_3D_DLT
    152   xDeriveDltArray          ( vps, dlt );
     152  xDeriveDltArray          ( vps, &dlt );
    153153#endif
    154154  if ( m_targetEncLayerIdList.size() == 0 )
     
    23872387
    23882388#if NH_3D_DLT
    2389 Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt )
     2389Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT* dlt )
    23902390{
    23912391  Int  iNumDepthViews  = 0;
     
    24012401    }
    24022402
    2403     dlt.setUseDLTFlag( layer , isDepth && m_useDLT );
    2404     if( dlt.getUseDLTFlag( layer ) )
    2405     {
    2406       xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, &dlt);
    2407       bDltPresentFlag = bDltPresentFlag || dlt.getUseDLTFlag(layer);
    2408       dlt.setInterViewDltPredEnableFlag(layer, (dlt.getUseDLTFlag(layer) && (layer>1)));
     2403    dlt->setUseDLTFlag( layer , isDepth && m_useDLT );
     2404    if( dlt->getUseDLTFlag( layer ) )
     2405    {
     2406      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, dlt);
     2407      bDltPresentFlag = bDltPresentFlag || dlt->getUseDLTFlag(layer);
     2408      dlt->setInterViewDltPredEnableFlag(layer, (dlt->getUseDLTFlag(layer) && (layer>1)));
    24092409     
    24102410      // ----------------------------- determine whether to use bit-map -----------------------------
     
    24212421      UInt uiNumDepthValues_coded = 0;
    24222422     
    2423       uiNumDepthValues_coded = dlt.getNumDepthValues(layer);
     2423      uiNumDepthValues_coded = dlt->getNumDepthValues(layer);
    24242424      for( UInt ui = 0; ui<uiNumDepthValues_coded; ui++ )
    24252425      {
    2426         aiIdx2DepthValue_coded[ui] = dlt.idx2DepthValue(layer, ui);
     2426        aiIdx2DepthValue_coded[ui] = dlt->idx2DepthValue(layer, ui);
    24272427      }
    24282428     
    2429       if( dlt.getInterViewDltPredEnableFlag( layer ) )
     2429      if( dlt->getInterViewDltPredEnableFlag( layer ) )
    24302430      {
    24312431        AOF( vps.getDepthId( 1 ) == 1 );
    24322432        AOF( layer > 1 );
    24332433        // assumes ref layer id to be 1
    2434         std::vector<Int> piRefDLT = dlt.idx2DepthValue( 1 );
    2435         UInt uiRefNum = dlt.getNumDepthValues( 1 );
    2436         dlt.getDeltaDLT(layer, piRefDLT, uiRefNum, aiIdx2DepthValue_coded, uiNumDepthValues_coded);
     2434        std::vector<Int> piRefDLT = dlt->idx2DepthValue( 1 );
     2435        UInt uiRefNum = dlt->getNumDepthValues( 1 );
     2436        dlt->getDeltaDLT(layer, piRefDLT, uiRefNum, aiIdx2DepthValue_coded, uiNumDepthValues_coded);
    24372437      }
    24382438     
     
    24832483      bDltBitMapRepFlag = (uiNumBitsBitMap > uiNumBitsNonBitMap) ? false : true;
    24842484     
    2485       dlt.setUseBitmapRep(layer, bDltBitMapRepFlag);
    2486     }
    2487   }
    2488 
    2489   dlt.setDltPresentFlag( bDltPresentFlag );
    2490   dlt.setNumDepthViews ( iNumDepthViews  );
    2491   dlt.setDepthViewBitDepth( m_inputBitDepth[CHANNEL_TYPE_LUMA] );
     2485      dlt->setUseBitmapRep(layer, bDltBitMapRepFlag);
     2486    }
     2487  }
     2488
     2489  dlt->setDltPresentFlag( bDltPresentFlag );
     2490  dlt->setNumDepthViews ( iNumDepthViews  );
     2491  dlt->setDepthViewBitDepth( m_inputBitDepth[CHANNEL_TYPE_LUMA] );
    24922492}
    24932493#endif
Note: See TracChangeset for help on using the changeset viewer.