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

Måns Rullgård mans
Wed Aug 25 01:08:42 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:
>>> 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.

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



More information about the ffmpeg-devel mailing list