[MPlayer-users] endian problem/question

Steven M. Schultz sms at 2BSD.COM
Mon Apr 14 05:50:23 CEST 2003


Hi -

	I'm running into what looks to be an 'endian'ness problem when 
	playing MPEG-4 videos (in quicktime format) on other than an Intel
	platform and have a couple questions.

	MPlayer detects the format and video+audio types correctly but then
	can't decode the audio.   On a big endian machine (Apple Powerbook):

[DHCP-250:~/Documents] sms% mplayer -vo sdl test1.mp4

MPlayer dev-CVS-030413-18:18-3.1 (C) 2000-2003 Arpad Gereoffy (see DOCS)

AltiVec found
Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /Users/stevenschultz/.mplayer/config
Reading /Users/stevenschultz/.mplayer/codecs.conf: can't open '/Users/stevenschultz/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: 53 audio & 140 video codecs
font: can't open file: /Users/stevenschultz/.mplayer/font/font.desc
Font /usr/local/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using usleep() timing
Can't open input config file /Users/stevenschultz/.mplayer/input.conf : No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf : No such file or directory
Falling back on default (hardcoded) input config

Playing test1.mp4
MOV: File-Type unknown Major-Brand: mp42
QuickTime/MOV file format detected.
--------------
MOV track #0: 1197 chunks, 9342 samples
Audio bits: 16  chans: 2  rate: 32000
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (51)!
Fourcc: a4pm
--------------
MOV track #1: 1196 chunks, 8959 samples
MOV: Found MPEG4 movie Elementary Stream Descriptor atom (69)!
Image size: 320 x 240 (24 bpp)
Display size: 320 x 240
Fourcc: v4pm  Codec: ''
--------------
MOV track #2: 1 chunks, 0 samples
Generic track - not completly understood! (id: 2)
--------------
MOV track #3: 1 chunks, 0 samples
Generic track - not completly understood! (id: 3)
--------------
MOV: longest streams: A: #0 (9342 samples)  V: #1 (8959 samples)
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: Failed to initialize the decoder!
ADecoder init failed :(
ADecoder init failed :(
*** Try to upgrade /Users/stevenschultz/.mplayer/codecs.conf from etc/codecs.conf
*** If it still does not work, read DOCS/codecs.html!
Cannot find codec for audio format 0x6134706D.
==========================================================================
SDL: Using driver: Quartz
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Audio: no sound
Starting playback...
VDec: vo config request - 320 x 240 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO: [sdl] 320x240 => 320x240 Planar YV12 
V:   0.0    1   0%  0%  0.0% 0 0 0%
Exiting... (Quit)
Script done on Sun Apr 13 19:19:21 2003

	While on a Intel platform using the same exact input video:

MPlayer dev-CVS-2003Apr10-23:37-2.95.3 (C) 2000-2003 Arpad Gereoffy (see DOCS)

CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6, Stepping: 1)
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2

Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /users/sms/.mplayer/config
Reading /users/sms/.mplayer/codecs.conf: can't open '/users/sms/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: 50 audio & 140 video codecs
font: can't open file: /users/sms/.mplayer/font/font.desc
Font /usr/local/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using usleep() timing
Input config file /users/sms/.mplayer/input.conf parsed : 50 binds

Playing test1.mp4
MOV: File-Type unknown Major-Brand: mp42
QuickTime/MOV file format detected.
--------------
MOV track #0: 1197 chunks, 9342 samples
Audio bits: 16  chans: 2  rate: 32000
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (51)!
Fourcc: mp4a
--------------
MOV track #1: 1196 chunks, 8959 samples
MOV: Found MPEG4 movie Elementary Stream Descriptor atom (69)!
Image size: 320 x 240 (24 bpp)
Display size: 320 x 240
Fourcc: mp4v  Codec: ''
--------------
MOV track #2: 1 chunks, 0 samples
Generic track - not completly understood! (id: 2)
--------------
MOV track #3: 1 chunks, 0 samples
Generic track - not completly understood! (id: 3)
--------------
MOV: longest streams: A: #0 (9342 samples)  V: #1 (8959 samples)
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 32000 Hz, 2 ch, 16 bit (0x10), ratio: 16000->128000 (128.0 kbit)
Selected audio codec: [faad] afm:faad (AAC MPEG2/MPEG4 Audio)
==========================================================================
vo: X11 running at 1600x1200 with depth 24 and 32 bpp (":0.0" => local display)
Disabling DPMS
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 32000Hz/2ch/16bit -> 32000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 32000 hz, little endian signed int 
AF_pre: 32000Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 32000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)

	In the first case the audio 4cc is 'a4pm' and in the second case
	it is "mp4a".   I tried adding 'a4pm' to the codecs.conf but that
	didn't make any difference.

	Whose responsibility is it to flip the bytes around?   It seems
	that libfaad2 is unhappy with the 'a4pm' structure which leads me
	to wonder if it's MPlayer's task to flip bytes before calling the
	faad routines.

	Is anyone else running MPlayer on a big endian based cpu?   If so
	what needs to be done to handle raw DV and MPEG-4/AAC types of files?

	I've tried this with a couple different files - one created on an
	Intel platform and another created using iMovie on the Mac itself
	and the behaviour of MPlayer's the same in both cases.

	First the raw DV files get identified as 'H264' and now .mp4 files
	are video only since the audio isn't decoded.

	MPEG-1/2 playback works fine and that's the main thing I was 
	interested in.   Be nice to run mencoder on the raw DV files from
	the Firewire capture but that's not a high priority right now.

	Thanks for any insight and hints.

	Cheers,
	Steven Schultz



More information about the MPlayer-users mailing list