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

Ronald S. Bultje rsbultje
Wed Aug 25 15:45:52 CEST 2010


Hi,

2010/8/24 M?ns Rullg?rd <mans at mansr.com>:
> "Ronald S. Bultje" <rsbultje at gmail.com> writes:
>> 2010/8/24 M?ns Rullg?rd <mans at mansr.com>:
>>> "Ronald S. Bultje" <rsbultje at gmail.com> writes:
>>>> 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...
>>
>> Tested --disable-decoder=vp6, which works, and --disable-yasm, which
>> works also. Also tested make fate-ea-vp60 fate-vp6a fate-vp6f with
>> SSE2 disabled to ensure the MMX version works correctly.
>
> Then it should be safe to commit it.

Committed.

Ronald



More information about the ffmpeg-devel mailing list