Opened 13 years ago

Closed 13 years ago

#60 closed defect (fixed)

FFplay crashes with DeluxePaint anim

Reported by: ami_stuff Owned by:
Priority: important Component: ffplay
Version: git Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

FFplay crashes with DeluxePaint anim

http://samples.mplayerhq.hu/game-formats/anm/Hyytel__in_space_by_MukaSmarts.anm

ffmpeg works correctly

C:\>ffmpeg -i C:\Hyytelin_space_by_MukaSmarts.anm
FFmpeg version git-N-29062-ga0f1747, Copyright (c) 2000-2011 the FFmpeg develope
rs

built on Apr 13 2011 00:01:52 with gcc 4.5.2
configuration: --arch=x86 --cross-prefix=i686-pc-mingw32- --target-os=mingw32

--prefix=/ffmpeg/builds/git-N-29062-ga0f1747-static --enable-memalign-hack --dis
able-shared --enable-static --enable-w32threads --disable-debug --enable-gpl --e
nable-version3 --enable-runtime-cpudetect --enable-zlib --enable-bzlib --enable-
avisynth --enable-postproc --enable-libmp3lame --enable-libx264 --enable-libvorb
is --enable-libtheora --enable-libspeex --enable-libopencore-amrnb --enable-libo
pencore-amrwb --enable-libxvid --enable-libgsm --enable-libvpx --disable-decoder
=libvpx --enable-librtmp --enable-libopenjpeg --enable-frei0r --enable-libxavs -
-cc='ccache i686-pc-mingw32-gcc'

libavutil 50. 40. 1 / 50. 40. 1
libavcodec 52.119. 0 / 52.119. 0
libavformat 52.106. 0 / 52.106. 0
libavdevice 52. 4. 0 / 52. 4. 0
libavfilter 1. 78. 0 / 1. 78. 0
libswscale 0. 13. 0 / 0. 13. 0
libpostproc 51. 2. 0 / 51. 2. 0

[anm @ 0227f270] max_analyze_duration reached
[anm @ 0227f270] Estimating duration from bitrate, this may be inaccurate
Input #0, anm, from 'C:\Hyytelin_space_by_MukaSmarts.anm':

Duration: N/A, bitrate: N/A

Stream #0.0: Video: anm, pal8, 320x200, 8 fps, 8 tbr, 8 tbn, 8 tbc

At least one output file must be specified

Change History (4)

comment:1 by Carl Eugen Hoyos, 13 years ago

Component: undeterminedFFplay
Reproduced by developer: set
Status: newopen
Version: unspecifiedgit
(gdb) r Hyytel__in_space_by_MukaSmarts.anm                                   
FFplay version git-N-29079-gff5278d, Copyright (c) 2003-2011 the FFmpeg developers
  built on Apr 14 2011 00:25:41 with gcc 4.5.2
  configuration: --cc='/usr/local/gcc-4.5.2/bin/gcc -m32'
  libavutil    50. 40. 1 / 50. 40. 1
  libavcodec   52.119. 0 / 52.119. 0
  libavformat  52.106. 0 / 52.106. 0
  libavdevice  52.  4. 0 / 52.  4. 0
  libavfilter   1. 78. 0 /  1. 78. 0
  libswscale    0. 13. 0 /  0. 13. 0
[New Thread 0xf78e3b70 (LWP 5298)]
[New Thread 0xf7014b70 (LWP 5299)]
[anm @ 0x8ca9bb0] max_analyze_duration reached
[anm @ 0x8ca9bb0] Estimating duration from bitrate, this may be inaccurate
Input #0, anm, from 'Hyytel__in_space_by_MukaSmarts.anm':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: anm, pal8, 320x200, 8 fps, 8 tbr, 8 tbn, 8 tbc
[New Thread 0xf6813b70 (LWP 5300)]
[ffsink @ 0x8cad310] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[New Thread 0xf5effb70 (LWP 5301)]
[scale @ 0x8cad5f0] w:320 h:200 fmt:pal8 -> w:320 h:200 fmt:yuv420p flags:0x4

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf6813b70 (LWP 5300)]
input_reget_buffer (codec=0x8cab060, pic=0x8cab750) at ffplay.c:1638
1638        if ((codec->width != ref->video->w) || (codec->height != ref->video->h) ||
(gdb) bt
#0  input_reget_buffer (codec=0x8cab060, pic=0x8cab750) at ffplay.c:1638
#1  0x08132342 in decode_frame (avctx=0x8cab060, data=0x8cad210, data_size=0xf68130bc, avpkt=0xf6813080)
    at libavcodec/anm.c:120
#2  0x083d542e in avcodec_decode_video2 (avctx=0x8cab060, picture=0x8cad210, got_picture_ptr=0xf68130bc,
    avpkt=0xf6813080) at libavcodec/utils.c:719
