[x265] [PATCH] integrate interpolate HV

Steve Borho steve at borho.org
Wed Jan 7 10:59:02 CET 2015


On 01/07, Min Chen wrote:
> # HG changeset patch
> # User Min Chen <chenm003 at 163.com>
> # Date 1420621997 -28800
> # Node ID c376deb69ecf2ed8a27aacba90711624c8ecba43
> # Parent  4c4a4f290bd759fd5c496f8e551fcd653940d3b0
> integrate interpolate HV

What perf impact do you see from these two changes, with our existing
SIMD code?

> diff -r 4c4a4f290bd7 -r c376deb69ecf source/common/predict.cpp
> --- a/source/common/predict.cpp	Wed Jan 07 14:20:44 2015 +0800
> +++ b/source/common/predict.cpp	Wed Jan 07 17:13:17 2015 +0800
> @@ -341,11 +341,12 @@
>          primitives.luma_vpp[partEnum](src, srcStride, dst, dstStride, yFrac);
>      else
>      {
> -        int tmpStride = m_puWidth;
> -        int filterSize = NTAPS_LUMA;
> -        int halfFilterSize = (filterSize >> 1);
> -        primitives.luma_hps[partEnum](src, srcStride, m_immedVals, tmpStride, xFrac, 1);
> -        primitives.luma_vsp[partEnum](m_immedVals + (halfFilterSize - 1) * tmpStride, tmpStride, dst, dstStride, yFrac);
> +        //int tmpStride = m_puWidth;
> +        //int filterSize = NTAPS_LUMA;
> +        //int halfFilterSize = (filterSize >> 1);
> +        //primitives.luma_hps[partEnum](src, srcStride, m_immedVals, tmpStride, xFrac, 1);
> +        //primitives.luma_vsp[partEnum](m_immedVals + (halfFilterSize - 1) * tmpStride, tmpStride, dst, dstStride, yFrac);
> +        primitives.luma_hvpp[partEnum](src, srcStride, dst, dstStride, xFrac, yFrac);
>      }
>  }
>  
> diff -r 4c4a4f290bd7 -r c376deb69ecf source/encoder/motion.cpp
> --- a/source/encoder/motion.cpp	Wed Jan 07 14:20:44 2015 +0800
> +++ b/source/encoder/motion.cpp	Wed Jan 07 17:13:17 2015 +0800
> @@ -1208,12 +1208,13 @@
>              primitives.luma_vpp[partEnum](fref, refStride, subpelbuf, lclStride, yFrac);
>          else
>          {
> -            ALIGN_VAR_32(int16_t, immed[64 * (64 + NTAPS_LUMA)]);
> +            //ALIGN_VAR_32(int16_t, immed[64 * (64 + NTAPS_LUMA)]);
>  
> -            int filterSize = NTAPS_LUMA;
> -            int halfFilterSize = filterSize >> 1;
> -            primitives.luma_hps[partEnum](fref, refStride, immed, blockwidth, xFrac, 1);
> -            primitives.luma_vsp[partEnum](immed + (halfFilterSize - 1) * blockwidth, blockwidth, subpelbuf, lclStride, yFrac);
> +            //int filterSize = NTAPS_LUMA;
> +            //int halfFilterSize = filterSize >> 1;
> +            //primitives.luma_hps[partEnum](fref, refStride, immed, blockwidth, xFrac, 1);
> +            //primitives.luma_vsp[partEnum](immed + (halfFilterSize - 1) * blockwidth, blockwidth, subpelbuf, lclStride, yFrac);
> +            primitives.luma_hvpp[partEnum](fref, refStride, subpelbuf, lclStride, xFrac, yFrac);
>          }
>          cost = cmp(fencPUYuv.m_buf[0], lclStride, subpelbuf, lclStride);
>      }
> 
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel

-- 
Steve Borho


More information about the x265-devel mailing list