[MPlayer-users] Incorrect HE AAC audio playback

Loren Merritt lorenm at u.washington.edu
Wed Apr 7 07:29:53 CEST 2004


On Tue, 6 Apr 2004, D Richard Felker III wrote:
> On Mon, Apr 05, 2004 at 05:34:37PM -0700, Loren Merritt wrote:
> > On Mon, 5 Apr 2004, Piotr Michniewski wrote:
> > > Recently, I tried to open a movie in the Matroska format. It contains 5.1
> > > audio in HE AAC. The audio was played, but the channels were wrong (i don't
> > > have a 5.1 card). In the left speaker I heard the central channel and in the
> > > right I heard one of the other channels. I think that MPlayer incorrectly
> > > downmixes 5.1 AAC audio.
> >
> > By default, MPlayer doesn't downmix at all, it just ignores extra
> > channels. To play AAC 5.1 on my stereo setup, I use:
> >
> > mplayer -af pan=6:.32:.39:.06:.17:-.17:.33:.32:.06:.39:-.17:.17:.33
> >
> > I don't know if this is the optimal matrix; I copied the coefficients from
> > MatrixMixer.
>
> -af pan works for you? How? When I try to use it, it loads 5 or 6
> random conversion filters back and forth between float and int, and
> white noise is the ultimate result. Very broken...
>
> Rich

How? I've never seen it break. Attached is a log showing -af pan working;
Maybe you can see what you do differently.
(I used mplayer-cvs here, but 1.0pre3 also works)
-------------- next part --------------
~> cat ~/.mplayer/config
vo=xmga
fixed-vo=1
cache=2048
fs=1
nomouseinput=1

subfont-text-scale=3.2
overlapsub=1
spuaa=20
spugauss=.7
slang=eng
alang=jpn,jap

~> /usr/bin/mplayer -v -af pan=6:.32:.39:.06:.17:-.17:.33:.32:.06:.39:-.17:.17:.33,volume=10 neko.mkv
MPlayer dev-CVS-040403-16:18-3.3.1 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices Athlon Thunderbird 1283 MHz (Family: 6, Stepping: 2)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx

Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or directory
Reading config file /home/loren/.mplayer/config
Reading /home/loren/.mplayer/codecs.conf: 61 audio & 169 video codecs
CommandLine: '-v' '-af' 'pan=6:.32:.39:.06:.17:-.17:.33:.32:.06:.39:-.17:.17:.33,volume=10' 'neko.mkv'
init_freetype
get_path('font/font.desc') -> '/home/loren/.mplayer/font/font.desc'
font: can't open file: /home/loren/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Linux RTC init error in ioctl (rtc_irqp_set 1024): Permission denied
Try adding "echo 1024 > /proc/sys/dev/rtc/max-user-freq" to your system startup scripts.
Using usleep() timing
get_path('input.conf') -> '/home/loren/.mplayer/input.conf'
Can't open input config file /home/loren/.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
get_path('neko.mkv.conf') -> '/home/loren/.mplayer/neko.mkv.conf'

Playing neko.mkv.
[file] File size is 732724871 bytes
STREAM: [file] neko.mkv
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
CACHE_PRE_INIT: 0 [0] 0  pre:0  eof:0  

