Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#171 closed defect (fixed)

Nero Digital crashes mplayer

Reported by: spamfuckers@… Owned by: alex@…
Priority: normal Component: core
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:


I've downloaded CVS 19-12-2004 version of mplayer, libvacodec and libavformat.
works very well with other formats, but when i try to run MP4 file (Nero
Digital) mplayer starts, plays about 1 second of movie (everything is OK, I've
got audio and video, even fullscreen is working) and crashes:


MPlayer dev-CVS-041219-00:51-3.3.3 (C) 2000-2004 MPlayer Team
CPU: Intel Pentium 4/Xeon/Celeron Foster (Family: 8, Stepping: 4)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

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
Setting up LIRC support...
Playing /mnt/data/fa/07-eventhorizon-hq.mp4.
ISO: Unknown File Type Major Brand: avc1
QuickTime?/MOV file format detected.

Warning! pts=1 length=0
MOV track #0: 1 chunks, 0 samples
Generic track - not completely understood! (id: 0)

Warning! pts=1 length=0
MOV track #1: 1 chunks, 0 samples
Generic track - not completely understood! (id: 1)

Warning! pts=42000000 length=0
MOV track #2: 19688 chunks, 42000 samples
MOV: AVC decoder configuration record atom (45)!
MOV: Found unknown movie atom btrt (20)!
Image size: 800 x 448 (24 bpp)
Display size: 800 x 448
Fourcc: avc1 Codec: 'AVC Coding'

Warning! pts=20159488 length=0
MOV track #3: 19687 chunks, 19687 samples
Audio bits: 0 chans: 2 rate: 24000
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (50)!
Fourcc: mp4a

MOV: longest streams: A: #3 (19687 samples) V: #2 (42000 samples)
VIDEO: [avc1] 800x448 24bpp 50.000 fps 0.0 kbps ( 0.0 kbyte/s)
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 48000 Hz, 2 ch, 16 bit (0x10), ratio: 10004->192000 (80.0 kbit)
Selected audio codec: [faad] afm:faad (FAAD AAC (MPEG2/MPEG4 Audio) decoder)
vo: X11 running at 1280x1024 with depth 24 and 32 bpp (":0.0" => local display)
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm:ffmpeg (FFmpeg H.264)
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 2ch Signed 16-bit (Little-Endian)
AO: [oss] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit...
Starting playback...
VDec: vo config request - 800 x 448 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.79:1 - prescaling to correct movie aspect.
VO: [xv] 800x448 => 800x448 Planar YV12
mplayer: h264.c:2023: hl_motion: Assertion `((mb_type)&(0x0008|0x0010|0x0020|
0x0040))' failed.

MPlayer interrupted by signal 6 in module: decode_video

  • 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.


i tried to change vo (even vo null crashes mplayer after 1 second), disable
audio, set fps to 50 as it is in the file, etc. no luck.

i can't tell if example files from mplayer ftp are workin', cause both links 're

more info:
GCC 3.3.3
CFLAGS="-march=pentium4 -mcpu=pentium4 -Os -s -pipe -fomit-frame-pointer -
CXXFLAGS="-march=pentium4 -mcpu=pentium4 -Os -s -pipe -DNDEBUG -
LDFLAGS="-s -z combreloc"
(crashes also on compilation w/o flags)
Sackware Linux, 2.6.9 vanila kernel
Nvidia 5336 drivers

Change History (2)

comment:1 Changed 14 years ago by reimar

(In reply to comment #0)

mplayer: h264.c:2023: hl_motion: Assertion `((mb_type)&(0x0008|0x0010|0x0020|
0x0040))' failed.

That is the problem, it seems the file is not completely valid. The signal 6
below is because when this asserion fails abort() is called.
You can change the #undef NDEBUG in the libavcodec/h264.c to #define NDEBUG 1 to
disable all assertion checking and see what happens, but I doubt that it will
play correctly...

comment:2 Changed 14 years ago by lorenm@…

  • Resolution set to fixed
  • Status changed from new to closed

mplayer: h264.c:2023: hl_motion: Assertion `((mb_type)&(0x0008|0x0010|0x0020|
0x0040))' failed.

This means that the video used B-frames with B_DIRECT macroblocks. It's fixed in
CVS, though I can't guarantee that this was the only unimplemented feature used
in your video.

Note: See TracTickets for help on using tickets.