Ignore:
Timestamp:
15 Apr 2015, 11:36:33 (10 years ago)
Author:
tech
Message:

Removed 3D-HEVC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.0-MV-draft-3/source/Lib/TLibCommon/TComYuv.cpp

    r1179 r1191  
    647647  }
    648648}
    649 #if H_3D
    650 Void TComYuv::addClipPartLuma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize )
    651 {
    652   Int x, y;
    653 
    654   Pel* pSrc0 = pcYuvSrc0->getLumaAddr( uiTrUnitIdx);
    655   Pel* pSrc1 = pcYuvSrc1->getLumaAddr( uiTrUnitIdx);
    656   Pel* pDst  = getLumaAddr( uiTrUnitIdx);
    657 
    658   UInt iSrc0Stride = pcYuvSrc0->getStride();
    659   UInt iSrc1Stride = pcYuvSrc1->getStride();
    660   UInt iDstStride  = getStride();
    661   for ( y = uiPartSize-1; y >= 0; y-- )
    662   {
    663     for ( x = uiPartSize-1; x >= 0; x-- )
    664     {
    665       pDst[x] = ClipY( pSrc0[x] + pSrc1[x] );     
    666     }
    667     pSrc0 += iSrc0Stride;
    668     pSrc1 += iSrc1Stride;
    669     pDst  += iDstStride;
    670   }
    671 }
    672 
    673 #if H_3D_ARP
    674 Void TComYuv::addARP( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, Bool bClip )
    675 {
    676   addARPLuma   ( pcYuvSrc0, pcYuvSrc1, uiAbsPartIdx, uiWidth   , uiHeight    , bClip );
    677   addARPChroma ( pcYuvSrc0, pcYuvSrc1, uiAbsPartIdx, uiWidth>>1, uiHeight>>1 , bClip );
    678 }
    679 
    680 Void TComYuv::addARPLuma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, Bool bClip )
    681 {
    682   Int x, y;
    683 
    684   Pel* pSrc0 = pcYuvSrc0->getLumaAddr( uiAbsPartIdx );
    685   Pel* pSrc1 = pcYuvSrc1->getLumaAddr( uiAbsPartIdx );
    686   Pel* pDst  = getLumaAddr( uiAbsPartIdx );
    687 
    688   UInt iSrc0Stride = pcYuvSrc0->getStride();
    689   UInt iSrc1Stride = pcYuvSrc1->getStride();
    690   UInt iDstStride  = getStride();
    691   Int iIFshift = IF_INTERNAL_PREC - g_bitDepthY;
    692   Int iOffSet  = ( 1 << ( iIFshift - 1 ) ) + IF_INTERNAL_OFFS;
    693   for ( y = uiHeight-1; y >= 0; y-- )
    694   {
    695     for ( x = uiWidth-1; x >= 0; x-- )
    696     {
    697       pDst[x] = pSrc0[x] + pSrc1[x];
    698       if( bClip )
    699       {
    700         pDst[x] = ClipY( ( pDst[x] + iOffSet ) >> iIFshift );
    701       }
    702     }
    703     pSrc0 += iSrc0Stride;
    704     pSrc1 += iSrc1Stride;
    705     pDst  += iDstStride;
    706   }
    707 }
    708 
    709 Void TComYuv::addARPChroma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, Bool bClip )
    710 {
    711   Int x, y;
    712 
    713   Pel* pSrcU0 = pcYuvSrc0->getCbAddr( uiAbsPartIdx );
    714   Pel* pSrcU1 = pcYuvSrc1->getCbAddr( uiAbsPartIdx );
    715   Pel* pSrcV0 = pcYuvSrc0->getCrAddr( uiAbsPartIdx );
    716   Pel* pSrcV1 = pcYuvSrc1->getCrAddr( uiAbsPartIdx );
    717   Pel* pDstU = getCbAddr( uiAbsPartIdx );
    718   Pel* pDstV = getCrAddr( uiAbsPartIdx );
    719 
    720   UInt  iSrc0Stride = pcYuvSrc0->getCStride();
    721   UInt  iSrc1Stride = pcYuvSrc1->getCStride();
    722   UInt  iDstStride  = getCStride();
    723 
    724   Int iIFshift = IF_INTERNAL_PREC - g_bitDepthC;
    725   Int iOffSet  = ( 1 << ( iIFshift - 1 ) ) + IF_INTERNAL_OFFS;
    726 
    727   for ( y = uiHeight-1; y >= 0; y-- )
    728   {
    729     for ( x = uiWidth-1; x >= 0; x-- )
    730     {
    731       pDstU[x] = pSrcU0[x] + pSrcU1[x];
    732       pDstV[x] = pSrcV0[x] + pSrcV1[x];
    733       if( bClip )
    734       {
    735         pDstU[x] = ClipC( ( pDstU[x] + iOffSet ) >> iIFshift );
    736         pDstV[x] = ClipC( ( pDstV[x] + iOffSet ) >> iIFshift );
    737       }
    738     }
    739 
    740     pSrcU0 += iSrc0Stride;
    741     pSrcU1 += iSrc1Stride;
    742     pSrcV0 += iSrc0Stride;
    743     pSrcV1 += iSrc1Stride;
    744     pDstU  += iDstStride;
    745     pDstV  += iDstStride;
    746   }
    747 }
    748 
    749 Void TComYuv::subtractARP( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiAbsPartIdx, UInt uiWidth , UInt uiHeight )
    750 {
    751   subtractARPLuma  ( pcYuvSrc0, pcYuvSrc1,  uiAbsPartIdx, uiWidth    , uiHeight    );
    752 
    753   if (uiWidth > 8)
    754     subtractARPChroma( pcYuvSrc0, pcYuvSrc1,  uiAbsPartIdx, uiWidth>>1 , uiHeight>>1 );
    755 }
    756 
    757 Void TComYuv::subtractARPLuma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiAbsPartIdx, UInt uiWidth , UInt uiHeight )
    758 {
    759   Int x, y;
    760 
    761   Pel* pSrc0 = pcYuvSrc0->getLumaAddr( uiAbsPartIdx );
    762   Pel* pSrc1 = pcYuvSrc1->getLumaAddr( uiAbsPartIdx );
    763   Pel* pDst  = getLumaAddr( uiAbsPartIdx );
    764 
    765   Int  iSrc0Stride = pcYuvSrc0->getStride();
    766   Int  iSrc1Stride = pcYuvSrc1->getStride();
    767   Int  iDstStride  = getStride();
    768   for ( y = uiHeight-1; y >= 0; y-- )
    769   {
    770     for ( x = uiWidth-1; x >= 0; x-- )
    771     {
    772       pDst[x] = pSrc0[x] - pSrc1[x];
    773     }
    774     pSrc0 += iSrc0Stride;
    775     pSrc1 += iSrc1Stride;
    776     pDst  += iDstStride;
    777   }
    778 }
    779 
    780 Void TComYuv::subtractARPChroma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiAbsPartIdx, UInt uiWidth , UInt uiHeight )
    781 {
    782   Int x, y;
    783 
    784   Pel* pSrcU0 = pcYuvSrc0->getCbAddr( uiAbsPartIdx );
    785   Pel* pSrcU1 = pcYuvSrc1->getCbAddr( uiAbsPartIdx );
    786   Pel* pSrcV0 = pcYuvSrc0->getCrAddr( uiAbsPartIdx );
    787   Pel* pSrcV1 = pcYuvSrc1->getCrAddr( uiAbsPartIdx );
    788   Pel* pDstU  = getCbAddr( uiAbsPartIdx );
    789   Pel* pDstV  = getCrAddr( uiAbsPartIdx );
    790 
    791   Int  iSrc0Stride = pcYuvSrc0->getCStride();
    792   Int  iSrc1Stride = pcYuvSrc1->getCStride();
    793   Int  iDstStride  = getCStride();
    794   for ( y = uiHeight-1; y >= 0; y-- )
    795   {
    796     for ( x = uiWidth-1; x >= 0; x-- )
    797     {
    798       pDstU[x] = pSrcU0[x] - pSrcU1[x];
    799       pDstV[x] = pSrcV0[x] - pSrcV1[x];
    800     }
    801     pSrcU0 += iSrc0Stride;
    802     pSrcU1 += iSrc1Stride;
    803     pSrcV0 += iSrc0Stride;
    804     pSrcV1 += iSrc1Stride;
    805     pDstU  += iDstStride;
    806     pDstV  += iDstStride;
    807   }
    808 }
    809 
    810 Void TComYuv::multiplyARP( UInt uiAbsPartIdx , UInt uiWidth , UInt uiHeight , UChar dW )
    811 {
    812   multiplyARPLuma( uiAbsPartIdx , uiWidth , uiHeight , dW );
    813 
    814   if (uiWidth > 8)
    815     multiplyARPChroma( uiAbsPartIdx , uiWidth >> 1 , uiHeight >> 1 , dW );
    816 }
    817 
    818 Void TComYuv::xxMultiplyLine( Pel* pSrcDst , UInt uiWidth , UChar dW )
    819 {
    820   assert( dW == 2 );
    821   for( UInt x = 0 ; x < uiWidth ; x++ )
    822     pSrcDst[x] =  pSrcDst[x] >> 1;
    823 }
    824 
    825 Void TComYuv::multiplyARPLuma( UInt uiAbsPartIdx , UInt uiWidth , UInt uiHeight , UChar dW )
    826 {
    827   Pel* pDst  = getLumaAddr( uiAbsPartIdx );
    828   Int  iDstStride  = getStride();
    829   for ( Int y = uiHeight-1; y >= 0; y-- )
    830   {
    831     xxMultiplyLine( pDst , uiWidth , dW );
    832     pDst  += iDstStride;
    833   }
    834 }
    835 
    836 Void TComYuv::multiplyARPChroma( UInt uiAbsPartIdx , UInt uiWidth , UInt uiHeight , UChar dW )
    837 {
    838   Pel* pDstU  = getCbAddr( uiAbsPartIdx );
    839   Pel* pDstV  = getCrAddr( uiAbsPartIdx );
    840 
    841   Int  iDstStride  = getCStride();
    842   for ( Int y = uiHeight-1; y >= 0; y-- )
    843   {
    844     xxMultiplyLine( pDstU , uiWidth , dW );
    845     xxMultiplyLine( pDstV , uiWidth , dW );
    846     pDstU  += iDstStride;
    847     pDstV  += iDstStride;
    848   }
    849 }
    850 #endif
    851 #endif
    852649
    853650//! \}
Note: See TracChangeset for help on using the changeset viewer.