[Ffmpeg-devel] Problems with H264

Aurelien Jacobs aurel
Wed Sep 14 00:25:53 CEST 2005


On Tue, 13 Sep 2005 20:57:01 +0100
M?ns Rullg?rd <mru at inprovide.com> wrote:

> Hanno B?ck <mail at hboeck.de> writes:
> 
> > Am Tuesday, 13. September 2005 20:24 schrieb M?ns Rullg?rd:
> >> > Testing this video
> >> >
> >http://images.apple.com/movies/us/hd_gallery/gl1800/720p/bbc-africa_
> >m720p > >.mov crashes with both latest cvs mplayer and ffplay from
> >ffmpeg cvs after > > some seconds.
> >>
> >> That's a huge file.  Where does it crash, exactly?
> >
> > After about 5 seconds. I've attached the mplayer-output. Do you need
> > further info? Does the video run okay for you?
> 
> It plays perfectly fine here, only a little slow due to lacking CPU
> power.

I can reproduce the crash here (MPlayer/libavcodec CVS, gcc 4, amd64).
It happens with the bbc-africa_m720p.mov sample, not with other samples
I have.

Here is the log:

GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "x86_64-linux"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) r bbc-africa_m720p.mov
Starting program: /data/mplayer/main.h264/mplayer bbc-africa_m720p.mov
[Thread debugging using libthread_db enabled]
[New Thread 46912569315216 (LWP 14135)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/share/locale

MPlayer dev-CVS-050913-22:52-4.0.2 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices  (Family: 8, Stepping: 0)
Detected cache-line size is 64 bytes
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



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.
Playing bbc-africa_m720p.mov.
ISO: File Type Major Brand: Original QuickTime
Quicktime/MOV file format detected.
--------------
MOV track #0: 1623 chunks, 12634 samples
Audio bits: 16  chans: 2  rate: 48000
Audio extra header: len=91  fcc=0x77617665
MOV: Found MPEG4 audio Elementary Stream Descriptor atom (51)!
Fourcc: mp4a
--------------
MOV track #1: 1089 chunks, 6599 samples
MOV: Found unknown movie atom colr (18)!
MOV: AVC decoder configuration record atom (44)!
Image size: 1266 x 720 (24 bpp)
Display size: 1266 x 720
Fourcc: avc1  Codec: 'H.264'
--------------
MOV: longest streams: A: #0 (12634 samples)  V: #1 (6599 samples)
VIDEO:  [avc1]  1266x720  24bpp  24.000 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
 name: BBC Motion Gallery
 copyright: ___2005 BBC
 comments: All Rights Reserved
==========================================================================
Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding)
AUDIO: 48000 Hz, 2 ch, s16le, 160.0 kbit/10.42% (ratio: 20000->192000)
Selected audio codec: [faad] afm:faad (FAAD AAC (MPEG-2/MPEG-4 Audio) decoder)
==========================================================================
xscreensaver_disable: xscreensaver wid=10485761.
Opening video filter: [pp]
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm:ffmpeg (FFmpeg H.264)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??...
alsa-init: 1 soundcard found, using: default
alsa: 48000 Hz/2 channels/4 bpf/65536 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 B/s)
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
Starting playback...
VDec: vo config request - 1266 x 720 (preferred csp: Planar YV12)
[PP] Using external postprocessing filter, max q = 6.
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 1266x720 => 1266x720 Planar YV12
alsa-space: xrun of at least 504.160 msecs. resetting stream?% 0 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.5% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 148 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 149 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 151 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 153 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 155 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 156 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 158 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 160 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 161 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 163 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 165 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.4% 166 0
[h264 @ 0x9f2710]illegal short term buffer state detected 1.9% 168 0
[h264 @ 0x9f2710]get_buffer() failed (0 0 1 0x2aaab3450220).9% 169 0

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 46912569315216 (LWP 14135)]
0x0000000000681d9f in decode_slice_header (h=0x2aaaaf0ac010) at h264.c:4239
4239        s->current_picture_ptr->frame_num= //FIXME frame_num cleanup
(gdb) bt
#0  0x0000000000681d9f in decode_slice_header (h=0x2aaaaf0ac010) at h264.c:4239
#1  0x0000000000699046 in decode_nal_units (h=0x2aaaaf0ac010, buf=0xb7ec90 "",
    buf_size=852) at h264.c:7339
#2  0x000000000069a0a4 in decode_frame (avctx=0xb36260, data=0xb34a30,
    data_size=0x7fffffa7865c, buf=0xb7ec90 "", buf_size=852) at h264.c:7514
#3  0x00000000005796c1 in avcodec_decode_video (avctx=0xb36260,
    picture=0xb34a30, got_picture_ptr=0x7fffffa7865c, buf=0xb7ec90 "",
    buf_size=852) at utils.c:904
#4  0x0000000000461120 in decode (sh=0xb0bd50, data=0xb7ec90, len=852, flags=0)
    at vd_ffmpeg.c:816
#5  0x000000000045df2e in decode_video (sh_video=0xb0bd50, start=0xb7ec90 "",
    in_size=852, drop_frame=0) at dec_video.c:316
#6  0x00000000004128c9 in main (argc=Variable "argc" is not available.
) at mplayer.c:2437
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x681d7f to 0x681dbf:
0x0000000000681d7f <decode_slice_header+1023>:  cwtl
0x0000000000681d80 <decode_slice_header+1024>:  mov    (%r10,%rax,1),%eax
0x0000000000681d84 <decode_slice_header+1028>:  xchg   %al,%ah
0x0000000000681d86 <decode_slice_header+1030>:  ror    $0x10,%eax
0x0000000000681d89 <decode_slice_header+1033>:  xchg   %al,%ah
0x0000000000681d8b <decode_slice_header+1035>:  shl    %cl,%eax
0x0000000000681d8d <decode_slice_header+1037>:  mov    %esi,%ecx
0x0000000000681d8f <decode_slice_header+1039>:  add    %edx,%esi
0x0000000000681d91 <decode_slice_header+1041>:  mov    %esi,0x10(%r14)
0x0000000000681d95 <decode_slice_header+1045>:  neg    %ecx
0x0000000000681d97 <decode_slice_header+1047>:  shr    %cl,%eax
0x0000000000681d99 <decode_slice_header+1049>:  mov    %eax,0xc0c4(%rbp)
0x0000000000681d9f <decode_slice_header+1055>:  mov    %eax,0x154(%r12)
0x0000000000681da7 <decode_slice_header+1063>:  mov    0x7de0(%rbp),%eax
0x0000000000681dad <decode_slice_header+1069>:  movl   $0x0,0xc098(%rbp)
0x0000000000681db7 <decode_slice_header+1079>:  test   %eax,%eax
0x0000000000681db9 <decode_slice_header+1081>:  je     0x6820cd <decode_slice_header+1869>
End of assembler dump.

Aurel





More information about the ffmpeg-devel mailing list