[FFmpeg-devel] [PATCH] move vp6 dsp from inline asm to yasm

Måns Rullgård mans
Tue Aug 24 22:22:04 CEST 2010


"Ronald S. Bultje" <rsbultje at gmail.com> writes:

> Hi,
>
> this likely fixes fate failures related to vp6 on win64. It also
> removes a shitload of duplication. Passes make fate-*vp6*.
>
> Ronald
>
> Index: ffmpeg-svn/libavcodec/x86/Makefile
> ===================================================================
> --- ffmpeg-svn.orig/libavcodec/x86/Makefile	2010-08-24 16:06:01.000000000 -0400
> +++ ffmpeg-svn/libavcodec/x86/Makefile	2010-08-24 16:06:20.000000000 -0400
> @@ -31,11 +31,11 @@
>  MMX-OBJS-$(CONFIG_VP5_DECODER)         += x86/vp3dsp_mmx.o              \
>                                            x86/vp3dsp_sse2.o             \
>                                            x86/vp56dsp-init.o
> +YASM-OBJS-$(CONFIG_VP6_DECODER)        += x86/vp56dsp.o
>  MMX-OBJS-$(CONFIG_VP6_DECODER)         += x86/vp3dsp_mmx.o              \
>                                            x86/vp3dsp_sse2.o             \
> -                                          x86/vp6dsp_mmx.o              \
> -                                          x86/vp6dsp_sse2.o             \
> -                                          x86/vp56dsp-init.o
> +                                          x86/vp56dsp-init.o            \
> +                                          $(YASM-OBJS-yes)

This is wrong.  The last line above should go away.

> Index: ffmpeg-svn/libavcodec/x86/vp56dsp-init.c
> ===================================================================
> --- ffmpeg-svn.orig/libavcodec/x86/vp56dsp-init.c	2010-08-24 16:06:17.000000000 -0400
> +++ ffmpeg-svn/libavcodec/x86/vp56dsp-init.c	2010-08-24 16:06:35.000000000 -0400
> @@ -23,8 +23,11 @@
>  #include "libavutil/x86_cpu.h"
>  #include "libavcodec/dsputil.h"
>  #include "libavcodec/vp56dsp.h"
> -#include "vp6dsp_mmx.h"
> -#include "vp6dsp_sse2.h"
> +
> +void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, int stride,
> +                             const int16_t *h_weights,const int16_t *v_weights);
> +void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, int stride,
> +                              const int16_t *h_weights,const int16_t *v_weights);
>  
>  av_cold void ff_vp56dsp_init_x86(VP56DSPContext* c, enum CodecID codec)
>  {

This function needs some HAVE_YASM tests added.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list