[FFmpeg-devel] [ping] [PATCH] mmx implementation of vc-1 inverse transformations

Yuriy Kaminskiy yumkam
Fri Oct 1 21:45:24 CEST 2010


Yuriy Kaminskiy wrote:
> Yuriy Kaminskiy wrote:
>> Hello!
>>
>> I've noticed old and forgotten patch series by Victor Pollex
>> (http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-July/050503.html),
>> forward-ported it to current ffmpeg, it seems gives 12%-20% faster decoding
>> (benchmarked with ffmpeg [...] -f yuv4mpeg /dev/null, verified with -f framecrc).
[...]
>> be easier to drop that and just use _transposed flags.
>> I've also fixed problematic asm arguments: s/(0x\d\d)%0/$1(%0)/.
> Doh. Some of this kind somehow slipped (I was totally sure I've replaced all
> them long time ago :-|). Fixed version attached.

... and during forward porting ff_vc1dsp_init_sse2() call somehow landed in
wrong place [3dnow section instead of sse2] (coincidently it happen to work on
my cpu :-|).
Only difference with 40_vc1dsp_sse2-4.patch - move this call to proper place.

> --- libavcodec/x86/dsputil_mmx.c.orig	2010-09-30 20:35:38.000000000 +0400
> +++ libavcodec/x86/dsputil_mmx.c	2010-09-30 20:39:41.000000000 +0400
> @@ -2879,6 +2879,9 @@ void dsputil_init_mmx(DSPContext* c, AVC
>                  c->float_to_int16 = float_to_int16_3dnow;
>                  c->float_to_int16_interleave = float_to_int16_interleave_3dnow;
>              }
> +
> +            if (CONFIG_VC1_DECODER || CONFIG_WMV3_DECODER)
> +                ff_vc1dsp_init_sse2(c, avctx);
>          }
>          if(mm_flags & AV_CPU_FLAG_3DNOWEXT){
>              c->vector_fmul_reverse = vector_fmul_reverse_3dnow2;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 40_vc1dsp_sse2-5.patch
Type: text/x-diff
Size: 9585 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101001/487867a7/attachment.patch>



More information about the ffmpeg-devel mailing list