[FFmpeg-trac] #833(undetermined:new): crash with png (gray) to bmp (gray) conversion
FFmpeg
trac at avcodec.org
Mon Dec 26 03:37:16 CET 2011
#833: crash with png (gray) to bmp (gray) conversion
-------------------------------------+-------------------------------------
Reporter: ami_stuff | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
{{{
(gdb) r -i gray.png out.bmp
Starting program: F:\MinGW\msys\1.0\ffmpeg-HEAD-834f80d/ffmpeg_g.exe -i
gray.png
out.bmp
[New Thread 3148.0xcb4]
ffmpeg version 0.9.0.git-834f80d, Copyright (c) 2000-2011 the FFmpeg
developers
built on Dec 22 2011 14:07:40 with gcc 4.5.2
configuration: --disable-ffplay --disable-ffserver --disable-asm
--disable-yas
m --disable-shared --enable-static
libavutil 51. 32.100 / 51. 32.100
libavcodec 53. 47.100 / 53. 47.100
libavformat 53. 28.100 / 53. 28.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 53. 0 / 2. 53. 0
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 5.100 / 0. 0.100
Input #0, image2, from 'gray.png':
Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
Stream #0:0: Video: png, gray, 1024x768, 25 tbr, 25 tbn, 25 tbc
[buffer @ 03d61590] w:1024 h:768 pixfmt:gray tb:1/1000000 sar:0/1
sws_param:
Output #0, image2, to 'out.bmp':
Metadata:
encoder : Lavf53.28.100
Stream #0:0: Video: bmp, gray, 1024x768, q=2-31, 200 kb/s, 90k tbn, 25
tbc
Stream mapping:
Stream #0:0 -> #0:0 (png -> bmp)
Press [q] to stop, [?] for help
Program received signal SIGSEGV, Segmentation fault.
0x009d00d4 in ff_set_systematic_pal2 (pal=0x0, pix_fmt=PIX_FMT_GRAY8)
at libavutil/imgutils.c:178
178 pal[i] = b + (g<<8) + (r<<16);
(gdb) bt
#0 0x009d00d4 in ff_set_systematic_pal2 (pal=0x0, pix_fmt=PIX_FMT_GRAY8)
at libavutil/imgutils.c:178
#1 0x007c8df2 in bmp_encode_frame (avctx=0x42b0048, buf=0x43b0020 "",
buf_size=5515024, data=0x22daf0) at libavcodec/bmpenc.c:90
#2 0x00509101 in avcodec_encode_video (avctx=0x42b0048, buf=0x43b0020 "",
buf_size=5515024, pict=0x22daf0) at libavcodec/utils.c:881
#3 0x00404f6e in do_video_out (s=0x3d5f3b0, ost=0x3d5fd00,
in_picture=0x3d61e00, frame_size=0x22de9c, quality=0,
ist=<value optimized out>) at ffmpeg.c:1349
#4 0x004068c5 in transcode_video (ist=0x3d611b0, ost_table=0x3d5fd00,
nb_ostreams=1, pkt=0x22fbb8) at ffmpeg.c:1955
#5 output_packet (ist=0x3d611b0, ost_table=0x3d5fd00, nb_ostreams=1,
pkt=0x22fbb8) at ffmpeg.c:2046
#6 0x0040a63e in transcode (output_files=<value optimized out>,
nb_output_files=0, input_files=0x0, nb_input_files=4256952)
at ffmpeg.c:2804
#7 0x0022ff48 in ?? ()
#8 0x00000000 in ?? ()
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x9d00b4 to 0x9d00f4:
0x009d00b4 <ff_set_systematic_pal2+64>: cmp $0x92,%al
0x009d00b6 <ff_set_systematic_pal2+66>: lea (%edx,%edi,4),%edi
0x009d00b9 <ff_set_systematic_pal2+69>: lea (%edx,%edi,4),%edi
0x009d00bc <ff_set_systematic_pal2+72>: mov %eax,%ebp
0x009d00be <ff_set_systematic_pal2+74>: and $0x1,%ebp
0x009d00c1 <ff_set_systematic_pal2+77>: mov %ebp,%edx
0x009d00c3 <ff_set_systematic_pal2+79>: shl $0x8,%edx
0x009d00c6 <ff_set_systematic_pal2+82>: sub %ebp,%edx
0x009d00c8 <ff_set_systematic_pal2+84>: shl $0x8,%edi
0x009d00cb <ff_set_systematic_pal2+87>: shl $0x10,%ecx
0x009d00ce <ff_set_systematic_pal2+90>: lea (%edi,%ecx,1),%ecx
0x009d00d1 <ff_set_systematic_pal2+93>: lea (%ecx,%edx,1),%edx
=> 0x009d00d4 <ff_set_systematic_pal2+96>: mov %edx,(%esi,%eax,4)
0x009d00d7 <ff_set_systematic_pal2+99>: inc %eax
0x009d00d8 <ff_set_systematic_pal2+100>: cmp $0x100,%eax
0x009d00dd <ff_set_systematic_pal2+105>: jne 0x9d0088
<ff_set_systemat
ic_pal2+20>
0x009d00df <ff_set_systematic_pal2+107>: xor %ax,%ax
0x009d00e2 <ff_set_systematic_pal2+110>: jmp 0x9d0092
<ff_set_systemat
ic_pal2+30>
0x009d00e4 <ff_set_systematic_pal2+112>: mov %eax,%edx
0x009d00e6 <ff_set_systematic_pal2+114>: sar $0x5,%edx
0x009d00e9 <ff_set_systematic_pal2+117>: lea (%edx,%edx,8),%ecx
0x009d00ec <ff_set_systematic_pal2+120>: shl $0x2,%ecx
0x009d00ef <ff_set_systematic_pal2+123>: mov %eax,%edx
0x009d00f1 <ff_set_systematic_pal2+125>: sar $0x2,%edx
End of assembler dump.
(gdb) info all-registers
eax 0x0 0
ecx 0x0 0
edx 0x0 0
ebx 0x0 0
esp 0x22d9ec 0x22d9ec
ebp 0x42b0048 0x42b0048
esi 0x0 0
edi 0x0 0
eip 0x9d00d4 0x9d00d4 <ff_set_systematic_pal2+96>
eflags 0x10256 [ PF AF ZF IF RF ]
cs 0x1b 27
ss 0x23 35
ds 0x23 35
es 0x23 35
fs 0x3b 59
gs 0x0 0
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 -2147483648 (raw 0xc01e8000000000000000)
st4 -1.1000000000000001 (raw 0xbfff8ccccccccccccccd)
st5 0 (raw 0x00000000000000000000)
st6 1.1000000000000001 (raw 0x3fff8ccccccccccccccd)
st7 0 (raw 0x00000000000000000000)
fctrl 0xffff037f -64641
fstat 0xffff0120 -65248
ftag 0xffffffff -1
fiseg 0x0 0
fioff 0x0 0
foseg 0xffff0000 -65536
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0,
0x0,
0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0,
0x0},
uint128 = 0x00000000000000000000000000000000}
mxcsr 0x1f80 [ IM DM ZM OM UM PM ]
mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm3 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x80}}
mm4 {uint64 = 0x8ccccccccccccccd, v2_int32 = {0xcccccccd,
0x8ccccccc}, v4_int16 = {0xcccd, 0xcccc, 0xcccc, 0x8ccc}, v8_int8 = {
0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x8c}}
mm5 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6 {uint64 = 0x8ccccccccccccccd, v2_int32 = {0xcccccccd,
0x8ccccccc}, v4_int16 = {0xcccd, 0xcccc, 0xcccc, 0x8ccc}, v8_int8 = {
0xcd, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x8c}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
}}}
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/833>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list