Changeset 5 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComYuv.cpp


Ignore:
Timestamp:
12 Dec 2011, 18:35:44 (12 years ago)
Author:
hhi
Message:

Clean version with cfg-files

File:
1 edited

Legend:

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

    r2 r5  
     1/* The copyright in this software is being made available under the BSD
     2 * License, included below. This software may be subject to other third party
     3 * and contributor rights, including patent rights, and no such rights are
     4 * granted under this license.
     5 *
     6 * Copyright (c) 2010-2011, ISO/IEC
     7 * All rights reserved.
     8 *
     9 * Redistribution and use in source and binary forms, with or without
     10 * modification, are permitted provided that the following conditions are met:
     11 *
     12 *  * Redistributions of source code must retain the above copyright notice,
     13 *    this list of conditions and the following disclaimer.
     14 *  * Redistributions in binary form must reproduce the above copyright notice,
     15 *    this list of conditions and the following disclaimer in the documentation
     16 *    and/or other materials provided with the distribution.
     17 *  * Neither the name of the ISO/IEC nor the names of its contributors may
     18 *    be used to endorse or promote products derived from this software without
     19 *    specific prior written permission.
     20 *
     21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     22 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     24 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
     25 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     26 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     27 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
     31 * THE POSSIBILITY OF SUCH DAMAGE.
     32 */
     33
    134
    235
     
    321354}
    322355
    323 //GT VSO
    324356Void TComYuv::addClipPartLuma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize )
    325357{
     
    344376  }
    345377}
    346 //GT VSO end
    347 
    348378
    349379Void
     
    918948  return m_apiBufV + (iBlkX + iBlkY * getCStride()) * iBlkSize;
    919949}
    920 
    921 #if HHI_DMM_INTRA
    922 UInt64 TComYuv::getLumaDistDCSAD( UInt uiPartUnitIdx, UInt iBlkSize )
    923 {
    924   UInt iBlkX;
    925   UInt iBlkY;
    926   iBlkX = g_auiRasterToPelX[g_auiZscanToRaster[uiPartUnitIdx]];
    927   iBlkY = g_auiRasterToPelY[g_auiZscanToRaster[uiPartUnitIdx]];
    928 
    929   Pel*   piAct   = m_apiBufY + iBlkY*getStride() + iBlkX;
    930 
    931   Int    iDC    = 0;
    932   for( UInt uiY = 0; uiY < iBlkSize; uiY++ )
    933   {
    934     for( UInt uiX = 0; uiX < iBlkSize; uiX++ )
    935     {
    936       iDC += piAct[uiX];
    937     }
    938     piAct += getStride();
    939   }
    940   iDC /= (iBlkSize*iBlkSize);
    941 
    942   piAct   = m_apiBufY + iBlkY*getStride() + iBlkX;
    943 
    944   UInt64 uiDistSAD = 0;
    945 
    946   for( UInt uiY = 0; uiY < iBlkSize; uiY++ )
    947   {
    948     for( UInt uiX = 0; uiX < iBlkSize; uiX++ )
    949     {
    950       uiDistSAD += abs( piAct[uiX] - iDC );
    951     }
    952     piAct += getStride();
    953   }
    954 
    955   uiDistSAD /= ( iBlkSize * iBlkSize );
    956 
    957   return uiDistSAD;
    958 }
    959 
    960 UInt64 TComYuv::getLumaDistDCSAD( UInt iBlkSize )
    961 {
    962   Pel*   piAct   = m_apiBufY;
    963 
    964   Int    iDC    = 0;
    965   for( UInt uiY = 0; uiY < iBlkSize; uiY++ )
    966   {
    967     for( UInt uiX = 0; uiX < iBlkSize; uiX++ )
    968     {
    969       iDC += piAct[uiX];
    970     }
    971     piAct += getStride();
    972   }
    973   iDC /= (iBlkSize*iBlkSize);
    974 
    975   piAct   = m_apiBufY;
    976 
    977   UInt64 uiDistSAD = 0;
    978 
    979   for( UInt uiY = 0; uiY < iBlkSize; uiY++ )
    980   {
    981     for( UInt uiX = 0; uiX < iBlkSize; uiX++ )
    982     {
    983       uiDistSAD += abs( piAct[uiX] - iDC );
    984     }
    985     piAct += getStride();
    986   }
    987 
    988   uiDistSAD /= ( iBlkSize * iBlkSize );
    989 
    990   return uiDistSAD;
    991 }
    992 #endif
    993 
Note: See TracChangeset for help on using the changeset viewer.