[x265] [PATCH 3 of 3] reduce pointer operators on I400
chen
chenm003 at 163.com
Wed Dec 23 16:09:49 CET 2015
Hi Pradeep,
no improve with these 3 patches, but if you want to start next parallel frame early, we have to do it, next frame need correct reference frame
Thanks,
Min
At 2015-12-23 12:07:14,"Pradeep Ramachandran" <pradeep at multicorewareinc.com> wrote:
Min,
Can you please share the impact that this sequence of 3 patches has on performance for our presets. What machine did you do the test on?
Pradeep Ramachandran, PhD
Solution Architect,
pradeeprama.info/
www.multicorewareinc.com/
Ph: +91 99627 82018
On Tue, Dec 22, 2015 at 7:19 AM, Min Chen <chenm003 at 163.com> wrote:
# HG changeset patch
# User Min Chen <chenm003 at 163.com>
# Date 1450728715 21600
# Node ID 3e9e45fd692d79806e53d69c2ed7a20b3e24e671
# Parent d8c3eded1440670bde63e2fb5bec0e80ff6e2d67
reduce pointer operators on I400
---
source/encoder/framefilter.cpp | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff -r d8c3eded1440 -r 3e9e45fd692d source/encoder/framefilter.cpp
--- a/source/encoder/framefilter.cpp Mon Dec 21 13:46:28 2015 -0600
+++ b/source/encoder/framefilter.cpp Mon Dec 21 14:11:55 2015 -0600
@@ -507,7 +507,7 @@
const intptr_t stride = reconPic->m_stride;
const intptr_t strideC = reconPic->m_strideC;
pixel *pixY = reconPic->getLumaAddr(lineStartCUAddr);
- // // MUST BE check I400 since m_picOrg uninitialize in that case
+ // MUST BE check I400 since m_picOrg uninitialize in that case
pixel *pixU = (m_param->internalCsp != X265_CSP_I400) ? reconPic->getCbAddr(lineStartCUAddr) : NULL;
pixel *pixV = (m_param->internalCsp != X265_CSP_I400) ? reconPic->getCrAddr(lineStartCUAddr) : NULL;
int copySizeY = realW;
@@ -560,13 +560,14 @@
if (row == FrameFilter::ParallelFilter::numRows - 1)
{
pixY += (realH - 1) * stride;
- pixU += ((realH >> vChromaShift) - 1) * strideC;
- pixV += ((realH >> vChromaShift) - 1) * strideC;
for (uint32_t y = 0; y < lumaMarginY; y++)
memcpy(pixY + (y + 1) * stride, pixY, copySizeY * sizeof(pixel));
if (m_param->internalCsp != X265_CSP_I400)
{
+ pixU += ((realH >> vChromaShift) - 1) * strideC;
+ pixV += ((realH >> vChromaShift) - 1) * strideC;
+
for (uint32_t y = 0; y < chromaMarginY; y++)
{
memcpy(pixU + (y + 1) * strideC, pixU, copySizeC * sizeof(pixel));
_______________________________________________
x265-devel mailing list
x265-devel at videolan.org
https://mailman.videolan.org/listinfo/x265-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20151223/cf6b1653/attachment.html>
More information about the x265-devel
mailing list