Changeset 5 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComYuv.cpp
- Timestamp:
- 12 Dec 2011, 18:35:44 (13 years ago)
- 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 1 34 2 35 … … 321 354 } 322 355 323 //GT VSO324 356 Void TComYuv::addClipPartLuma( TComYuv* pcYuvSrc0, TComYuv* pcYuvSrc1, UInt uiTrUnitIdx, UInt uiPartSize ) 325 357 { … … 344 376 } 345 377 } 346 //GT VSO end347 348 378 349 379 Void … … 918 948 return m_apiBufV + (iBlkX + iBlkY * getCStride()) * iBlkSize; 919 949 } 920 921 #if HHI_DMM_INTRA922 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 #endif993
Note: See TracChangeset for help on using the changeset viewer.