Ticket #59 (closed defect: fixed)
Kega Game Video codec regression (most likely because of libavfilter)
| Reported by: | ami_stuff | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | avfilter |
| Version: | git | Keywords: | |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
Kega Game Video codec regression, works fine with
C:\>ffmpeg -vlowres 1 -i C:\kgv1.avi out3.avi
I suppose this is really libavfilter regression.
http://samples.mplayerhq.hu/V-codecs/kgv1/kgv1.avi
C:\>ffmpeg -i C:\kgv1.avi out3.avi
FFmpeg version git-N-29043-gdf149f6, Copyright (c) 2000-2011 the FFmpeg develope
rs
built on Apr 12 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-29043-gdf149f6-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.117. 1 / 52.117. 1
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
Input #0, avi, from 'C:\kgv1.avi':
Duration: 00:00:05.21, start: 0.000000, bitrate: 1633 kb/s
Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
Stream #0.1: Video: kgv1, rgb555le, 640x480, 60 tbr, 60 tbn, 60 tbc
Incompatible pixel format 'rgb555le' for codec 'mpeg4', auto-selecting format 'y
uv420p'
[buffer @ 01d01290] w:640 h:480 pixfmt:rgb555le
[ffsink @ 01d014b0] auto-inserting filter 'auto-inserted scaler 0' between the f
ilter 'src' and the filter 'out'
[scale @ 01d01750] w:640 h:480 fmt:rgb555le -> w:640 h:480 fmt:yuv420p flags:0x4
[mp2 @ 0228da60] The requested thread algorithm is not supported with this threa
d library.
Output #0, avi, to 'out3.avi':
Metadata:
ISFT : Lavf52.106.0
Stream #0.0: Video: mpeg4, yuv420p, 640x480, q=2-31, 200 kb/s, 60 tbn, 60 tb
c
Stream #0.1: Audio: mp2, 44100 Hz, 2 channels, s16, 64 kb/s
Stream mapping:
Press [q] to stop encoding
[buffer @ 01d01290] Changing filter graph input to accept 320x240 46 (46 0)
[scale @ 01d01750] w:320 h:240 fmt:rgb555le -> w:320 h:240 fmt:yuv420p flags:0x4
Input Stream #0.1 frame size changed to 320x240, rgb555le
Input Stream #0.1 frame size changed to 320x240, rgb555le
Input Stream #0.1 frame size changed to 320x240, rgb555le
Input Stream #0.1 frame size changed to 320x240, rgb555le



Plays fine with ffplay and --disable-avfilter (fails with ffmpeg and --disable-avfilter), crashes with --enable-avfilter.
(gdb) r -i kgv1.avi -f null - FFmpeg version git-N-29061-g5c00687, Copyright (c) 2000-2011 the FFmpeg developers built on Apr 12 2011 18:07:12 with gcc 4.5.2 configuration: --cc='/usr/local/gcc-4.5.2/bin/gcc -m32' --disable-asm 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 Input #0, avi, from 'kgv1.avi': Duration: 00:00:05.21, start: 0.000000, bitrate: 1633 kb/s Stream #0.0: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s Stream #0.1: Video: kgv1, rgb555le, 640x480, 60 tbr, 60 tbn, 60 tbc [buffer @ 0x8bd6bd0] w:640 h:480 pixfmt:rgb555le Output #0, null, to 'pipe:': Metadata: encoder : Lavf52.106.0 Stream #0.0: Video: rawvideo, rgb555le, 640x480, q=2-31, 200 kb/s, 90k tbn, 60 tbc Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s Stream mapping: Stream #0.1 -> #0.0 Stream #0.0 -> #0.1 Press [q] to stop encoding Program received signal SIGSEGV, Segmentation fault. 0x0806b9ad in av_vsrc_buffer_add_frame2 (buffer_filter=0x8bd6bd0, frame=0xffffbe60, pts=0, pixel_aspect=..., width=320, height=240, pix_fmt=PIX_FMT_RGB555LE, sws_param=0x852d14b "0:0") at libavfilter/vsrc_buffer.c:61 61 width,height,pix_fmt, c->pix_fmt, scale->outputs[0]->format); gdb) bt #0 0x0806b9ad in av_vsrc_buffer_add_frame2 (buffer_filter=0x8bd6bd0, frame=0xffffbe60, pts=0, pixel_aspect=..., width=320, height=240, pix_fmt=PIX_FMT_RGB555LE, sws_param=0x852d14b "0:0") at libavfilter/vsrc_buffer.c:61 #1 0x0804f1ef in output_packet (ist=0x8bd6b00, ist_index=1, ost_table=0x8bd6b60, nb_ostreams=2, pkt=0xffffce10) at ffmpeg.c:1638 #2 0x08053405 in transcode (nb_output_files=1, nb_input_files=1, stream_maps=0x0, nb_stream_maps=0, input_files=0x866e8c0, output_files=0x866e720) at ffmpeg.c:2709 #3 0x08058059 in main (argc=6, argv=0xffffd004) at ffmpeg.c:4459 (gdb) disass $pc-32 $pc+32 Dump of assembler code from 0x806b98d to 0x806b9cd: 0x0806b98d <av_vsrc_buffer_add_frame2+61>: add %eax,(%eax) 0x0806b98f <av_vsrc_buffer_add_frame2+63>: add %cl,0x1008b(%ebx) 0x0806b995 <av_vsrc_buffer_add_frame2+69>: add %cl,-0x749fdbac(%ebx) 0x0806b99b <av_vsrc_buffer_add_frame2+75>: inc %edx 0x0806b99c <av_vsrc_buffer_add_frame2+76>: and %cl,-0x7487dbac(%ebx) 0x0806b9a2 <av_vsrc_buffer_add_frame2+82>: add %cl,0x44890840(%ebx) 0x0806b9a8 <av_vsrc_buffer_add_frame2+88>: and $0x3c,%al 0x0806b9aa <av_vsrc_buffer_add_frame2+90>: mov 0x20(%eax),%eax 0x0806b9ad <av_vsrc_buffer_add_frame2+93>: mov (%eax),%eax 0x0806b9af <av_vsrc_buffer_add_frame2+95>: mov 0x38(%eax),%eax 0x0806b9b2 <av_vsrc_buffer_add_frame2+98>: mov %ecx,0x18(%esp) 0x0806b9b6 <av_vsrc_buffer_add_frame2+102>: mov 0x80(%esp),%ecx 0x0806b9bd <av_vsrc_buffer_add_frame2+109>: mov %edx,0xc(%esp) 0x0806b9c1 <av_vsrc_buffer_add_frame2+113>: movl $0x8531cec,0x8(%esp) 0x0806b9c9 <av_vsrc_buffer_add_frame2+121>: mov %eax,0x1c(%esp) End of assembler dump. (gdb) info register eax 0x0 0 ecx 0x2e 46 edx 0x140 320 ebx 0x8bd6c60 146631776 esp 0xffffbbe0 0xffffbbe0 ebp 0xffffbe60 0xffffbe60 esi 0xffffbe60 -16800 edi 0x0 0 eip 0x806b9ad 0x806b9ad <av_vsrc_buffer_add_frame2+93> eflags 0x10202 [ IF RF ] cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x63 99