Ignore:
Timestamp:
13 Aug 2015, 17:38:13 (9 years ago)
Author:
tech
Message:

Merged 14.1-update-dev1@1312.

File:
1 edited

Legend:

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

    r1179 r1313  
    3636#include "TRenSingleModel.h"
    3737
    38 #if H_3D_VSO
     38#if NH_3D_VSO
    3939
    4040////////////// TRENSINGLE MODEL ///////////////
    4141template <BlenMod iBM, Bool bBitInc>
    4242TRenSingleModelC<iBM,bBitInc>::TRenSingleModelC()
    43 :  m_iDistShift ( ( g_bitDepthY - 8) << 1 )
     43:  m_iDistShift ( ( ENC_INTERNAL_BIT_DEPTH  - REN_BIT_DEPTH) << 1 )
    4444{
    4545  m_iWidth  = -1;
     
    259259  if ( pcOrgVideo && !bKeepReference )
    260260  {
    261     TRenFilter::copy(             pcOrgVideo->getLumaAddr() +  m_iHorOffset       * pcOrgVideo->getStride() , pcOrgVideo->getStride() , m_iWidth,      m_iUsedHeight,      m_aapiRefVideoPel[0], m_aiRefVideoStrides[0]);
    262     TRenFilter::sampleCUpHorUp(0, pcOrgVideo->getCbAddr()   + (m_iHorOffset >> 1) * pcOrgVideo->getCStride(), pcOrgVideo->getCStride(), m_iWidth >> 1, m_iUsedHeight >> 1, m_aapiRefVideoPel[1], m_aiRefVideoStrides[1]);
    263     TRenFilter::sampleCUpHorUp(0, pcOrgVideo->getCrAddr()   + (m_iHorOffset >> 1) * pcOrgVideo->getCStride(), pcOrgVideo->getCStride(), m_iWidth >> 1, m_iUsedHeight >> 1, m_aapiRefVideoPel[2], m_aiRefVideoStrides[2]);   
     261    assert( pcOrgVideo->getChromaFormat() != CHROMA_420 );     
     262
     263    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]);
     264    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]);
     265    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]);   
    264266    xSetStructRefView();
    265267  }
     
    285287    break;
    286288  case 2:
    287     TRenFilter::setupZLUT( true, 30, iDistToLeft, ppiBaseShiftLutLeft, ppiBaseShiftLutRight, m_iBlendZThres, m_iBlendDistWeight, m_piInvZLUTLeft, m_piInvZLUTRight );
     289    TRenFilter<REN_BIT_DEPTH>::setupZLUT( true, 30, iDistToLeft, ppiBaseShiftLutLeft, ppiBaseShiftLutRight, m_iBlendZThres, m_iBlendDistWeight, m_piInvZLUTLeft, m_piInvZLUTRight );
    288290#if H_3D_VSO_EARLY_SKIP
    289291    xRenderL<true>( 0, 0, m_iWidth, m_iUsedHeight, m_aiBaseDepthStrides[0], m_apiBaseDepthPel[0],false);
     
    452454#if H_3D_VSO_COLOR_PLANES             
    453455      // U Planes                   
    454       pcOutSampleRow[iPosX].iULeft        = 1 << (g_bitDepthC - 1);
    455       pcOutSampleRow[iPosX].iURight       = 1 << (g_bitDepthC - 1);
    456       pcOutSampleRow[iPosX].iUBlended     = 1 << (g_bitDepthC - 1);
    457                                      
    458       // V Planes                   
    459       pcOutSampleRow[iPosX].iVLeft        = 1 << (g_bitDepthC - 1);
    460       pcOutSampleRow[iPosX].iVRight       = 1 << (g_bitDepthC - 1);
    461       pcOutSampleRow[iPosX].iVBlended     = 1 << (g_bitDepthC - 1);
     456      pcOutSampleRow[iPosX].iULeft        = 1 << (REN_BIT_DEPTH - 1);
     457      pcOutSampleRow[iPosX].iURight       = 1 << (REN_BIT_DEPTH - 1);
     458      pcOutSampleRow[iPosX].iUBlended     = 1 << (REN_BIT_DEPTH - 1);
     459                                                  
     460      // V Planes                                 
     461      pcOutSampleRow[iPosX].iVLeft        = 1 << (REN_BIT_DEPTH - 1);
     462      pcOutSampleRow[iPosX].iVRight       = 1 << (REN_BIT_DEPTH - 1);
     463      pcOutSampleRow[iPosX].iVBlended     = 1 << (REN_BIT_DEPTH - 1);
    462464#endif
    463465      //// Input Samples
     
    475477#if H_3D_VSO_EARLY_SKIP
    476478template <BlenMod iBM, Bool bBitInc> RMDist
    477 TRenSingleModelC<iBM,bBitInc>::getDistDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData , Pel * piOrgData, Int iOrgStride )
     479TRenSingleModelC<iBM,bBitInc>::getDistDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData , const Pel * piOrgData, Int iOrgStride )
    478480#else
    479481template <BlenMod iBM, Bool bBitInc> RMDist
    480 TRenSingleModelC<iBM,bBitInc>::getDistDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData )
     482TRenSingleModelC<iBM,bBitInc>::getDistDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData )
    481483#endif
    482484{
     
    517519#if H_3D_VSO_EARLY_SKIP
    518520template <BlenMod iBM, Bool bBitInc> Void
    519 TRenSingleModelC<iBM,bBitInc>::setDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData, Pel* piOrgData, Int iOrgStride )
     521TRenSingleModelC<iBM,bBitInc>::setDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData, const Pel* piOrgData, Int iOrgStride )
    520522#else
    521523template <BlenMod iBM, Bool bBitInc> Void
    522 TRenSingleModelC<iBM,bBitInc>::setDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData )
     524TRenSingleModelC<iBM,bBitInc>::setDepth( Int iViewPos, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData )
    523525#endif
    524526{
     
    558560TRenSingleModelC<iBM,bBitInc>::getSynthVideo( Int iViewPos, TComPicYuv* pcPicYuv )
    559561
    560   AOT( pcPicYuv->getWidth() != m_iWidth );
    561   AOT( pcPicYuv->getHeight() < m_iUsedHeight + m_iHorOffset );
     562  AOT( pcPicYuv->getWidth( COMPONENT_Y  )  != m_iWidth );
     563  AOT( pcPicYuv->getChromaFormat()         != CHROMA_420 );
     564
     565  AOT( pcPicYuv->getHeight( COMPONENT_Y ) < m_iUsedHeight + m_iHorOffset );
    562566
    563567#if H_3D_VSO_COLOR_PLANES
     
    590594
    591595  AOT( iViewPos != 0 && iViewPos != 1);
    592   AOT( pcPicYuv->getWidth()  != m_iWidth  );
    593   AOT( pcPicYuv->getHeight() < m_iUsedHeight + m_iHorOffset );
     596  AOT( pcPicYuv->getWidth( COMPONENT_Y)  != m_iWidth  );
     597  AOT( pcPicYuv->getChromaFormat( )  != CHROMA_420 );
     598  AOT( pcPicYuv->getHeight( COMPONENT_Y ) < m_iUsedHeight + m_iHorOffset );
    594599
    595600  Pel RenModelOutPels::* piD = 0;
    596601  xGetSampleStrDepthPtrs(iViewPos, piD);
    597   xCopyFromSampleStruct( m_pcOutputSamples, m_iOutputSamplesStride, piD, pcPicYuv->getLumaAddr() + pcPicYuv->getStride() * m_iHorOffset, pcPicYuv->getStride(), m_iWidth, m_iUsedHeight );
    598   pcPicYuv->setChromaTo( 1 << (g_bitDepthC - 1) );   
     602  xCopyFromSampleStruct( m_pcOutputSamples, m_iOutputSamplesStride, piD, pcPicYuv->getAddr( COMPONENT_Y ) + pcPicYuv->getStride( COMPONENT_Y ) * m_iHorOffset, pcPicYuv->getStride( COMPONENT_Y ), m_iWidth, m_iUsedHeight );
     603  pcPicYuv->setChromaTo( 1 << (REN_BIT_DEPTH - 1) );   
    599604}
    600605
     
    603608TRenSingleModelC<iBM,bBitInc>::getRefVideo ( Int iViewPos, TComPicYuv* pcPicYuv )
    604609
    605   AOT( pcPicYuv->getWidth()  != m_iWidth  );
    606   AOT( pcPicYuv->getHeight() <  m_iUsedHeight + m_iHorOffset);
     610  AOT( pcPicYuv->getChromaFormat( ) != CHROMA_420 );
     611  AOT( pcPicYuv->getWidth( COMPONENT_Y )  != m_iWidth  );
     612  AOT( pcPicYuv->getHeight( COMPONENT_Y ) <  m_iUsedHeight + m_iHorOffset);
    607613
    608614#if H_3D_VSO_COLOR_PLANES
     
    633639
    634640template <BlenMod iBM, Bool bBitInc> RMDist
    635 TRenSingleModelC<iBM,bBitInc>::getDistVideo( Int iViewPos, Int iPlane, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData )
     641TRenSingleModelC<iBM,bBitInc>::getDistVideo( Int iViewPos, Int iPlane, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData )
    636642{
    637643  AOF(false);
     
    640646
    641647template <BlenMod iBM, Bool bBitInc> Void
    642 TRenSingleModelC<iBM,bBitInc>::setVideo( Int iViewPos, Int iPlane, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData )
     648TRenSingleModelC<iBM,bBitInc>::setVideo( Int iViewPos, Int iPlane, Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData )
    643649{
    644650  AOF(false);
     
    665671#if H_3D_VSO_EARLY_SKIP
    666672template <BlenMod iBM, Bool bBitInc> template<Bool bSet> __inline RMDist
    667 TRenSingleModelC<iBM,bBitInc>::xRenderL( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData, Bool bFast)
     673TRenSingleModelC<iBM,bBitInc>::xRenderL( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData, Bool bFast)
    668674#else
    669675template <BlenMod iBM, Bool bBitInc> template<Bool bSet> __inline RMDist
    670 TRenSingleModelC<iBM,bBitInc>::xRenderL( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData)
     676TRenSingleModelC<iBM,bBitInc>::xRenderL( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData)
    671677#endif
    672678{
     
    789795#ifdef  H_3D_VSO_EARLY_SKIP
    790796template <BlenMod iBM, Bool bBitInc> template<Bool bSet> __inline RMDist
    791 TRenSingleModelC<iBM,bBitInc>::xRenderR( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData , Bool bFast)
     797TRenSingleModelC<iBM,bBitInc>::xRenderR( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData , Bool bFast)
    792798#else
    793799template <BlenMod iBM, Bool bBitInc> template<Bool bSet> __inline RMDist
    794 TRenSingleModelC<iBM,bBitInc>::xRenderR( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData )
     800TRenSingleModelC<iBM,bBitInc>::xRenderR( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData )
    795801#endif
    796802{
     
    18771883TRenSingleModelC<iBM,bBitInc>::xCopy2PicYuv( Pel** ppiSrcVideoPel, Int* piStrides, TComPicYuv* rpcPicYuvTarget )
    18781884{
    1879   TRenFilter::copy            ( ppiSrcVideoPel[0], piStrides[0], m_iWidth, m_iUsedHeight, rpcPicYuvTarget->getLumaAddr() +  m_iHorOffset       * rpcPicYuvTarget->getStride() , rpcPicYuvTarget->getStride () );
    1880   TRenFilter::sampleDown2Tap13( ppiSrcVideoPel[1], piStrides[1], m_iWidth, m_iUsedHeight, rpcPicYuvTarget->getCbAddr  () + (m_iHorOffset >> 1) * rpcPicYuvTarget->getCStride(), rpcPicYuvTarget->getCStride() );
    1881   TRenFilter::sampleDown2Tap13( ppiSrcVideoPel[2], piStrides[2], m_iWidth, m_iUsedHeight, rpcPicYuvTarget->getCrAddr  () + (m_iHorOffset >> 1) * rpcPicYuvTarget->getCStride(), rpcPicYuvTarget->getCStride() );
     1885  TRenFilter<REN_BIT_DEPTH>::copy            ( ppiSrcVideoPel[0], piStrides[0], m_iWidth, m_iUsedHeight, rpcPicYuvTarget->getAddr( COMPONENT_Y  ) +  m_iHorOffset       * rpcPicYuvTarget->getStride( COMPONENT_Y  ), rpcPicYuvTarget->getStride( COMPONENT_Y ) );
     1886  TRenFilter<REN_BIT_DEPTH>::sampleDown2Tap13( ppiSrcVideoPel[1], piStrides[1], m_iWidth, m_iUsedHeight, rpcPicYuvTarget->getAddr( COMPONENT_Cb ) + (m_iHorOffset >> 1) * rpcPicYuvTarget->getStride( COMPONENT_Cb ), rpcPicYuvTarget->getStride( COMPONENT_Cb) );
     1887  TRenFilter<REN_BIT_DEPTH>::sampleDown2Tap13( ppiSrcVideoPel[2], piStrides[2], m_iWidth, m_iUsedHeight, rpcPicYuvTarget->getAddr( COMPONENT_Cr ) + (m_iHorOffset >> 1) * rpcPicYuvTarget->getStride( COMPONENT_Cr ), rpcPicYuvTarget->getStride( COMPONENT_Cr) );
    18821888}
    18831889
     
    18951901template <BlenMod iBM, Bool bBitInc>
    18961902__inline Bool
    1897 TRenSingleModelC<iBM,bBitInc>::xDetectEarlySkipL( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData,Pel* piOrgData, Int iOrgStride)
     1903TRenSingleModelC<iBM,bBitInc>::xDetectEarlySkipL( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData, const Pel* piOrgData, Int iOrgStride)
    18981904{
    18991905  RM_AOF( m_bEarlySkip );
     
    19271933template <BlenMod iBM, Bool bBitInc>
    19281934__inline Bool
    1929 TRenSingleModelC<iBM,bBitInc>::xDetectEarlySkipR( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData,Pel* piOrgData, Int iOrgStride)
     1935TRenSingleModelC<iBM,bBitInc>::xDetectEarlySkipR( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData, const Pel* piOrgData, Int iOrgStride)
    19301936{
    19311937  RM_AOF( m_bEarlySkip );
     
    19581964}
    19591965#endif
    1960 #endif // H_3D
    1961 
     1966#endif // NH_3D
     1967
Note: See TracChangeset for help on using the changeset viewer.