[x265] [PATCH 1 of 3] SEA motion search: Enable asm primitives for integralh functions

Pradeep Ramachandran pradeep at multicorewareinc.com
Mon Jun 19 11:55:02 CEST 2017


On Fri, Jun 16, 2017 at 2:26 PM, <jayashri at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Jayashri Murugan <jayashri at multicorewareinc.com>
> # Date 1497000123 -19800
> #      Fri Jun 09 14:52:03 2017 +0530
> # Node ID 4a7d62d8908dd41d0b88d9bfd72e95aae5cb3489
> # Parent  011e09a0d4b2a6c9755aceb12c4da50fa465401f
> SEA motion search: Enable asm primitives for integralh functions
>

Pushed all patches in this bundle to default branch


>
> diff -r 011e09a0d4b2 -r 4a7d62d8908d source/encoder/framefilter.cpp
> --- a/source/encoder/framefilter.cpp    Fri Jun 09 11:19:34 2017 +0530
> +++ b/source/encoder/framefilter.cpp    Fri Jun 09 14:52:03 2017 +0530
> @@ -852,47 +852,47 @@
>              uint32_t *sum4x4 = m_frame->m_encData->m_meIntegral[11] + (y
> + 1) * stride - padX;
>
>              /*For width = 32 */
> -            integral_init32h_c(sum32x32, pix, stride);
> +            primitives.integral_inith[INTEGRAL_32](sum32x32, pix,
> stride);
>              if (y >= 32 - padY)
> -                primitives.integral_initv[5](sum32x32 - 32 * stride,
> stride);
> -            integral_init32h_c(sum32x24, pix, stride);
> +                primitives.integral_initv[INTEGRAL_32](sum32x32 - 32 *
> stride, stride);
> +            primitives.integral_inith[INTEGRAL_32](sum32x24, pix,
> stride);
>              if (y >= 24 - padY)
> -                primitives.integral_initv[4](sum32x24 - 24 * stride,
> stride);
> -            integral_init32h_c(sum32x8, pix, stride);
> +                primitives.integral_initv[INTEGRAL_24](sum32x24 - 24 *
> stride, stride);
> +            primitives.integral_inith[INTEGRAL_32](sum32x8, pix, stride);
>              if (y >= 8 - padY)
> -                primitives.integral_initv[1](sum32x8 - 8 * stride,
> stride);
> +                primitives.integral_initv[INTEGRAL_8](sum32x8 - 8 *
> stride, stride);
>              /*For width = 24 */
> -            integral_init24h_c(sum24x32, pix, stride);
> +            primitives.integral_inith[INTEGRAL_24](sum24x32, pix,
> stride);
>              if (y >= 32 - padY)
> -                primitives.integral_initv[5](sum24x32 - 32 * stride,
> stride);
> +                primitives.integral_initv[INTEGRAL_32](sum24x32 - 32 *
> stride, stride);
>              /*For width = 16 */
> -            integral_init16h_c(sum16x16, pix, stride);
> +            primitives.integral_inith[INTEGRAL_16](sum16x16, pix,
> stride);
>              if (y >= 16 - padY)
> -                primitives.integral_initv[3](sum16x16 - 16 * stride,
> stride);
> -            integral_init16h_c(sum16x12, pix, stride);
> +                primitives.integral_initv[INTEGRAL_16](sum16x16 - 16 *
> stride, stride);
> +            primitives.integral_inith[INTEGRAL_16](sum16x12, pix,
> stride);
>              if (y >= 12 - padY)
> -                primitives.integral_initv[2](sum16x12 - 12 * stride,
> stride);
> -            integral_init16h_c(sum16x4, pix, stride);
> +                primitives.integral_initv[INTEGRAL_12](sum16x12 - 12 *
> stride, stride);
> +            primitives.integral_inith[INTEGRAL_16](sum16x4, pix, stride);
>              if (y >= 4 - padY)
> -                primitives.integral_initv[0](sum16x4 - 4 * stride,
> stride);
> +                primitives.integral_initv[INTEGRAL_4](sum16x4 - 4 *
> stride, stride);
>              /*For width = 12 */
> -            integral_init12h_c(sum12x16, pix, stride);
> +            primitives.integral_inith[INTEGRAL_12](sum12x16, pix,
> stride);
>              if (y >= 16 - padY)
> -                primitives.integral_initv[3](sum12x16 - 16 * stride,
> stride);
> +                primitives.integral_initv[INTEGRAL_16](sum12x16 - 16 *
> stride, stride);
>              /*For width = 8 */
> -            integral_init8h_c(sum8x32, pix, stride);
> +            primitives.integral_inith[INTEGRAL_8](sum8x32, pix, stride);
>              if (y >= 32 - padY)
> -                primitives.integral_initv[5](sum8x32 - 32 * stride,
> stride);
> -            integral_init8h_c(sum8x8, pix, stride);
> +                primitives.integral_initv[INTEGRAL_32](sum8x32 - 32 *
> stride, stride);
> +            primitives.integral_inith[INTEGRAL_8](sum8x8, pix, stride);
>              if (y >= 8 - padY)
> -                primitives.integral_initv[1](sum8x8 - 8 * stride,
> stride);
> +                primitives.integral_initv[INTEGRAL_8](sum8x8 - 8 *
> stride, stride);
>              /*For width = 4 */
> -            integral_init4h_c(sum4x16, pix, stride);
> +            primitives.integral_inith[INTEGRAL_4](sum4x16, pix, stride);
>              if (y >= 16 - padY)
> -                primitives.integral_initv[3](sum4x16 - 16 * stride,
> stride);
> -            integral_init4h_c(sum4x4, pix, stride);
> +                primitives.integral_initv[INTEGRAL_16](sum4x16 - 16 *
> stride, stride);
> +            primitives.integral_inith[INTEGRAL_4](sum4x4, pix, stride);
>              if (y >= 4 - padY)
> -                primitives.integral_initv[0](sum4x4 - 4 * stride,
> stride);
> +                primitives.integral_initv[INTEGRAL_4](sum4x4 - 4 *
> stride, stride);
>          }
>          m_parallelFilter[row].m_frameFilter->integralCompleted.set(1);
>      }
> _______________________________________________
> 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/20170619/ebcc33e6/attachment-0001.html>


More information about the x265-devel mailing list