[FFmpeg-devel] Fix VP3 IDCT on Win64

Måns Rullgård mans
Wed Aug 25 20:46:35 CEST 2010


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

> Hi,
>
> After this patch, it's still broken, because of put_h264_chroma_mc8
> ssse3 not properly marking clobbers, but this patch 1/3rd-fixes
> VP6/Win64/FATE failures (similar to how my previous patch fixed a
> third of it).
>
> I can't fix put_h264_chroma_mc8_ssse3 because it's split over multiple
> asm() statements which rely on maintaining register values between, so
> I will likely rewrite that (also for VC-1/H.264/RV40) in yasm, but
> that'll take a little longer... After that, fate-ea-vp60 passes
> (haven't tested the others yet, because Win64 hates me).
>
> Ronald
>
> Index: libavcodec/x86/vp3dsp_sse2.c
> ===================================================================
> --- libavcodec/x86/vp3dsp_sse2.c	(revision 24909)
> +++ libavcodec/x86/vp3dsp_sse2.c	(working copy)
> @@ -171,6 +171,7 @@
>          VP3_1D_IDCT_SSE2(ADD8, SHIFT4)
>          PUT_BLOCK(%%xmm0, %%xmm1, %%xmm2, %%xmm3, %%xmm4, %%xmm5, %%xmm6, %%xmm7)
>          :: "r"(input_data), "r"(ff_vp3_idct_data), "m"(ff_pw_8)
> +        : "%xmm6", "%xmm7"
>      );
>  }

Looks good to my untrained eye.

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



More information about the ffmpeg-devel mailing list