[x265] [PATCH 3 of 3] reduce pointer operators on I400

Pradeep Ramachandran pradeep at multicorewareinc.com
Wed Dec 23 05:07:14 CET 2015


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/875954c6/attachment.html>


More information about the x265-devel mailing list