On Mon, Jun 25, 2012 at 1:38 PM, Justin Ruggles
<[email protected]> wrote:
> ---
>  libavresample/x86/audio_convert.asm    |   28 ++++++++++++++++++++++++++++
>  libavresample/x86/audio_convert_init.c |    9 +++++++++
>  2 files changed, 37 insertions(+), 0 deletions(-)
>
> diff --git a/libavresample/x86/audio_convert.asm 
> b/libavresample/x86/audio_convert.asm
> index 7b3cc22..c14f4ef 100644
> --- a/libavresample/x86/audio_convert.asm
> +++ b/libavresample/x86/audio_convert.asm
> @@ -233,6 +233,34 @@ INIT_YMM avx
>  CONV_FLT_TO_S32
>  %endif
>
> +;------------------------------------------------------------------------------
> +; void ff_conv_s16p_to_s16_2ch(int16_t *dst, int16_t *const *src, int len,
> +;                              int channels);
> +;------------------------------------------------------------------------------
> +
> +INIT_XMM sse2
> +cglobal conv_s16p_to_s16_2ch, 3,4,5, dst, src, len, src1
> +    mov       src1q, [srcq+gprsize]
> +    mov        srcq, [srcq        ]
> +    sub       src1q, srcq
> +    ALIGN 16
> +.loop
> +    mova         m0, [srcq             ]
> +    mova         m1, [srcq+src1q       ]
> +    mova         m2, [srcq      +mmsize]
> +    mova         m3, [srcq+src1q+mmsize]
> +    SBUTTERFLY2  wd, 0, 1, 4
> +    SBUTTERFLY2  wd, 2, 3, 4
> +    mova  [dstq         ], m0
> +    mova  [dstq+1*mmsize], m1
> +    mova  [dstq+2*mmsize], m2
> +    mova  [dstq+3*mmsize], m3
> +    add        srcq, mmsize*2
> +    add        dstq, mmsize*4
> +    sub        lend, mmsize
> +    jg .loop
> +    REP_RET

Looks okay to me.

Jason
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to