[Ffmpeg-devel] [PATH] test if cpu supports CMOV
Michael Niedermayer
michaelni
Mon Oct 16 11:06:54 CEST 2006
Hi
On Mon, Oct 16, 2006 at 10:37:35AM +0200, Diego Biurrun wrote:
> On Fri, Oct 13, 2006 at 12:03:52PM +0200, Michael Niedermayer wrote:
> >
> > On Fri, Oct 13, 2006 at 05:35:13PM +0800, Zuxy Meng wrote:
> > >
> > > 2006/10/13, Guillaume Poirier <gpoirier at mplayerhq.hu>:
> > > >The attached patch (hopefully) allows to test for the presence of CMOV
> > > >instruction, introduced in _real_ i686 CPUs.
> > > >It's needed for latest and greatest CABAC code, as some cpus that
> > > >claim to be i686 do not support cmov (such as VIA C3).
> > > >
> > > >This patch creates #define HAVE_CMOV 1 for config.h and
> > > >TARGET_CMOV=yes for config.mak.
> > > >I don't know if the name is too wise, maybe it would be better to have
> > > > HAVE_X86_CMOV to specify that were are talking about x86 in
> > > >particular (other CPU support conditional move too, sadly, PPC doesn't).
> > > >
> >
> > this will break runtime cpudetect (yeah i know my crap code already
> > broke it but thats not supposed to stay that way in svn)
>
> BTW, is there an ETA on this? We've postponed MPlayer 1.0RC1 to the
> next weekend yesterday because of the cmov issue ...
you can always take a older ffmpeg checkout which doesnt have these issues
>
> We already have some cmov code in libavutil/common.h, which is enclosed
> by '#if defined(ARCH_X86) && __CPU__ >= 686'. I wanted to commit this
> as a quick fix to libavcodec/cabac.h, but there are two problems:
>
> 1) Apparently there are 686 CPUs without cmov (VIA C3).
i dont remember any bugreports for these in relation to the common.h code
and grepping for c3 in mplayers configure shows
----
6) iproc=686
if test "$pmodel" -ge 9; then
proc=c3-2
else
proc=c3
iproc=586
fi
;;
----
so this doest seems to be a real issue
> 2) The #else case at cabac.h:472 will not compile (there is a single
> line with FIXTHIS on it) and even then it's broken, the decode only
> produces a gray picture.
ill fix this ASAP of course
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is
More information about the ffmpeg-devel
mailing list