[MPlayer-dev-eng] [PATCH] SSE detection fix for NetBSD/amd64
Aurelien Jacobs
aurel at gnuage.org
Mon Jan 10 19:33:06 CET 2005
On Mon, 10 Jan 2005 02:00:13 +0100
Aurelien Jacobs <aurel at gnuage.org> wrote:
> On Sun, 9 Jan 2005 19:50:01 +0100
> Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> wrote:
>
> > Hi,
> > On Sun, Jan 09, 2005 at 07:10:55PM +0100, Guillaume POIRIER wrote:
> > > Le vendredi 07 janvier 2005 à 18:42 +0100, Aurelien Jacobs a écrit :
> > >
> > > > I didn't found any way to test OS SSE support on x86-64.
> > > > But AFAIK, there is no x86-64 OS which don't support SSE.
> > > > I guess it's safe to assume SEE support on x86-64, whatever the OS is.
> > > > So I propose the following patch, which should make everyone happy.
> > > >
> > > > Anyone against it ?
> > >
> > > I'm not. This patch does work well, and allows some faster code to be
> > > enabled.
> > > I posted a bench last Thursday on XviD mailling list to compare the
> > > x86-64 version against IA-32.
> > >
> > > Here are the new figures:
> > >
> > > On x86-64
> > > XviD Pure C | XviD Edouard SIMD | lavc + SIMD
> > > Pass 1: 37fps | 78fps SSE: 90fps | 82fps SSE: 84fps
> > > Pass 2: 11fps | 32fps SSE: 36fps | 30fps SSE: 30fps
> > >
> > > Well, I'm quite puzzled why lavc doesn't get boosted by the activation
> > > of SSE, but regarding XviD, when It's run with a SSE1|2-aware mencoder,
> > > it gets a bonus 12%... not bad. Not bad at all!
> >
> > That is because lavc uses cpudetection based in the code in
> > libavcodec/i386/cputest.c.
>
> AFAIR, there's not so much SSE optimisations in lavc. There are certainly
> more functions which could benefits of SSE.
>
> > No idea why there a different implementations of this, and why the OS is
> > asked and doesn't just use the CPUID instruction (or is it e.g. possible for
> > the kernel to disable SSE? or CPUID?)...
>
> It seems that some older kernels didn't handled SSE registers saving at
> context switch, thus breaking mplayer when running concurrently with another
> SSE apps.
> But such old kernel won't run on amd64, so I guess all amd64 kernels handle
> SSE registers well.
> I will commit soon if nobody complain and if this breaks on some kernel,
> we will certainly discover it sooner or later.
Committed.
Aurel
More information about the MPlayer-dev-eng
mailing list