[x265] [PATCH] asm: assembly code for pixel_sad_16x64

Steve Borho steve at borho.org
Mon Oct 28 19:31:42 CET 2013


On Mon, Oct 28, 2013 at 5:46 AM, <dnyaneshwar at multicorewareinc.com> wrote:

> # HG changeset patch
> # User Dnyaneshwar Gorade <dnyaneshwar at multicorewareinc.com>
> # Date 1382957168 -19800
> #      Mon Oct 28 16:16:08 2013 +0530
> # Node ID a44e10ccd754dcd8a5c24bc078c1912fa80782a0
> # Parent  b9a9f725d4892ced1176288fe1e20069fa188132
> asm: assembly code for pixel_sad_16x64
>

this also causes encoder crashes


> diff -r b9a9f725d489 -r a44e10ccd754 source/common/x86/asm-primitives.cpp
> --- a/source/common/x86/asm-primitives.cpp      Mon Oct 28 16:11:20 2013
> +0530
> +++ b/source/common/x86/asm-primitives.cpp      Mon Oct 28 16:16:08 2013
> +0530
> @@ -236,6 +236,7 @@
>          //PIXEL_AVE(sse2);
>
>          p.sad[LUMA_16x32]  = x265_pixel_sad_16x32_sse2;
> +        p.sad[LUMA_16x64]  = x265_pixel_sad_16x64_sse2;
>
>          ASSGN_SSE(sse2);
>          INIT2(sad, _sse2);
> diff -r b9a9f725d489 -r a44e10ccd754 source/common/x86/sad-a.asm
> --- a/source/common/x86/sad-a.asm       Mon Oct 28 16:11:20 2013 +0530
> +++ b/source/common/x86/sad-a.asm       Mon Oct 28 16:16:08 2013 +0530
> @@ -267,6 +267,34 @@
>      movd   eax, m0
>      RET
>
>
> +;-----------------------------------------------------------------------------
> +; int pixel_sad_16x64( uint8_t *, intptr_t, uint8_t *, intptr_t )
>
> +;-----------------------------------------------------------------------------
> +cglobal pixel_sad_16x64, 4,4,3
> +    pxor m0, m0
> +
> +    PROCESS_SAD_4x16
>

4x16 seems like an innefficient way to split up 16x64


> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +    PROCESS_SAD_4x16
> +
> +    movhlps m1, m0
> +    paddd   m0, m1
> +    movd   eax, m0
> +    RET
> +
>  %endmacro
>
>  INIT_XMM sse2
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>



-- 
Steve Borho
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20131028/498b705b/attachment-0001.html>


More information about the x265-devel mailing list