[MPlayer-dev-eng] Re: Last call for pre8

Matthias Wieser mwieser at gmx.de
Sat Apr 29 11:53:05 CEST 2006


Diego Biurrun wrote:
> On Thu, Apr 27, 2006 at 11:01:12PM +0200, Roberto Togni wrote:
> > This is my last attempt at releasing pre8 before Linuxtag.
> >
> > Changes from previous report:
> >
> > * other stuff (from the old pre8 thread):
> > - anything else?
>
> I found a regression with the updated libfaad:
>
> http://www.mplayerhq.hu/MPlayer/samples/mobileVideo_3gp/t7p69_227_196.3g2

I have a problem related to another common mobile video format:
Mpeg4+aac in a MP4 container.

I'm using
mencoder /big/Medien/Video/test.mpg \
 -oac faac -faacopts br=96 \
 -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:vbitrate=300 \
 -of lavf -lavfopts 
i_certify_that_my_video_stream_does_not_use_b_frames:format=mp4 \
 -endpos 10 -o test.mp4

ffmpeg:
ffmpeg -y -i /big/Medien/Video/test.mpg  -b 300 -t 10 -ac 1 -ab 96 -acodec 
aac -vcodec mpeg4 test-ffmpeg.mp4

The two resulting videos can both be played with mplayer and the player of 
the mobile phone (Nokia 6280). But the latter one does not play any sound 
with the mencoder generated file. The ffmpeg file works perfectly with both 
players.

mplayer -v shows some differences, especially the ESDS MPEG4 Descriptors are 
mission in the mencoder generated file:

diff mencoder.txt ffmpeg.txt
[...]
> ESDS MPEG4 Decoder Specific Descriptor (2Bytes)
> ESDS MPEG4 Sync Layer Config Descriptor (1Bytes)
>  -> predefined: 2
[...]
< Fourcc: mp4v  Codec: ''
---
> Fourcc: mp4v  Codec: 'mpeg4'
[...]

Maybe there is a MP4 containter bug in mencoder?

Regards,
  Matthias
