[x265] [PATCH] TComYuv::addClip, integrated luma_add_ps
praveen at multicorewareinc.com
praveen at multicorewareinc.com
Fri Nov 22 13:43:22 CET 2013
# HG changeset patch
# User Praveen Tiwari
# Date 1385124193 -19800
# Node ID ecb4138b38572ad6c2c65082bfdcddf9acf39c84
# Parent f2b8bcaf435c00d835cd4389063ed09d22e7be28
TComYuv::addClip, integrated luma_add_ps
diff -r f2b8bcaf435c -r ecb4138b3857 source/Lib/TLibCommon/TComYuv.cpp
--- a/source/Lib/TLibCommon/TComYuv.cpp Fri Nov 22 16:34:26 2013 +0530
+++ b/source/Lib/TLibCommon/TComYuv.cpp Fri Nov 22 18:13:13 2013 +0530
@@ -395,14 +395,14 @@
void TComYuv::addClip(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize)
{
- addClipLuma(srcYuv0, srcYuv1, trUnitIdx, partSize);
+ int part = partitionFromSizes(partSize, partSize);
+
+ addClipLuma(srcYuv0, srcYuv1, trUnitIdx, partSize, part);
addClipChroma(srcYuv0, srcYuv1, trUnitIdx, partSize >> m_hChromaShift);
}
-void TComYuv::addClipLuma(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize)
+void TComYuv::addClipLuma(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize, uint32_t part)
{
- int x, y;
-
Pel* src0 = srcYuv0->getLumaAddr(trUnitIdx, partSize);
int16_t* src1 = srcYuv1->getLumaAddr(trUnitIdx, partSize);
Pel* dst = getLumaAddr(trUnitIdx, partSize);
@@ -411,17 +411,7 @@
uint32_t src1Stride = srcYuv1->m_width;
uint32_t dststride = getStride();
- for (y = partSize - 1; y >= 0; y--)
- {
- for (x = partSize - 1; x >= 0; x--)
- {
- dst[x] = ClipY(static_cast<int16_t>(src0[x]) + src1[x]);
- }
-
- src0 += src0Stride;
- src1 += src1Stride;
- dst += dststride;
- }
+ primitives.luma_add_ps[part](dst, dststride, src0, src1, src0Stride, src1Stride);
}
void TComYuv::addClipChroma(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize)
diff -r f2b8bcaf435c -r ecb4138b3857 source/Lib/TLibCommon/TComYuv.h
--- a/source/Lib/TLibCommon/TComYuv.h Fri Nov 22 16:34:26 2013 +0530
+++ b/source/Lib/TLibCommon/TComYuv.h Fri Nov 22 18:13:13 2013 +0530
@@ -153,7 +153,7 @@
// Clip(srcYuv0 + srcYuv1) -> m_apiBuf
void addClip(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize);
- void addClipLuma(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize);
+ void addClipLuma(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize, uint32_t part);
void addClipChroma(TComYuv* srcYuv0, TShortYUV* srcYuv1, uint32_t trUnitIdx, uint32_t partSize);
// srcYuv0 - srcYuv1 -> m_apiBuf
More information about the x265-devel
mailing list