New submission from dirtyHippy <[email protected]>:
I am trying to combine a large number of jpegs into a single mjpeg video. I am
using SVN-r25150 on OSX 10.6. ffmpeg segfauls after a frame or two. The
command I am using to launch ffmpeg is:
ffmpeg -i %d.jpg -f mjpeg tl.mjpeg
verbose output is as follows:
ffmpeg -v 9 -loglevel 99 -i %d.jpg
FFmpeg version SVN-r25150, Copyright (c) 2000-2010 the FFmpeg developers
built on Sep 20 2010 17:51:26 with gcc 4.2.1 (Apple Inc. build 5664)
configuration: --enable-shared --disable-mmx --arch=x86_64
libavutil 50.27. 0 / 50.27. 0
libavcore 0. 9. 0 / 0. 9. 0
libavcodec 52.89. 0 / 52.89. 0
libavformat 52.78. 5 / 52.78. 5
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.39. 0 / 1.39. 0
libswscale 0.11. 0 / 0.11. 0
[mjpeg @ 0x10100c800] marker=d8 avail_size_in_buf=123139
[mjpeg @ 0x10100c800] buffer too small, expanding to 123139 bytes
[mjpeg @ 0x10100c800] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x10100c800] marker=fe avail_size_in_buf=123137
[mjpeg @ 0x10100c800] marker parser used 96 bytes (768 bits)
[mjpeg @ 0x10100c800] marker=c4 avail_size_in_buf=123039
[mjpeg @ 0x10100c800] class=0 index=0 nb_codes=12
[mjpeg @ 0x10100c800] class=0 index=1 nb_codes=12
[mjpeg @ 0x10100c800] class=1 index=0 nb_codes=251
[mjpeg @ 0x10100c800] class=1 index=1 nb_codes=251
[mjpeg @ 0x10100c800] marker parser used 418 bytes (3344 bits)
[mjpeg @ 0x10100c800] marker=c0 avail_size_in_buf=122619
[mjpeg @ 0x10100c800] sof0: picture: 1280x960
[mjpeg @ 0x10100c800] component 0 2:1 id: -1 quant:0
[mjpeg @ 0x10100c800] component 1 1:1 id: 0 quant:1
[mjpeg @ 0x10100c800] component 2 1:1 id: 1 quant:1
[mjpeg @ 0x10100c800] pix fmt id 21111100
[mjpeg @ 0x10100c800] marker parser used 17 bytes (136 bits)
[mjpeg @ 0x10100c800] marker=db avail_size_in_buf=122600
[mjpeg @ 0x10100c800] index=0
[mjpeg @ 0x10100c800] qscale[0]: 3
[mjpeg @ 0x10100c800] index=1
[mjpeg @ 0x10100c800] qscale[1]: 5
[mjpeg @ 0x10100c800] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0x10100c800] marker=da avail_size_in_buf=122466
[mjpeg @ 0x10100c800] escaping removed 91 bytes
[mjpeg @ 0x10100c800] component: -1
[mjpeg @ 0x10100c800] component: 0
[mjpeg @ 0x10100c800] component: 1
[mjpeg @ 0x10100c800] marker parser used 122374 bytes (978990 bits)
[mjpeg @ 0x10100c800] marker=d9 avail_size_in_buf=0
[mjpeg @ 0x10100c800] mjpeg decode frame unused 0 bytes
[image2 @ 0x10100b000] Probe buffer size limit 5000000 reached
Input #0, image2, from '%d.jpg':
Duration: 00:18:49.40, start: 0.000000, bitrate: N/A
Stream #0.0, 31, 1/25: Video: mjpeg, yuvj422p, 1280x960, 1/25, 25 fps, 25
tbr, 25 tbn, 25 tbc
At least one output file must be specified
gdb output is as follows:
(gdb) r -i %d.jpg -f mjpeg tl.mjpeg
Starting program: /usr/local/bin/ffmpeg -i %d.jpg -f mjpeg tl.mjpeg
Reading symbols for shared libraries .++++++++++ done
FFmpeg version SVN-r25150, Copyright (c) 2000-2010 the FFmpeg developers
built on Sep 20 2010 17:51:26 with gcc 4.2.1 (Apple Inc. build 5664)
configuration: --enable-shared --disable-mmx --arch=x86_64
libavutil 50.27. 0 / 50.27. 0
libavcore 0. 9. 0 / 0. 9. 0
libavcodec 52.89. 0 / 52.89. 0
libavformat 52.78. 5 / 52.78. 5
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.39. 0 / 1.39. 0
libswscale 0.11. 0 / 0.11. 0
Input #0, image2, from '%d.jpg':
Duration: 00:18:49.40, start: 0.000000, bitrate: N/A
Stream #0.0: Video: mjpeg, yuvj422p, 1280x960, 25 fps, 25 tbr, 25 tbn, 25
tbc
File 'tl.mjpeg' already exists. Overwrite ? [y/N] y
[buffer @ 0x100c01520] w:1280 h:960 pixfmt:yuvj422p
Output #0, mjpeg, to 'tl.mjpeg':
Metadata:
encoder : Lavf52.78.5
Stream #0.0: Video: mjpeg, yuvj422p, 1280x960, q=2-31, 200 kb/s, 90k tbn,
25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000102728000
0x00007fffffe00b90 in __memcpy ()
(gdb) bt
#0 0x00007fffffe00b90 in __memcpy ()
#1 0x0000000100adbf4e in av_image_copy_plane ()
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x7fffffe00b70 to 0x7fffffe00bb0:
0x00007fffffe00b70 <__memcpy+976>: roll $0xab,0x75(%rax)
0x00007fffffe00b74 <__memcpy+980>: jmpq 0x7fffffe007b8 <__memcpy+24>
0x00007fffffe00b79 <__memcpy+985>: cmp $0xffffc00f,%ecx
0x00007fffffe00b7f <__memcpy+991>: jle 0x7fffffe0087d <__memcpy+221>
0x00007fffffe00b85 <__memcpy+997>: movapd -0x8(%rsi,%rcx,1),%xmm0
0x00007fffffe00b8b <__memcpy+1003>: jmp 0x7fffffe00b90 <__memcpy+1008>
0x00007fffffe00b8d <__memcpy+1005>: nop
0x00007fffffe00b8e <__memcpy+1006>: nop
0x00007fffffe00b8f <__memcpy+1007>: nop
0x00007fffffe00b90 <__memcpy+1008>: movapd 0x8(%rsi,%rcx,1),%xmm1
0x00007fffffe00b96 <__memcpy+1014>: movapd 0x18(%rsi,%rcx,1),%xmm2
0x00007fffffe00b9c <__memcpy+1020>: shufpd $0x1,%xmm1,%xmm0
0x00007fffffe00ba1 <__memcpy+1025>: movapd 0x28(%rsi,%rcx,1),%xmm3
0x00007fffffe00ba7 <__memcpy+1031>: shufpd $0x1,%xmm2,%xmm1
0x00007fffffe00bac <__memcpy+1036>: movapd 0x38(%rsi,%rcx,1),%xmm4
End of assembler dump.
(gdb) info all-registers
rax 0x7fffffe00b79 140737486261113
rbx 0x1c5 453
rcx 0xffffffffffffff00 -256
rdx 0x0 0
rsi 0x1027280f8 4336025848
rdi 0x10240e600 4332774912
rbp 0x7fff5fbfddd0 0x7fff5fbfddd0
rsp 0x7fff5fbfddd0 0x7fff5fbfddd0
r8 0x7fffffe0082c 140737486260268
r9 0x3c0 960
r10 0x1 1
r11 0x10240e380 4332774272
r12 0x10240e380 4332774272
r13 0x150 336
r14 0x280 640
r15 0x280 640
rip 0x7fffffe00b90 0x7fffffe00b90 <__memcpy+1008>
eflags 0x10286 66182
cs 0x27 39
ss 0x0 0
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 <invalid float value> (raw 0xffff0000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 -1 (raw 0xbfff8000000000000000)
st4 1 (raw 0x3fff8000000000000000)
st5 0.99895315831621804195496541756149611 (raw
0x3ffeffbb64e9343dbabd)
st6 0.0020914946669737078490037456360295387 (raw
0x3ff689117531c4e2b988)
st7 -46.051701859880913733635843243519048 (raw
0xc004b834f1551552d72c)
fctrl 0x37f 895
fstat 0x220 544
ftag 0xffff 65535
fiseg 0x27 39
fioff 0x82f6f4d2 -2097744686
foseg 0x1f 31
fooff 0x5fbfe428 1606411304
fop 0x51c 1308
xmm0 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm1 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm2 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm3 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm4 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm5 {
v4_float = {0, 0, 4.07617188, 0},
v2_double = {0, 590},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 64, -126, 112, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16514, 28672, 0, 0},
v4_int32 = {0, 0, 1082290176, 0},
v2_int64 = {0, 4648400910702084096},
uint128 = 7373376
} (raw 0x00000000007082400000000000000000)
xmm6 {
v4_float = {0, 0, 1.875, 0},
v2_double = {0, 1},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16368, 0, 0, 0},
v4_int32 = {0, 0, 1072693248, 0},
v2_int64 = {0, 4607182418800017408},
uint128 = 61503
} (raw 0x000000000000f03f0000000000000000)
xmm7 {
v4_float = {0, 0, 1.875, 0},
v2_double = {0, 1},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16368, 0, 0, 0},
v4_int32 = {0, 0, 1072693248, 0},
v2_int64 = {0, 4607182418800017408},
uint128 = 61503
} (raw 0x000000000000f03f0000000000000000)
xmm8 {
v4_float = {0, 0, 2, 0},
v2_double = {0, 2},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16384, 0, 0, 0},
v4_int32 = {0, 0, 1073741824, 0},
v2_int64 = {0, 4611686018427387904},
uint128 = 64
} (raw 0x00000000000000400000000000000000)
xmm9 {
v4_float = {0, 0, 1.875, 0},
v2_double = {0, 1},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16368, 0, 0, 0},
v4_int32 = {0, 0, 1072693248, 0},
v2_int64 = {0, 4607182418800017408},
uint128 = 61503
} (raw 0x000000000000f03f0000000000000000)
xmm10 {
v4_float = {0, 0, 1.875, 0},
v2_double = {0, 1},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16368, 0, 0, 0},
v4_int32 = {0, 0, 1072693248, 0},
v2_int64 = {0, 4607182418800017408},
uint128 = 61503
} (raw 0x000000000000f03f0000000000000000)
xmm11 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = {0 <repeats 16 times>},
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm12 {
v4_float = {0, 0, 8.77803421, 0},
v2_double = {0, 233050.5},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 65, 12, 114, -44, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16652, 29396, 0, 0},
v4_int32 = {0, 0, 1091334868, 0},
v2_int64 = {0, 4687247567044476928},
uint128 = 3564244033
} (raw 0x00000000d4720c410000000000000000)
xmm13 {
v4_float = {0, 0, 1.75, 0},
v2_double = {0, 0.5},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -32, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16352, 0, 0, 0},
v4_int32 = {0, 0, 1071644672, 0},
v2_int64 = {0, 4602678819172646912},
uint128 = 57407
} (raw 0x000000000000e03f0000000000000000)
xmm14 {
v4_float = {0, 0, 1.75, 0},
v2_double = {0, 0.5},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -32, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16352, 0, 0, 0},
v4_int32 = {0, 0, 1071644672, 0},
v2_int64 = {0, 4602678819172646912},
uint128 = 57407
} (raw 0x000000000000e03f0000000000000000)
xmm15 {
v4_float = {0, 0, 1.875, 0},
v2_double = {0, 1},
v16_int8 = {0, 0, 0, 0, 0, 0, 0, 0, 63, -16, 0, 0, 0, 0, 0, 0},
v8_int16 = {0, 0, 0, 0, 16368, 0, 0, 0},
v4_int32 = {0, 0, 1072693248, 0},
v2_int64 = {0, 4607182418800017408},
uint128 = 61503
} (raw 0x000000000000f03f0000000000000000)
mxcsr 0x1fa0 8096
(gdb) quit
----------
messages: 11991
priority: normal
status: new
substatus: new
title: segfault while combining still images to video
type: bug
________________________________________________
FFmpeg issue tracker <[email protected]>
<https://roundup.ffmpeg.org/issue2239>
________________________________________________