[x265] [PATCH] TComYuv::copyToPartYuv, now using asm code for blockcopy_pp
praveen at multicorewareinc.com
praveen at multicorewareinc.com
Wed Nov 13 14:54:49 CET 2013
# HG changeset patch
# User Praveen Tiwari
# Date 1384350882 -19800
# Node ID db6eaffb8754fcc033d1493afba3a4ee1d03e25f
# Parent 3d802ec2fbcc83eb7f65010d135a62a608d74142
TComYuv::copyToPartYuv, now using asm code for blockcopy_pp
diff -r 3d802ec2fbcc -r db6eaffb8754 source/Lib/TLibCommon/TComYuv.cpp
--- a/source/Lib/TLibCommon/TComYuv.cpp Wed Nov 13 19:04:27 2013 +0530
+++ b/source/Lib/TLibCommon/TComYuv.cpp Wed Nov 13 19:24:42 2013 +0530
@@ -178,11 +178,13 @@
void TComYuv::copyToPartYuv(TComYuv* dstPicYuv, uint32_t uiDstPartIdx)
{
- copyToPartLuma(dstPicYuv, uiDstPartIdx);
- copyToPartChroma(dstPicYuv, uiDstPartIdx);
+ int part = partitionFromSizes(m_width, m_height);
+
+ copyToPartLuma(dstPicYuv, uiDstPartIdx, part);
+ copyToPartChroma(dstPicYuv, uiDstPartIdx, part);
}
-void TComYuv::copyToPartLuma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx)
+void TComYuv::copyToPartLuma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx, uint32_t part)
{
Pel* src = m_bufY;
Pel* dst = dstPicYuv->getLumaAddr(uiDstPartIdx);
@@ -190,11 +192,10 @@
uint32_t srcstride = getStride();
uint32_t dststride = dstPicYuv->getStride();
- int part = partitionFromSizes(m_width, m_height);
primitives.luma_copy_pp[part](dst, dststride, src, srcstride);
}
-void TComYuv::copyToPartChroma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx)
+void TComYuv::copyToPartChroma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx, uint32_t part)
{
Pel* srcU = m_bufU;
Pel* srcV = m_bufV;
@@ -204,8 +205,8 @@
uint32_t srcstride = getCStride();
uint32_t dststride = dstPicYuv->getCStride();
- primitives.blockcpy_pp(m_cwidth, m_cheight, dstU, dststride, srcU, srcstride);
- primitives.blockcpy_pp(m_cwidth, m_cheight, dstV, dststride, srcV, srcstride);
+ primitives.chroma_copy_pp[part](dstU, dststride, srcU, srcstride);
+ primitives.chroma_copy_pp[part](dstV, dststride, srcV, srcstride);
}
void TComYuv::copyPartToYuv(TComYuv* dstPicYuv, uint32_t partIdx)
diff -r 3d802ec2fbcc -r db6eaffb8754 source/Lib/TLibCommon/TComYuv.h
--- a/source/Lib/TLibCommon/TComYuv.h Wed Nov 13 19:04:27 2013 +0530
+++ b/source/Lib/TLibCommon/TComYuv.h Wed Nov 13 19:24:42 2013 +0530
@@ -125,8 +125,8 @@
// Copy Small YUV buffer to the part of other Big YUV buffer
void copyToPartYuv(TComYuv* dstPicYuv, uint32_t uiDstPartIdx);
- void copyToPartLuma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx);
- void copyToPartChroma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx);
+ void copyToPartLuma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx, uint32_t part);
+ void copyToPartChroma(TComYuv* dstPicYuv, uint32_t uiDstPartIdx, uint32_t part);
// Copy the part of Big YUV buffer to other Small YUV buffer
void copyPartToYuv(TComYuv* dstPicYuv, uint32_t srcPartIdx);
More information about the x265-devel
mailing list