#3  0x0804e1a0 in get_video_frame (pkt=0xf6813070, pts=<value optimized out>, frame=0x8cad210,
    is=0xf7015020) at ffplay.c:1532
#4  input_request_frame (pkt=0xf6813070, pts=<value optimized out>, frame=0x8cad210, is=0xf7015020)
    at ffplay.c:1688
#5  0x0805abcf in avfilter_request_frame (link=0x8cad550) at libavfilter/avfilter.c:369
#6  0x08055100 in get_filtered_video_frame (ctx=0x8cad310, frame=0x8cad040, picref_ptr=0xf6813318,
    tb=0xf6813300) at cmdutils.c:818
#7  0x0804f522 in video_thread (arg=0xf7015020) at ffplay.c:1831
#8  0xf7e04391 in ?? () from /usr/lib/libSDL-1.2.so.0
#9  0xf7e506eb in ?? () from /usr/lib/libSDL-1.2.so.0
#10 0xf7de06e5 in start_thread () from /lib/libpthread.so.0
#11 0xf7de0600 in ?? () from /lib/libpthread.so.0
(gdb) disass $pc-26 $pc+32
Dump of assembler code from 0x804c290 to 0x804c2ca:
0x0804c290 <input_reget_buffer+0>:      push   %esi
0x0804c291 <input_reget_buffer+1>:      push   %ebx
0x0804c292 <input_reget_buffer+2>:      sub    $0x14,%esp
0x0804c295 <input_reget_buffer+5>:      mov    0x24(%esp),%edx
0x0804c299 <input_reget_buffer+9>:      mov    0x20(%esp),%eax
0x0804c29d <input_reget_buffer+13>:     mov    (%edx),%ecx
0x0804c29f <input_reget_buffer+15>:     mov    0x70(%edx),%ebx
0x0804c2a2 <input_reget_buffer+18>:     test   %ecx,%ecx
0x0804c2a4 <input_reget_buffer+20>:     je     0x804c348 <input_reget_buffer+184>
0x0804c2aa <input_reget_buffer+26>:     mov    0x60(%ebx),%ecx
0x0804c2ad <input_reget_buffer+29>:     mov    (%ecx),%esi
0x0804c2af <input_reget_buffer+31>:     cmp    %esi,0x28(%eax)
0x0804c2b2 <input_reget_buffer+34>:     jne    0x804c300 <input_reget_buffer+112>
0x0804c2b4 <input_reget_buffer+36>:     mov    0x4(%ecx),%esi
0x0804c2b7 <input_reget_buffer+39>:     cmp    %esi,0x2c(%eax)
0x0804c2ba <input_reget_buffer+42>:     jne    0x804c300 <input_reget_buffer+112>
0x0804c2bc <input_reget_buffer+44>:     mov    0x44(%ebx),%ecx
0x0804c2bf <input_reget_buffer+47>:     cmp    %ecx,0x34(%eax)
0x0804c2c2 <input_reget_buffer+50>:     jne    0x804c300 <input_reget_buffer+112>
0x0804c2c4 <input_reget_buffer+52>:     mov    0x33c(%eax),%ecx
End of assembler dump.
(gdb) info register
eax            0x8cab060        147501152
ecx            0x8cd06f0        147654384
edx            0x8cab750        147502928
ebx            0x0      0
esp            0xf6812f30       0xf6812f30
ebp            0xf6813008       0xf6813008
esi            0x8cad210        147509776
edi            0xf6813080       -159305600
eip            0x804c2aa        0x804c2aa <input_reget_buffer+26>
eflags         0x10206  [ PF IF RF ]
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x63     99

comment:2 by Carl Eugen Hoyos, 13 years ago

Priority: normalimportant

This is another avfilter-caused regression.

comment:3 by ami_stuff, 13 years ago

for some reasone this patch is not in the videolan git repo, please fix:

http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2011-April/110685.html

comment:4 by Carl Eugen Hoyos, 13 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.