Log in

View Full Version : mPlayer and AMD64, no SSE/SSE2?


Sirber
2nd July 2006, 16:46
MPlayer 1.0pre8-3.4.2 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3000+ (Family: 15, Model: 31, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection.

Why not?

Oline 61
2nd July 2006, 17:17
Wow, I didn't even notice that until I read your post (I use an Athlon 64 too :)).
I built 1.0pre8 with GCC in Gentoo, and it detects everything fine. This appears to be a problem with the official Windows build.

hellfred
2nd July 2006, 19:56
MPlayer 1.0pre8-3.4.2 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) 64 Processor 3000+ (Family: 15, Model: 31, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection.

Why not?
Support for SSE and SSE2 is disabled under MinGW / Win32. I think there are some problems in libavcodec with not properly aligned memory. Sad but true...
If you want to get the best out of MPlayer / FFMpegs libavcodec, you have to use linux.:(

Hellfred

EDIT: Spelling

LoRd_MuldeR
2nd July 2006, 23:15
What about Celtic's builds?

MPlayer dev-SVN-r18883-4.0.3 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) XP 2800+ (Family: 6, Model: 10, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

Sirber
2nd July 2006, 23:49
SSE2 on Athlon XP? :sly:

LoRd_MuldeR
3rd July 2006, 01:31
SSE2 on Athlon XP? :sly:

I can run that build on my CPU, but of course it will crash immediately when I start playback ;)

Playing d:\!_temp\temp.mpg.
MPEG-PS file format detected.
VIDEO: MPEG2 720x576 (aspect 2) 25.000 fps 12000.0 kbps (1500.0 kbyte/s)
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 720 x 576 (preferred colorspace: Mpeg PES)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try adding the scale filter, e.g. -vf spp,scale instead of -vf spp.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 320.0 kbit/22.68% (ratio: 40000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [dsound] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...


MPlayer interrupted by signal 4 in module: play_audio
- MPlayer crashed by an 'Illegal Instruction'.
It usually happens when you run it on a CPU different than the one it was
compiled/optimized for.
Verify this!
- MPlayer crashed by bad usage of CPU/FPU/RAM.
Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen.
It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
gcc version. If you think it's MPlayer's fault, please read
DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
won't help unless you provide this information when reporting a possible bug.

Sirber
3rd July 2006, 02:14
sweet ;)

celtic_druid
3rd July 2006, 07:45
Yeah, I enabled SSE/SSE2. Whilst I haven't noticed any problems, that doesn't mean it is safe. My P4 build also has SSE/SSE2 enabled. Athlon-XP build has SSE disabled since there were some reported problems.

hellfred
3rd July 2006, 08:03
What about Celtic's builds?

MPlayer dev-SVN-r18883-4.0.3 (C) 2000-2006 MPlayer Team
CPU: AMD Athlon(tm) XP 2800+ (Family: 6, Model: 10, Stepping: 0)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
It may be detected, but AFAIK will not be used anyways.
Read this mail (http://thread.gmane.org/gmane.comp.video.mplayer.devel/35341/focus=35370) and the follow-ups.
Alternativ link (http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2006-June/044024.html) to the same mailing list message

CORRECTION:
I think CelticDruids build do use SSE code when it reports so. Where did you change the source to actually use SSE? ./configuer will detect SSE on my Pentium M, config.h #defines HAVE_SSE 1 but somewhere in the code that gets overwritten and output of compiled binary is Stefan@SAGARA ~/mplayer
$ mplayer
MPlayer dev-SVN-r18889-3.4.5 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 1.60GHz (Family: 6, Model: 13, Stepping: 8)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

After patching the source in the way the patch from the mailing list message suggests, I do get Stefan@SAGARA ~/mplayer
$ mplayer
MPlayer dev-SVN-r18889-3.4.5 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 1.60GHz (Family: 6, Model: 13, Stepping: 8)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

I will use the binary for a while and see if i can spot any visual artefacts.

Hellfred

celtic_druid
3rd July 2006, 09:43
No problems reported for my Pentium M builds, so I guess you should be ok.

hellfred
3rd July 2006, 14:18
No problems reported for my Pentium M builds, so I guess you should be ok.
As far as I can remember, mencoder produces (more) block artefacts when encoding MPEG-4 ASP (LMP4) with SSE assembler code under win32. Though my quick and dirty test, made right away, did not show any artefacts. But that was just reencoding of a short anime clip (1000 frames) with no motion in it, no real-life test.

Hellfred

EDIT:
The first 1000 frames of apple's NASA Space Shuttle HD trail do not exhibit any artefacts, too. The clip was once again reencoded to MPEG-4 ASP using libavcodec
Stefan@SAGARA ~
$ mencoder /d/Import/nasa_shuttle_m720p.mov -o test.avi -frames 1000 -of avi -o
ac pcm -ovc lavc -lavcopts vcodec=mpeg4:vqscale=2:vmax_b_frames=2:mbd=2:v4mv:vb
_strategy=2
MEncoder dev-SVN-r18889-3.4.5 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 1.60GHz (Family: 6, Model: 13, Stepping: 8)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
...