On 9/5/2016 8:02 AM, Anton Khirnov wrote:
> ---
>  libavcodec/x86/Makefile       |  1 -
>  libavcodec/x86/audiodsp.asm   | 42 +++++++++++++++++++++++++++++++
>  libavcodec/x86/audiodsp_mmx.c | 58 
> -------------------------------------------
>  3 files changed, 42 insertions(+), 59 deletions(-)
>  delete mode 100644 libavcodec/x86/audiodsp_mmx.c

Missing the changes to audiodsp_init.c to make the function depend on
EXTERNAL_SSE instead of INLINE_SSE.

> 
> diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile
> index 906bd0ea..98c27fa 100644
> --- a/libavcodec/x86/Makefile
> +++ b/libavcodec/x86/Makefile
> @@ -58,7 +58,6 @@ OBJS-$(CONFIG_VP9_DECODER)             += x86/vp9dsp_init.o
>  
>  # GCC inline assembly optimizations
>  # subsystems
> -MMX-OBJS-$(CONFIG_AUDIODSP)            += x86/audiodsp_mmx.o
>  MMX-OBJS-$(CONFIG_FDCTDSP)             += x86/fdct.o
>  MMX-OBJS-$(CONFIG_HPELDSP)             += x86/fpel_mmx.o                \
>                                            x86/hpeldsp_mmx.o
> diff --git a/libavcodec/x86/audiodsp.asm b/libavcodec/x86/audiodsp.asm
> index 0e3019c..3169249 100644
> --- a/libavcodec/x86/audiodsp.asm
> +++ b/libavcodec/x86/audiodsp.asm
> @@ -136,3 +136,45 @@ VECTOR_CLIP_INT32 11, 1, 1, 0
>  %else
>  VECTOR_CLIP_INT32 6, 1, 0, 0
>  %endif
> +
> +; void ff_vector_clipf_sse(float *dst, const float *src,
> +;                          int len, float min, float max)
> +INIT_XMM sse
> +cglobal vector_clipf, 3, 3, 6, dst, src, len, min, max
> +%if ARCH_X86_32
> +    VBROADCASTSS m0, minm
> +    VBROADCASTSS m1, maxm
> +%else

You should SWAP the regs here for Win64 as i mentioned in another email.

> +    VBROADCASTSS m0, m0
> +    VBROADCASTSS m1, m1
> +%endif
> +
> +    movsxdifnidn lenq, lend
> +    shl lenq, 2

shl lend, 2

Saves you one instruction by zeroing the high 32 bits implicitly, so you
don't need the movsxd anymore.

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to