[x264-devel] "mv cost test failed; x264 has been miscompiled" problem

Jason Garrett-Glaser darkshikari at gmail.com
Fri Jan 29 07:40:37 CET 2010


On Thu, Jan 28, 2010 at 10:37 PM, Kevin.Liu <kevin.liu at innosofts.com> wrote:
> Hi Dark Shikari,
>   Sorry for the wrong date of the library. The correct is x264-snapshot-20100120 and ffmpeg-snapshot-20100128. :)
> I built (cegcc) the libx264.a and compiled the ffmpeg dll library with libx264 . I used the dll in my procedure.
>

If you are using ffmpeg directly via the libraries, I strongly
recommend bypassing its horrendous API and using libx264 directly
instead.  You will find it much simpler.

>  I found the params of X264Context is almost set by AvCodecContext in libx264.c of ffmpeg, so i just set the value which the struct AvCodecCotext have in the default preset file :
>
>>coder=1
>>flags=+loop
>>cmp=+chroma
>>partitions=+parti8x8+parti4x4+partp8x8+partb8x8
>>me_method=hex
>>subq=6
>>me_range=16
>>g=250
>>keyint_min=25
>>sc_threshold=40
>>i_qfactor=0.71
>>b_strategy=1
>>qcomp=0.6
>>qmin=10
>>qmax=51
>>qdiff=4
>>directpred=1
>>flags2=+fastpskip
>
>
> you means everything in the default preset file should be set to the ffmpeg by myself including "coder","flags"and others which AvcodecContext not have ?

No, it most definitely has those.  Look harder.

> I have built the x264 library(snapshot-20090419) for ffmpeg(20090320) with the same method ,and in that library it has no "broken ffmpeg setting error" "mv cost test failed" and can open the x264 encoder but the x264 can not support the arm with datatype misalignment error. So I built the new version.

That doesn't mean the problems weren't there, it just means the checks
for the problems weren't there.  Getting rid of the check doesn't get
rid of the problem, it just hides it.

>
>>Try disabling -ffast-math.
>
>  I can not do this when I ./configure the x264 ?

Yes, you can do this when you configure x264.

Dark Shikari


More information about the x264-devel mailing list