Changeset 17 in SHVCSoftware for trunk/source/Lib/TLibCommon/TComYuv.cpp


Ignore:
Timestamp:
29 Jan 2013, 03:06:57 (12 years ago)
Author:
seregin
Message:

NO_RESIDUAL_FLAG_FOR_BLPRED: Root cbf for Intra_BL (L0437)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComYuv.cpp

    r2 r17  
    184184}
    185185
     186#if NO_RESIDUAL_FLAG_FOR_BLPRED
     187Void TComYuv::copyFromPicLuma  ( TComPicYuv* pcPicYuvSrc, UInt iCuAddr, UInt uiZorderIdxInCU, UInt uiAbsZorderIdx, UInt uiWidth, UInt uiHeight )
     188{
     189  Int  y;
     190
     191  Pel* pDst     = getLumaAddr(uiAbsZorderIdx);
     192  Pel* pSrc     = pcPicYuvSrc->getLumaAddr ( iCuAddr, uiZorderIdxInCU + uiAbsZorderIdx );
     193
     194  UInt  iDstStride  = getStride();
     195  UInt  iSrcStride  = pcPicYuvSrc->getStride();
     196  for ( y = uiHeight; y != 0; y-- )
     197  {
     198    ::memcpy( pDst, pSrc, sizeof(Pel)*uiWidth);
     199    pDst += iDstStride;
     200    pSrc += iSrcStride;
     201  }
     202}
     203
     204Void TComYuv::copyFromPicChroma( TComPicYuv* pcPicYuvSrc, UInt iCuAddr, UInt uiZorderIdxInCU, UInt uiAbsZorderIdx, UInt uiCWidth, UInt uiCHeight, UInt uiChromaId  )
     205{
     206  Int  y;
     207
     208  if (!uiChromaId)
     209  {
     210    Pel* pDstU      = getCbAddr(uiAbsZorderIdx);
     211    Pel* pSrcU      = pcPicYuvSrc->getCbAddr( iCuAddr, uiZorderIdxInCU + uiAbsZorderIdx );
     212
     213    UInt  iDstStride = getCStride();
     214    UInt  iSrcStride = pcPicYuvSrc->getCStride();
     215    for ( y = uiCHeight; y != 0; y-- )
     216    {
     217      ::memcpy( pDstU, pSrcU, sizeof(Pel)*(uiCWidth) );
     218      pSrcU += iSrcStride;
     219      pDstU += iDstStride;
     220    }
     221  }
     222  else
     223  {
     224    Pel* pDstV      = getCrAddr(uiAbsZorderIdx);
     225    Pel* pSrcV      = pcPicYuvSrc->getCrAddr( iCuAddr, uiZorderIdxInCU + uiAbsZorderIdx );
     226
     227    UInt  iDstStride = getCStride();
     228    UInt  iSrcStride = pcPicYuvSrc->getCStride();
     229    for ( y = uiCHeight; y != 0; y-- )
     230    {
     231      ::memcpy( pDstV, pSrcV, sizeof(Pel)*(uiCWidth) );
     232      pSrcV += iSrcStride;
     233      pDstV += iDstStride;
     234    }
     235  }
     236}
     237#endif
     238
    186239Void TComYuv::copyToPartYuv( TComYuv* pcYuvDst, UInt uiDstPartIdx )
    187240{
Note: See TracChangeset for help on using the changeset viewer.