Cache fill:  0.00% (0 bytes)    Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x8669f50  
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x8669f50  
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x8669f50  
Checking for REAL
DEMUXER: freeing demuxer at 0x8669f50  
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x8669f50  
[mkv] Found the head...
[mkv] + a segment...
[mkv] /---- [ parsing seek head ] ---------
[mkv] /---- [ parsing seek head ] ---------
[mkv] \---- [ parsing seek head ] ---------
[mkv] /---- [ parsing cues ] -----------
[mkv] \---- [ parsing cues ] -----------
[mkv] \---- [ parsing seek head ] ---------
[mkv] |+ segment information...
[mkv] | + duration: 4499.144s
[mkv] |+ segment tracks...
[mkv] | + a track...
[mkv] |  + Track number: 1
[mkv] |  + Track type: Video
[mkv] |  + Codec ID: V_MS/VFW/FOURCC
[mkv] |  + CodecPrivate, length 40
[mkv] |  + Default duration: 41.708ms ( = 23.976 fps)
[mkv] |  + Default flag: 1
[mkv] |  + Language: eng
[mkv] |  + Video track
[mkv] |   + Pixel width: 672
[mkv] |   + Pixel height: 432
[mkv] |   + Display width: 796
[mkv] |   + Display height: 432
[mkv] | + a track...
[mkv] |  + Track number: 2
[mkv] |  + Track type: Audio
[mkv] |  + Codec ID: A_AAC/MPEG4/LC/SBR
[mkv] |  + Default duration: 46.440ms ( = 21.533 fps)
[mkv] |  + Default flag: 1
[mkv] |  + Language: jpn
[mkv] |  + Audio track
[mkv] |   + Sampling frequency: 22050.000000
[mkv] |   + Channels: 6
[mkv] |+ found cluster, headers are parsed completely :)
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] Track ID 2: audio (A_AAC/MPEG4/LC/SBR), -aid 0, -alang jpn
==> Found video stream: 1
[mkv] Aspect: 1.842593
[mkv] Will play video track 1
==> Found audio stream: 2
[mkv] Will play audio track 2
Matroska file format detected.
[V] filefmt:31  fourcc:0x44495658  size:672x432  fps:23.98  ftime:=0.0417
get_path('sub/') -> '/home/loren/.mplayer/sub/'
get_path('default.sub') -> '/home/loren/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
dec_audio: Allocating 4608 bytes for input buffer.
dec_audio: Allocating 49152 + 65536 = 114688 bytes for output buffer.
FAAD: Decoder init done (0Bytes)!
FAAD: Negotiated samplerate: 44100Hz  channels: 6
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 44100 Hz, 6 ch, 16 bit (0x10), ratio: 16000->529200 (128.0 kbit)
Selected audio codec: [faad] afm:faad (FAAD AAC (MPEG2/MPEG4 Audio) decoder)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1024x768 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP X atoms
Disabling DPMS
DPMSDisable stat: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 44100Hz/6ch/16bit -> 44100Hz/2ch/16bit...
[libaf] Adding filter pan 
[pan] Pan level from channel 0 to channel 0 = 0.320000
[pan] Pan level from channel 1 to channel 0 = 0.390000
[pan] Pan level from channel 2 to channel 0 = 0.060000
[pan] Pan level from channel 3 to channel 0 = 0.170000
[pan] Pan level from channel 4 to channel 0 = 0.000000
[pan] Pan level from channel 5 to channel 0 = 0.330000
[pan] Pan level from channel 0 to channel 1 = 0.320000
[pan] Pan level from channel 1 to channel 1 = 0.060000
[pan] Pan level from channel 2 to channel 1 = 0.390000
[pan] Pan level from channel 3 to channel 1 = 0.000000
[pan] Pan level from channel 4 to channel 1 = 0.170000
[pan] Pan level from channel 5 to channel 1 = 0.330000
[libaf] Adding filter volume 
[libaf] Adding filter format 
[format] Changing sample format from 16bit little endian signed int to 32bit little endian float  
AF_pre: af format: 4 bps, 6 ch, 44100 hz, little endian float 
AF_pre: 44100Hz 6ch Floating Point
ao2: 44100 Hz  2 chans  Floating Point
audio_setup: using '/dev/dsp' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer device
audio_setup: sample format: Signed 16-bit (Little-Endian) (requested: Floating Point)
audio_setup: using 2 channels (requested: 2)
audio_setup: using 44100 Hz samplerate (requested: 44100)
audio_setup: frags:  16/16  (4096 bytes/frag)  free:  65536
AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: OSS/ioctl audio output
AO: Author: A'rpi
Building audio filter chain for 44100Hz/6ch/16bit -> 44100Hz/2ch/16bit...
[format] Changing sample format from 16bit little endian signed int to 32bit little endian float  
[libaf] Adding filter channels 
[channels] Changing number of channels to 2
[libaf] Adding filter format 
[format] Changing sample format from 32bit little endian float to 16bit little endian signed int  
[format] Changing sample format from 16bit little endian signed int to 32bit little endian float  
[format] Changing sample format from 32bit little endian float to 16bit little endian signed int  
Starting playback...
[libaf] Reallocating memory in module format, old len = 0, new len = 131076
[libaf] Reallocating memory in module pan, old len = 0, new len = 131088
[libaf] Reallocating memory in module channels, old len = 0, new len = 43704
[libaf] Reallocating memory in module format, old len = 0, new len = 21848
[ffmpeg] aspect_ratio: 1.885522
VDec: vo config request - 672 x 432 (preferred csp: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.84:1 - prescaling to correct movie aspect.
VO Config (672x432->796x432,flags=1,'MPlayer',0x32315659)
VO: [xmga] 672x432 => 796x432 Planar YV12  [fs]
VO: Description: Matrox G200/G4x0/G550 overlay in X11 window (using /dev/mga_vid)
VO: Author: Zoltan Ponekker <pontscho at makacs.poliod.hu>
[mga] Using 3 buffers.
Using colorkey: ff00
[x11] NET style stay on top (layer 1). Using state _NET_WM_STATE_STAYS_ON_TOP.
[xmga] x: 114 y: 168 w: 796 h: 432
[xmga] dcx: 114 dcy: 168 dx: 0 dy: 0 dw: 796 dh: 432
[xmga-fs] dcx: 114 dcy: 274 dx: 0 dy: 106 dw: 1024 dh: 556
*** [vo] Allocating (slices) mp_image_t, 672x432x12bpp YUV planar, 435456 bytes
[xmga] x: 0 y: 0 w: 1024 h: 768
[xmga] dcx: 0 dcy: 0 dx: 0 dy: 0 dw: 1024 dh: 768
[xmga-fs] dcx: 0 dcy: 106 dx: 0 dy: 106 dw: 1024 dh: 556
A:   0.2 V:   0.3 A-V: -0.095 ct:  0.000    1/  1   0%  0%  0.0% 0 0 98%
*** [vo] Allocating (slices) mp_image_t, 672x432x12bpp YUV planar, 435456 bytes
get_path('subfont.ttf') -> '/home/loren/.mplayer/subfont.ttf'
Unicode font: 679 glyphs.
A:   0.3 V:   0.0 A-V:  0.286 ct:  0.004    2/  2   0%  0%  0.0% 1 0 98%
*** [vo] Allocating (slices) mp_image_t, 672x432x12bpp YUV planar, 435456 bytes
Uninit audio filters...
[libaf] Removing filter format 
[libaf] Removing filter pan 
[libaf] Removing filter volume 
[libaf] Removing filter channels 
[libaf] Removing filter format 
uninit audio: faad
FAAD: Closing decoder!
uninit video: ffmpeg
DEMUXER: freeing demuxer at 0x866a7b8  
DEMUXER: freeing sh_video at 0x8671828  
DEMUXER: freeing sh_audio at 0x86718c0  
vo: uninit!
Successfully enabled DPMS
vo: uninit ...

Exiting... (Quit)


More information about the MPlayer-users mailing list