[FFmpeg-trac] #2896(avfilter:new): Using video filters "fieldmatch" and "yadif" together causes crash
FFmpeg
trac at avcodec.org
Sat Aug 24 06:01:34 CEST 2013
#2896: Using video filters "fieldmatch" and "yadif" together causes crash
----------------------------------+--------------------------------------
Reporter: Mornix | Type: defect
Status: new | Priority: normal
Component: avfilter | Version: git-master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+--------------------------------------
Trying to detelecine a video as shown on the [http://ffmpeg.org/ffmpeg-
filters.html#Examples-15 filter page] specifically using fieldmatch and
yadif together causes FFmpeg to crash.
It does not,however, crash at the same point each attempt.
How to reproduce:
{{{
% ffmpeg -i in.mkv -vcodec mpeg2video -vf
fieldmatch=order=tff:combmatch=full,yadif=deint=interlaced,decimate
out.mkv
ffmpeg git version b99d3613cfdb5714a3c0e18b0db209280d879a10
built on Windows 7(x64)
}}}
I did two attempts and logged both. I've attached the FFmpeg logs for both
and below are the GDB output for each.
Attempt 1
{{{
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 6320.0x1750]
0x0046e4ce in filter_line_c (dst1=0xa0b1303, prev1=0x9b84973,
cur1=0x9082793,
next1=0xa006b83, w=710, prefs=768, mrefs=-768, parity=1, mode=0)
at libavfilter/vf_yadif.c:108
108 FILTER(0, w, 1)
#0 0x0046e4ce in filter_line_c (dst1=0xa0b1303, prev1=0x9b84973,
cur1=0x9082793, next1=0xa006b83, w=710, prefs=768, mrefs=-768,
parity=1,
mode=0) at libavfilter/vf_yadif.c:108
#1 0x00471629 in filter_slice (ctx=0x47ff340, arg=0x28f348, jobnr=4,
nb_jobs=5) at libavfilter/vf_yadif.c:204
#2 0x0042a4ab in worker (v=0x6024060) at libavfilter/pthread.c:88
#3 0x6248b4c1 in ptw32_threadStart at 4 () from c:\MinGW\bin\pthreadGC2.dll
#4 0x76541287 in msvcrt!_itow_s () from C:\Windows\syswow64\msvcrt.dll
#5 0x76541328 in msvcrt!_endthreadex () from
C:\Windows\syswow64\msvcrt.dll
#6 0x767933aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
from C:\Windows\syswow64\kernel32.dll
#7 0x0742ffd4 in ?? ()
#8 0x77739f72 in ntdll!RtlpNtSetValueKey ()
from C:\Windows\system32\ntdll.dll
#9 0x047fe8a8 in ?? ()
#10 0x77739f45 in ntdll!RtlpNtSetValueKey ()
from C:\Windows\system32\ntdll.dll
#11 0x765412e5 in msvcrt!_endthreadex () from
C:\Windows\syswow64\msvcrt.dll
#12 0x00000000 in ?? ()
Dump of assembler code from 0x46e4ae to 0x46e4ee:
0x0046e4ae <filter_line_c+482>: decb 0xf3c246c(%ebx)
0x0046e4b4 <filter_line_c+488>: mov $0x6c,%dh
0x0046e4b6 <filter_line_c+490>: add $0x246c8900,%eax
0x0046e4bb <filter_line_c+495>: or $0x2b,%al
0x0046e4bd <filter_line_c+497>: insb (%dx),%es:(%edi)
0x0046e4be <filter_line_c+498>: and $0x8,%al
0x0046e4c0 <filter_line_c+500>: mov %ebp,0x14(%esp)
0x0046e4c4 <filter_line_c+504>: js 0x46e774
<filter_line_c+1192>
0x0046e4ca <filter_line_c+510>: mov 0x38(%esp),%ebp
=> 0x0046e4ce <filter_line_c+514>: movzbl 0x0(%ebp,%eax,1),%ebp
0x0046e4d3 <filter_line_c+519>: mov %ebp,0xc(%esp)
0x0046e4d7 <filter_line_c+523>: sub 0x4(%esp),%ebp
0x0046e4db <filter_line_c+527>: js 0x46e76c
<filter_line_c+1184>
0x0046e4e1 <filter_line_c+533>: add 0x14(%esp),%ebp
0x0046e4e5 <filter_line_c+537>: sar %ebp
0x0046e4e7 <filter_line_c+539>: cmp %ebp,%esi
0x0046e4e9 <filter_line_c+541>: jge 0x46e4ed
<filter_line_c+545>
0x0046e4eb <filter_line_c+543>: mov %ebp,%esi
0x0046e4ed <filter_line_c+545>: sub %ebx,%edi
End of assembler dump.
eax 0x17d 381
ecx 0x9082610 151528976
edx 0x9082c10 151530512
ebx 0x4a 74
esp 0x742fdbc 0x742fdbc
ebp 0xa006e83 0xa006e83
esi 0x3 3
edi 0x46 70
eip 0x46e4ce 0x46e4ce <filter_line_c+514>
eflags 0x10213 [ CF AF IF RF ]
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x53 83
gs 0x2b 43
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 0 (raw 0x00000000000000000000)
fctrl 0x27f 639
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
}}}
Attempt 2
{{{
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 6040.0x498]
0x0046e4ce in filter_line_c (dst1=0x9ebd923, prev1=0x9063ef3,
cur1=0x9f60213,
next1=0xa1b9b03, w=710, prefs=768, mrefs=-768, parity=1, mode=0)
at libavfilter/vf_yadif.c:108
108 FILTER(0, w, 1)
#0 0x0046e4ce in filter_line_c (dst1=0x9ebd923, prev1=0x9063ef3,
cur1=0x9f60213, next1=0xa1b9b03, w=710, prefs=768, mrefs=-768,
parity=1,
mode=0) at libavfilter/vf_yadif.c:108
#1 0x00471629 in filter_slice (ctx=0x3af380, arg=0x28f348, jobnr=4,
nb_jobs=5) at libavfilter/vf_yadif.c:204
#2 0x0042a4ab in worker (v=0x4844060) at libavfilter/pthread.c:88
#3 0x6248b4c1 in ptw32_threadStart at 4 () from c:\MinGW\bin\pthreadGC2.dll
#4 0x76541287 in msvcrt!_itow_s () from C:\Windows\syswow64\msvcrt.dll
#5 0x76541328 in msvcrt!_endthreadex () from
C:\Windows\syswow64\msvcrt.dll
#6 0x767933aa in KERNEL32!BaseCleanupAppcompatCacheSupport ()
from C:\Windows\syswow64\kernel32.dll
#7 0x0752ffd4 in ?? ()
#8 0x77739f72 in ntdll!RtlpNtSetValueKey ()
from C:\Windows\system32\ntdll.dll
#9 0x003aedc0 in ?? ()
#10 0x77739f45 in ntdll!RtlpNtSetValueKey ()
from C:\Windows\system32\ntdll.dll
#11 0x765412e5 in msvcrt!_endthreadex () from
C:\Windows\syswow64\msvcrt.dll
#12 0x00000000 in ?? ()
Dump of assembler code from 0x46e4ae to 0x46e4ee:
0x0046e4ae <filter_line_c+482>: decb 0xf3c246c(%ebx)
0x0046e4b4 <filter_line_c+488>: mov $0x6c,%dh
0x0046e4b6 <filter_line_c+490>: add $0x246c8900,%eax
0x0046e4bb <filter_line_c+495>: or $0x2b,%al
0x0046e4bd <filter_line_c+497>: insb (%dx),%es:(%edi)
0x0046e4be <filter_line_c+498>: and $0x8,%al
0x0046e4c0 <filter_line_c+500>: mov %ebp,0x14(%esp)
0x0046e4c4 <filter_line_c+504>: js 0x46e774
<filter_line_c+1192>
0x0046e4ca <filter_line_c+510>: mov 0x38(%esp),%ebp
=> 0x0046e4ce <filter_line_c+514>: movzbl 0x0(%ebp,%eax,1),%ebp
0x0046e4d3 <filter_line_c+519>: mov %ebp,0xc(%esp)
0x0046e4d7 <filter_line_c+523>: sub 0x4(%esp),%ebp
0x0046e4db <filter_line_c+527>: js 0x46e76c
<filter_line_c+1184>
0x0046e4e1 <filter_line_c+533>: add 0x14(%esp),%ebp
0x0046e4e5 <filter_line_c+537>: sar %ebp
0x0046e4e7 <filter_line_c+539>: cmp %ebp,%esi
0x0046e4e9 <filter_line_c+541>: jge 0x46e4ed
<filter_line_c+545>
0x0046e4eb <filter_line_c+543>: mov %ebp,%esi
0x0046e4ed <filter_line_c+545>: sub %ebx,%edi
End of assembler dump.
eax 0x1fd 509
ecx 0x9f60110 167117072
edx 0x9f60710 167118608
ebx 0x12 18
esp 0x752fdbc 0x752fdbc
ebp 0xa1b9e03 0xa1b9e03
esi 0x0 0
edi 0x12 18
eip 0x46e4ce 0x46e4ce <filter_line_c+514>
eflags 0x10202 [ IF RF ]
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x53 83
gs 0x2b 43
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 0 (raw 0x00000000000000000000)
fctrl 0x27f 639
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0,
0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
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/2896>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list