-------------- next part --------------
MPlayer dev-CVS-060425-14:14-4.0.2 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Sempron/Athlon MP/XP/XP-M Barton,Thorton (Family: 6, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE


get_path('codecs.conf') -> '/home/mw/.mplayer/codecs.conf'
Reading /home/mw/.mplayer/codecs.conf: Can't open '/home/mw/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: Can't open '/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' '-frames' '1' 'test-ffmpeg.mp4' '2'
init_freetype
get_path('font/font.desc') -> '/home/mw/.mplayer/font/font.desc'
font: can't open file: /home/mw/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/mw/.mplayer/input.conf'
Can't open input config file /home/mw/.mplayer/input.conf: No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed: 53 binds
get_path('test-ffmpeg.mp4.conf') -> '/home/mw/.mplayer/test-ffmpeg.mp4.conf'

Playing test-ffmpeg.mp4.
get_path('sub/') -> '/home/mw/.mplayer/sub/'
[file] File size is 591872 bytes
STREAM: [file] test-ffmpeg.mp4
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename test-ffmpeg.mp4 ext: .mp4
Trying demuxer 7 based on filename extension
Checking for MOV
ISO: File Type Major Brand: ISO Base Media
ISO: File Type Minor Version: 512
ISO: File Type Compatible Brand #0: mp41
MOV: 'WIDE' chunk found!
MOV: Movie DATA found!
MOV: Movie DATA found!
MOV: Movie header found!
stream_seek: WARNING! Can't seek to 0x90800 !
Quicktime/MOV file format detected.
MOV: Movie header (100 bytes): tscale=1000  dur=10000
--------------
MOV: Track #0:
MOV:  Track header!
tkhd len=84 ver=0 flags=0x0 id=1 dur=10000 lay=0 vol=0
MOV:  Media stream!
MOV:   Media header!
MOV:   Handler header: /vide () VideoHandler
MOV: unknown handler class: 0x0 ()
MOV:   Media info!
MOV:    Video header!
MOV: unknown chunk: dinf 28
MOV:    Sample info!
MOV:     Description list! (cnt:1)
MOV:      desc #0: mp4v  (151 bytes)
MOV:     Sample duration table! (1 blocks)
MOV:     Syncing samples (keyframes) table! (21 entries) (ver:0,flags:0)
MOV:     Sample->Chunk mapping table!  (1 blocks) (ver:0,flags:0)
MOV:     Sample size table! (entries=250 ss=0) (ver:0,flags:0)
MOV:     Chunk offset table! (250 chunks)
MOV track #0: 250 chunks, 250 samples
pts=250  scale=25  time=10.000
==> Found video stream: 0
MOV: Found MPEG4 movie Elementary Stream Descriptor atom (81)!
ESDS MPEG4 version: 0  flags: 0x000000
ESDS MPEG4 ES Descriptor (67Bytes):
 -> ESId: 1
 -> streamPriority: 0
ESDS MPEG4 Decoder Config Descriptor (59Bytes):
 -> objectTypeId: 32
 -> streamType: 0x11
 -> bufferSizeDB: 0x000000
 -> maxBitrate: 300.000kbit/s
 -> avgBitrate: 0.000kbit/s
ESDS MPEG4 Decoder Specific Descriptor (44Bytes)
ESDS MPEG4 Sync Layer Config Descriptor (1Bytes)
 -> predefined: 2
Image size: 320 x 240 (24 bpp)
Display size: 320 x 240
Fourcc: mp4v  Codec: 'mpeg4'
--------------
MOV: Track #1:
MOV:  Track header!
tkhd len=84 ver=0 flags=0x0 id=2 dur=9915 lay=0 vol=256
MOV:  Media stream!
MOV:   Media header!
MOV:   Handler header: /soun () SoundHandler
MOV: unknown handler class: 0x0 ()
MOV:   Media info!
MOV:    Sound header!
MOV: unknown chunk: dinf 28
MOV:    Sample info!
MOV:     Description list! (cnt:1)
MOV:      desc #0: mp4a  (59 bytes)
MOV:     Sample duration table! (1 blocks)
MOV:     Sample->Chunk mapping table!  (1 blocks) (ver:0,flags:0)
MOV:     Sample size table! (entries=427 ss=0) (ver:0,flags:0)
MOV:     Chunk offset table! (427 chunks)
MOV track #1: 427 chunks, 427 samples
pts=437248  scale=44100  time=9.915
==> Found audio stream: 1
Audio bits: 16  chans: 1  rate: 44100
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (39)!
ESDS MPEG4 version: 0  flags: 0x000000
ESDS MPEG4 ES Descriptor (25Bytes):
 -> ESId: 2
 -> streamPriority: 0
ESDS MPEG4 Decoder Config Descriptor (17Bytes):
 -> objectTypeId: 64
 -> streamType: 0x15
 -> bufferSizeDB: 0x000000
 -> maxBitrate: 96.000kbit/s
 -> avgBitrate: 0.000kbit/s
ESDS MPEG4 Decoder Specific Descriptor (2Bytes)
ESDS MPEG4 Sync Layer Config Descriptor (1Bytes)
 -> predefined: 2
Fourcc: mp4a
--------------
Quicktime Clip Info:
 Requirements: QuickTime 6.0 or greater
MOV: longest streams: A: #1 (427 samples)  V: #0 (250 samples)
VIDEO:  [mp4v]  320x240  24bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:7  fourcc:0x7634706D  size:320x240  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/mw/.mplayer/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: 2
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1280x1024 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 ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
[xv common] Drawing no colorkey.
[xv common] Maximum source image dimensions: 2046x2046
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy 
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
alsa-init: requested format: 44100 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.9
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opend in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=8
alsa-init: got buffersize=32768
alsa-init: got period size 1024
alsa: 48000 Hz/2 channels/4 bpf/32768 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
AO: Comment: under developement
Building audio filter chain for 44100Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[libaf] Adding filter lavcresample 
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Starting playback...
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 32768
[ffmpeg] aspect_ratio: 1.333333
VDec: vo config request - 320 x 240 (preferred colorspace: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (320x240->320x240,flags=0,'MPlayer',0x32315659)
VO: [xv] 320x240 => 320x240 Planar YV12 
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 275 for hw scaling
[xv] dx: 0 dy: 0 dw: 320 dh: 240
*** [vo] Allocating (slices) mp_image_t, 320x240x12bpp YUV planar, 115200 bytes
[xv] dx: 0 dy: 0 dw: 320 dh: 240
A:   0.1 V:   0.0 A-V:  0.094 ct:  0.000   1/  1 ??% ??% ??,?% 0 0 
EOF code: 1  

Uninit audio filters...
[libaf] Removing filter lavcresample 
[libaf] Removing filter dummy 
uninit audio: faad
FAAD: Closing decoder!
uninit video: ffmpeg
Successfully enabled DPMS
alsa-uninit: pcm closed
get_path('2.conf') -> '/home/mw/.mplayer/2.conf'

Playing 2.
File not found: '2'
Failed to open 2

vo: uninit ...

Exiting... (End of file)
-------------- next part --------------
MPlayer dev-CVS-060425-14:14-4.0.2 (C) 2000-2006 MPlayer Team
CPU: Advanced Micro Devices Sempron/Athlon MP/XP/XP-M Barton,Thorton (Family: 6, Stepping: 0)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE


get_path('codecs.conf') -> '/home/mw/.mplayer/codecs.conf'
Reading /home/mw/.mplayer/codecs.conf: Can't open '/home/mw/.mplayer/codecs.conf': No such file or directory
Reading /etc/mplayer/codecs.conf: Can't open '/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' '-frames' '1' 'test.mp4' '2'
init_freetype
get_path('font/font.desc') -> '/home/mw/.mplayer/font/font.desc'
font: can't open file: /home/mw/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/mw/.mplayer/input.conf'
Can't open input config file /home/mw/.mplayer/input.conf: No such file or directory
Parsing input config file /etc/mplayer/input.conf
Input config file /etc/mplayer/input.conf parsed: 53 binds
get_path('test.mp4.conf') -> '/home/mw/.mplayer/test.mp4.conf'

Playing test.mp4.
get_path('sub/') -> '/home/mw/.mplayer/sub/'
[file] File size is 468728 bytes
STREAM: [file] test.mp4
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename test.mp4 ext: .mp4
Trying demuxer 7 based on filename extension
Checking for MOV
ISO: File Type Major Brand: ISO Base Media
ISO: File Type Minor Version: 512
ISO: File Type Compatible Brand #0: mp41
MOV: 'WIDE' chunk found!
MOV: Movie DATA found!
MOV: Movie DATA found!
MOV: Movie header found!
Quicktime/MOV file format detected.
MOV: Movie header (100 bytes): tscale=1000  dur=9939
--------------
MOV: Track #0:
MOV:  Track header!
tkhd len=84 ver=0 flags=0x0 id=1 dur=9920 lay=0 vol=0
MOV:  Media stream!
MOV:   Media header!
MOV:   Handler header: /vide () VideoHandler
MOV: unknown handler class: 0x0 ()
MOV:   Media info!
MOV:    Video header!
MOV: unknown chunk: dinf 28
MOV:    Sample info!
MOV:     Description list! (cnt:1)
MOV:      desc #0: mp4v  (105 bytes)
MOV:     Sample duration table! (1 blocks)
MOV:     Syncing samples (keyframes) table! (1 entries) (ver:0,flags:0)
MOV:     Sample->Chunk mapping table!  (1 blocks) (ver:0,flags:0)
MOV:     Sample size table! (entries=248 ss=0) (ver:0,flags:0)
MOV:     Chunk offset table! (248 chunks)
MOV track #0: 248 chunks, 248 samples
pts=248  scale=25  time=9.920
==> Found video stream: 0
MOV: Found MPEG4 movie Elementary Stream Descriptor atom (35)!
ESDS MPEG4 version: 0  flags: 0x000000
ESDS MPEG4 ES Descriptor (21Bytes):
 -> ESId: 1
 -> streamPriority: 0
ESDS MPEG4 Decoder Config Descriptor (13Bytes):
 -> objectTypeId: 32
 -> streamType: 0x11
 -> bufferSizeDB: 0x000000
 -> maxBitrate: 800.000kbit/s
 -> avgBitrate: 0.000kbit/s
Image size: 320 x 240 (24 bpp)
Display size: 320 x 240
Fourcc: mp4v  Codec: ''
--------------
MOV: Track #1:
MOV:  Track header!
tkhd len=84 ver=0 flags=0x0 id=2 dur=9939 lay=0 vol=256
MOV:  Media stream!
MOV:   Media header!
MOV:   Handler header: /soun () SoundHandler
MOV: unknown handler class: 0x0 ()
MOV:   Media info!
MOV:    Sound header!
MOV: unknown chunk: dinf 28
MOV:    Sample info!
MOV:     Description list! (cnt:1)
MOV:      desc #0: mp4a  (55 bytes)
MOV:     Sample duration table! (1 blocks)
MOV:     Sample->Chunk mapping table!  (1 blocks) (ver:0,flags:0)
MOV:     Sample size table! (entries=428 ss=0) (ver:0,flags:0)
MOV:     Chunk offset table! (428 chunks)
MOV track #1: 428 chunks, 428 samples
pts=438272  scale=44100  time=9.938
==> Found audio stream: 1
Audio bits: 16  chans: 2  rate: 44100
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (35)!
ESDS MPEG4 version: 0  flags: 0x000000
ESDS MPEG4 ES Descriptor (21Bytes):
 -> ESId: 2
 -> streamPriority: 0
ESDS MPEG4 Decoder Config Descriptor (13Bytes):
 -> objectTypeId: 64
 -> streamType: 0x15
 -> bufferSizeDB: 0x000000
 -> maxBitrate: 107.464kbit/s
 -> avgBitrate: 0.000kbit/s
Fourcc: mp4a
--------------
Quicktime Clip Info:
 Requirements: QuickTime 6.0 or greater
MOV: longest streams: A: #1 (428 samples)  V: #0 (248 samples)
VIDEO:  [mp4v]  320x240  24bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:7  fourcc:0x7634706D  size:320x240  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/home/mw/.mplayer/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.

AAC_PROBE: 4608 bytes

AAC_PROBE: ret 0
FAAD: Decoder init done (4608Bytes)!
FAAD: Negotiated samplerate: 44100Hz  channels: 2
FAAD: compressed input bitrate missing, assuming 128kbit/s!
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1280x1024 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 ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
Disabling DPMS
DPMSDisable stat: 1
[xv common] Drawing no colorkey.
[xv common] Maximum source image dimensions: 2046x2046
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Building audio filter chain for 44100Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy 
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[dummy] Was reinitialized: 44100Hz/2ch/s16le
alsa-init: requested format: 44100 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.9
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opend in blocking mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=8
alsa-init: got buffersize=32768
alsa-init: got period size 1024
alsa: 48000 Hz/2 channels/4 bpf/32768 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
AO: Comment: under developement
Building audio filter chain for 44100Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 44100Hz/2ch/s16le
[libaf] Adding filter lavcresample 
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Starting playback...
[libaf] Reallocating memory in module lavcresample, old len = 0, new len = 32768
[ffmpeg] aspect_ratio: 1.333333
VDec: vo config request - 320 x 240 (preferred colorspace: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (320x240->320x240,flags=0,'MPlayer',0x32315659)
VO: [xv] 320x240 => 320x240 Planar YV12 
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 275 for hw scaling
[xv] dx: 0 dy: 0 dw: 320 dh: 240
*** [vo] Allocating (slices) mp_image_t, 320x240x12bpp YUV planar, 115200 bytes
[xv] dx: 0 dy: 0 dw: 320 dh: 240
A:   0.1 V:   0.0 A-V:  0.140 ct:  0.000   1/  1 ??% ??% ??,?% 0 0 
EOF code: 1  

Uninit audio filters...
[libaf] Removing filter lavcresample 
[libaf] Removing filter dummy 
uninit audio: faad
FAAD: Closing decoder!
uninit video: ffmpeg
Successfully enabled DPMS
alsa-uninit: pcm closed
get_path('2.conf') -> '/home/mw/.mplayer/2.conf'

Playing 2.
File not found: '2'
Failed to open 2

vo: uninit ...

Exiting... (End of file)


More information about the MPlayer-dev-eng mailing list