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

Måns Rullgård mans
Tue Aug 24 23:14:19 CEST 2010


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

> Hi,
>
> 2010/8/24 M?ns Rullg?rd <mans at mansr.com>:
>> "Ronald S. Bultje" <rsbultje at gmail.com> writes:
>>> 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.
>
> Both fixed.

Looks OK.  Did you test (build) with and without both VP6 and yasm
enabled?  Just to be sure we didn't both overlook something...

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



More information about the ffmpeg-devel mailing list