Changeset 1413 in 3DVCSoftware for trunk/source/Lib/TLibRenderer


Ignore:
Timestamp:
11 Jul 2018, 15:19:49 (7 years ago)
Author:
tech
Message:

Merged HTM-16.2-dev@1412

Location:
trunk/source/Lib/TLibRenderer
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibRenderer/TRenModel.cpp

    r1405 r1413  
    418418
    419419#if H_3D_VSO_EARLY_SKIP
    420 #if RM_INIT_FIX
    421420  m_apcRenModels[iModelNum]->create( iMode ,m_iWidth, m_iHeight, m_iShiftPrec, m_aaaiSubPelShiftLut, m_iHoleMargin,  bUseOrgRef, ( iMode != 2 )  ? BLEND_NONE : iBlendMode , m_bLimOutput, m_bEarlySkip );
     421
    422422#else
    423   m_apcRenModels[iModelNum]->create( iMode ,m_iWidth, m_iHeight, m_iShiftPrec, m_aaaiSubPelShiftLut, m_iHoleMargin,  bUseOrgRef, iBlendMode, m_bLimOutput, m_bEarlySkip );
    424 #endif
    425 
    426 #else
    427 
    428 #if RM_INIT_FIX
    429423  m_apcRenModels[iModelNum]->create( iMode ,m_iWidth, m_iHeight, m_iShiftPrec, m_aaaiSubPelShiftLut, m_iHoleMargin,  bUseOrgRef, ( iMode != 2 )  ? BLEND_NONE : iBlendMode, m_bLimOutput );
    430 #else
    431   m_apcRenModels[iModelNum]->create( iMode ,m_iWidth, m_iHeight, m_iShiftPrec, m_aaaiSubPelShiftLut, m_iHoleMargin,  bUseOrgRef, iBlendMode, m_bLimOutput );
    432 #endif
    433424#endif
    434425
     
    507498
    508499  // Render
    509 #if !RM_FIX_SETUP
    510   m_apcRenModels[iModelNum]->setupLutAndRef(  pcPicYuvRefView, ppiShiftLutLeft, ppiBaseShiftLutLeft, ppiShiftLutRight, ppiBaseShiftLutRight, iDistToLeft, bAnyRefFromOrg );
    511 
    512   // Setup with actual data 
    513     for (Int iBaseViewIdx = 0; iBaseViewIdx < m_iNumOfBaseViews; iBaseViewIdx++ )
    514     {
    515       if ( m_aaeBaseViewPosInModel[iBaseViewIdx][iModelNum] != VIEWPOS_INVALID )
    516       {
    517         m_apcRenModels[iModelNum]->setLRView(
    518           m_aaeBaseViewPosInModel[iBaseViewIdx][iModelNum],
    519           m_aapiCurVideoPel      [iBaseViewIdx],
    520           m_aaiCurVideoStrides   [iBaseViewIdx],
    521           m_apiCurDepthPel       [iBaseViewIdx],
    522           m_aiCurDepthStrides    [iBaseViewIdx]
    523         );
    524       }
    525     }
    526   // Render initial state
    527   AOT( m_bLimOutput && m_aaeBaseViewPosInModel[ iEncViewSIdx ][iModelNum] == VIEWPOS_INVALID );
    528   m_apcRenModels[iModelNum]->setupInitialState( m_bLimOutput ? m_aaeBaseViewPosInModel[ iEncViewSIdx ][iModelNum] : VIEWPOS_INVALID ); 
    529 
    530 #else
    531500  m_apcRenModels[iModelNum]->setupLut(  ppiShiftLutLeft, ppiBaseShiftLutLeft, ppiShiftLutRight, ppiBaseShiftLutRight, iDistToLeft );
    532501 
     
    587556    m_apcRenModels[iModelNum]->setLimOutStruct( (curViewPosInModel == VIEWPOS_RIGHT)  ? VIEWPOS_LEFT : VIEWPOS_RIGHT );
    588557  } 
    589 #endif
    590558}
    591559
  • trunk/source/Lib/TLibRenderer/TRenSingleModel.cpp

    r1405 r1413  
    246246
    247247
    248 #if !RM_FIX_SETUP
    249 template <BlenMod iBM, Bool bBitInc> Void
    250   TRenSingleModelC<iBM,bBitInc>::setupInitialState( Int curViewPosInModel )
    251 {
    252   xRenderAll( );
    253 
    254   if ( m_bLimOutput )
    255   {
    256     AOT( curViewPosInModel == VIEWPOS_INVALID )
    257     xSetLimOutStruct( (curViewPosInModel == VIEWPOS_RIGHT)  ? VIEWPOS_LEFT : VIEWPOS_RIGHT );
    258   }
    259 }
    260 #endif
    261 
    262 #if RM_FIX_SETUP
    263248template <BlenMod iBM, Bool bBitInc> Void
    264249  TRenSingleModelC<iBM,bBitInc>::setupRefView      ( TComPicYuv* pcOrgVideo )
     
    287272template <BlenMod iBM, Bool bBitInc> Void
    288273  TRenSingleModelC<iBM,bBitInc>::setupLut( Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight,  Int** ppiBaseShiftLutRight,  Int iDistToLeft )
    289 #else
    290 template <BlenMod iBM, Bool bBitInc> Void
    291   TRenSingleModelC<iBM,bBitInc>::setupLutAndRef( TComPicYuv* pcOrgVideo, Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight,  Int** ppiBaseShiftLutRight,  Int iDistToLeft, Bool bRenderRef )
    292 #endif
    293 {
    294 #if !RM_FIX_SETUP
    295   AOT( !m_bUseOrgRef && pcOrgVideo );
    296 #endif
     274{
    297275  AOT( (ppiShiftLutLeft  == NULL) && (m_iMode == 0 || m_iMode == 2) );
    298276  AOT( (ppiShiftLutRight == NULL) && (m_iMode == 1 || m_iMode == 2) );
     
    306284    TRenFilter<REN_BIT_DEPTH>::setupZLUT( true, 30, iDistToLeft, ppiBaseShiftLutLeft, ppiBaseShiftLutRight, m_iBlendZThres, m_iBlendDistWeight, m_piInvZLUTLeft, m_piInvZLUTRight );
    307285  }
    308 
    309 #if !RM_FIX_SETUP
    310   // Copy Reference
    311   m_pcPicYuvRef = pcOrgVideo;
    312 
    313   if ( pcOrgVideo )
    314   {
    315     assert( pcOrgVideo->getChromaFormat() == CHROMA_420 );     
    316 
    317     TRenFilter<REN_BIT_DEPTH>::copy(             pcOrgVideo->getAddr( COMPONENT_Y  ) +  m_iHorOffset       * pcOrgVideo->getStride( COMPONENT_Y  ), pcOrgVideo->getStride( COMPONENT_Y  ), m_iWidth,      m_iUsedHeight,      m_aapiRefVideoPel[0], m_aiRefVideoStrides[0]);
    318     TRenFilter<REN_BIT_DEPTH>::sampleCUpHorUp(0, pcOrgVideo->getAddr( COMPONENT_Cb ) + (m_iHorOffset >> 1) * pcOrgVideo->getStride( COMPONENT_Cb ), pcOrgVideo->getStride( COMPONENT_Cb ), m_iWidth >> 1, m_iUsedHeight >> 1, m_aapiRefVideoPel[1], m_aiRefVideoStrides[1]);
    319     TRenFilter<REN_BIT_DEPTH>::sampleCUpHorUp(0, pcOrgVideo->getAddr( COMPONENT_Cr ) + (m_iHorOffset >> 1) * pcOrgVideo->getStride( COMPONENT_Cr ), pcOrgVideo->getStride( COMPONENT_Cr ), m_iWidth >> 1, m_iUsedHeight >> 1, m_aapiRefVideoPel[2], m_aiRefVideoStrides[2]);   
    320     xSetStructRefView();
    321   }
    322   else
    323   {
    324     if ( bRenderRef )
    325     {   
    326       xRenderAll( );
    327       xSetStructSynthViewAsRefView();
    328     }
    329   }
    330 #endif
    331 }
    332 
    333 template <BlenMod iBM, Bool bBitInc> Void
    334 #if RM_FIX_SETUP
     286}
     287
     288template <BlenMod iBM, Bool bBitInc> Void
    335289TRenSingleModelC<iBM,bBitInc>::renderAll( )
    336 #else
    337 TRenSingleModelC<iBM,bBitInc>::xRenderAll( )
    338 #endif
    339290{
    340291  // Initial Rendering
    341 #if RM_FIX_SETUP
    342292  resetStructError();
    343 #else
    344   xResetStructError();
    345 #endif
    346293  xInitSampleStructs();
    347294  switch ( m_iMode )
     
    465412
    466413template <BlenMod iBM, Bool bBitInc> Void
    467 #if RM_FIX_SETUP
    468414TRenSingleModelC<iBM,bBitInc>::resetStructError( )
    469 #else
    470 TRenSingleModelC<iBM,bBitInc>::xResetStructError( )
    471 #endif
    472415{
    473416  RenModelOutPels* pcCurOutSampleRow = m_pcOutputSamples;
     
    484427
    485428template <BlenMod iBM, Bool bBitInc> Void
    486 #if RM_FIX_SETUP
    487429  TRenSingleModelC<iBM,bBitInc>::setLimOutStruct(Int iSourceViewPos )
    488 #else
    489   TRenSingleModelC<iBM,bBitInc>::xSetLimOutStruct(Int iSourceViewPos )
    490 #endif
    491430
    492431  RM_AOF( m_bLimOutput );
     
    537476
    538477template <BlenMod iBM, Bool bBitInc> Void
    539 #if RM_FIX_SETUP
    540478TRenSingleModelC<iBM,bBitInc>::setStructSynthViewAsRefView( )
    541 #else
    542 TRenSingleModelC<iBM,bBitInc>::xSetStructSynthViewAsRefView( )
    543 #endif
    544479{
    545480  AOT( m_iMode < 0 || m_iMode > 2);
  • trunk/source/Lib/TLibRenderer/TRenSingleModel.h

    r1405 r1413  
    7878  virtual Void   setLRView         ( Int iViewPos, Pel** apiCurVideoPel, Int* aiCurVideoStride, Pel* piCurDepthPel, Int iCurDepthStride ) = 0;
    7979  virtual Void   setupPart         ( UInt uiHorOffset,       Int iUsedHeight ) = 0;
    80 #if RM_FIX_SETUP
     80
    8181  virtual Void   setupLut          ( Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight, Int** ppiBaseShiftLutRight, Int iDistToLeft ) = 0;
    8282  virtual Void   setupRefView      ( TComPicYuv* pcOrgVideo ) = 0;
     
    8686  virtual Void   resetStructError            ()                     = 0;
    8787  virtual Void   setLimOutStruct             ( Int iSourceViewPos ) = 0;
    88 #else
    89   virtual Void   setupLutAndRef    ( TComPicYuv* pcOrgVideo, Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight, Int** ppiBaseShiftLutRight, Int iDistToLeft, Bool bRenderRef ) = 0;
    90   virtual Void   setupInitialState ( Int curViewPosInModel ) = 0;
    91 #endif
    9288
    9389  // Set Data
     
    195191  Void   setLRView         ( Int iViewPos, Pel** apiCurVideoPel, Int* aiCurVideoStride, Pel* piCurDepthPel, Int iCurDepthStride ); 
    196192  Void   setupPart         ( UInt uiHorOffset,       Int uiUsedHeight );
    197 #if RM_FIX_SETUP
     193
    198194  Void   setupLut          (  Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight, Int** ppiBaseShiftLutRight, Int iDistToLeft);
    199195  Void   setupRefView      ( TComPicYuv* pcOrgVideo );
     
    203199  Void              resetStructError            ();
    204200  Void              setLimOutStruct             ( Int iSourceViewPos );
    205 #else
    206   Void   setupLutAndRef    ( TComPicYuv* pcOrgVideo, Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight, Int** ppiBaseShiftLutRight, Int iDistToLeft, Bool bRenderRef );
    207   Void   setupInitialState ( Int curViewPosInModel );
    208 #endif
    209201
    210202
     
    229221
    230222private:
    231 
    232 #if !RM_FIX_SETUP
    233    __inline Void  xRenderAll( );
    234 #endif
    235223
    236224
     
    310298       
    311299  Void            xSetStructRefView            ();
    312 #if !RM_FIX_SETUP
    313   Void            xResetStructError            ();
    314   Void            xSetLimOutStruct             (Int iSourceViewPos );
    315 #endif
    316  
    317300  Void            xInitSampleStructs           ();
    318 #if !RM_FIX_SETUP
    319   Void            xSetStructSynthViewAsRefView ();
    320 #endif
    321301  Void            xCopy2PicYuv                ( Pel** ppiSrcVideoPel, Int* piStrides, TComPicYuv* rpcPicYuvTarget );
    322302
Note: See TracChangeset for help on using the changeset viewer.