[FFmpeg-user] Inverse Telecine (30fps to 24fps) targa sequence input

Derek Gebhart derek at 4stroke.tv
Thu Nov 22 17:19:45 CET 2012


Upon further testing, on multiple machines in my studio (all Windows 7
Prox64), FFmpeg(x64) crashes consistently when using the "mp=detc" filter in
any combo.  FFmpeg(x32) works only intermittently.  I ran the exact same
command line sequence over and over, and FFmpeg(x32) works about 1 in 5
tries. It crashes more often than not, but does work occasionally.

I've tried backtracing, but I can't find an FFmpeg_g version with a working
"mp=detc" filter.  All versions of FFmpeg_g I've tried give me the error "No
such filter: 'mp'".  Compiling my own version seems a little out of my
league.

Nonetheless, I ran a backtrace on the latest static Windows FFmpeg(x32)
version.  Here is the complete process...

C:>gdb ffmpeg.exe

GNU gdb (GDB) 7.5
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from ffmpeg.exe...(no debugging symbols found)...done.

(gdb)r -v 9 -loglevel 99 -y -framerate 30 -i Boxer_v5_ENG_SD30fps.%04d.tga
-vf format=yuv420p,mp=detc=am=0:dr=2:fr=0,setpts='N/(24000/1001*TB)' -an -r
24000/1001 -t 15.0 Test.mp4

Starting program: ffmpeg.exe -v 9 -loglevel 99 -y -framerate 30
-start_number 1 -i Boxer_v5_ENG_SD30fps.%04d.tga -vf
format=yuv420p,mp=detc=am=0:dr=2:fr=0,setpts='N/(24000/1001*TB)' -an -r
24000/1001 -t 15.0 C:/Temp/Test.mp4
[New Thread 5916.0xe60]
ffmpeg version N-46936-g8b6aeb1 Copyright (c) 2000-2012 the FFmpeg
developers
  built on Nov 20 2012 19:34:37 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-pthreads
--enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r
--enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut
--enable-libopenjpeg --enable-libopus --enable-librtmp
--enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs
--enable-libxvid --enable-zlib
  libavutil      52.  8.100 / 52.  8.100
  libavcodec     54. 74.100 / 54. 74.100
  libavformat    54. 37.100 / 54. 37.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 23.101 /  3. 23.101
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 17.101 /  0. 17.101
  libpostproc    52.  2.100 / 52.  2.100
[AVIOContext @ 0203cf40] Statistics: 1031129 bytes read, 0 seeks
[AVIOContext @ 0203b9a0] Statistics: 1030612 bytes read, 0 seeks
[AVIOContext @ 0203ba60] Statistics: 1030903 bytes read, 0 seeks
[AVIOContext @ 03765ba0] Statistics: 1030564 bytes read, 0 seeks
[AVIOContext @ 03765c60] Statistics: 1030930 bytes read, 0 seeks
[image2 @ 0203bb40] Probe buffer size limit 5000000 reached
Input #0, image2, from Boxer_v5_ENG_SD30fps.%04d.tga':
  Duration: 00:00:15.00, start: 0.000000, bitrate: N/A
    Stream #0:0, 5, 1/30: Video: targa, bgra, 720x486, 1/30, 30 fps, 30 tbr,
30 tbn, 30 tbc
[Parsed_mp_1 @ 03775140] 'detc' is a wrapped MPlayer filter (libmpcodecs).
This filter may be removed
once it has been ported to a native libavfilter.
warning: HEAP[ffmpeg.exe]:
warning: Invalid address specified to RtlFreeHeap( 02020000, 0202D2E0 )

Program received signal SIGTRAP, Trace/breakpoint trap.
0x771804e5 in ntdll!TpWaitForAlpcCompletion () from
C:\Windows\system32\ntdll.dll

(gdb) bt
#0  0x771804e5 in ntdll!TpWaitForAlpcCompletion () from
C:\Windows\system32\ntdll.dll
#1  0x0028e160 in ?? ()
#2  0x77142a2a in ntdll!RtlCopyExtendedContext () from
C:\Windows\system32\ntdll.dll
#3  0x0202d2d8 in ?? ()
#4  0x7718153f in ntdll!TpQueryPoolStackInformation () from
C:\Windows\system32\ntdll.dll
#5  0x02020000 in ?? ()
#6  0x7713ab9a in ntdll!AlpcMaxAllowedMessageLength () from
C:\Windows\system32\ntdll.dll
#7  0x02020000 in ?? ()
#8  0x770e3492 in ntdll!LdrLoadAlternateResourceModuleEx () from
C:\Windows\system32\ntdll.dll
#9  0x0202d2d8 in ?? ()
#10 0x75a498cd in msvcrt!free () from C:\Windows\syswow64\msvcrt.dll
#11 0x02020000 in ?? ()
#12 0x00460308 in ?? ()

(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x771804c5 to 0x77180505:
   0x771804c5 <ntdll!TpWaitForAlpcCompletion+191>:      in     (%dx),%al
   0x771804c6 <ntdll!TpWaitForAlpcCompletion+192>:      mov    %fs:0x18,%eax
   0x771804cc <ntdll!TpWaitForAlpcCompletion+198>:      mov
0x30(%eax),%eax
   0x771804cf <ntdll!TpWaitForAlpcCompletion+201>:      cmpb
$0x0,0x2(%eax)
   0x771804d3 <ntdll!TpWaitForAlpcCompletion+205>:      je     0x771804ec
<ntdll!TpWaitForAlpcCompletion+230>
   0x771804d5 <ntdll!TpWaitForAlpcCompletion+207>:      mov
0x8(%ebp),%eax
   0x771804d8 <ntdll!TpWaitForAlpcCompletion+210>:      movb
$0x1,0x771b8225
   0x771804df <ntdll!TpWaitForAlpcCompletion+217>:      mov
%eax,0x771b8220
   0x771804e4 <ntdll!TpWaitForAlpcCompletion+222>:      int3
=> 0x771804e5 <ntdll!TpWaitForAlpcCompletion+223>:      movb
$0x0,0x771b8225
   0x771804ec <ntdll!TpWaitForAlpcCompletion+230>:      pop    %ebp
   0x771804ed <ntdll!TpWaitForAlpcCompletion+231>:      ret    $0x4
   0x771804f0 <ntdll!TpWaitForAlpcCompletion+234>:      nop
   0x771804f1 <ntdll!TpWaitForAlpcCompletion+235>:      nop
   0x771804f2 <ntdll!TpWaitForAlpcCompletion+236>:      nop
   0x771804f3 <ntdll!TpWaitForAlpcCompletion+237>:      nop
   0x771804f4 <ntdll!TpWaitForAlpcCompletion+238>:      nop
   0x771804f5 <ntdll!TpWaitForAlpcCompletion+239>:      mov    %edi,%edi
   0x771804f7 <ntdll!TpWaitForAlpcCompletion+241>:      push   %ebp
   0x771804f8 <ntdll!TpWaitForAlpcCompletion+242>:      mov    %esp,%ebp
   0x771804fa <ntdll!TpWaitForAlpcCompletion+244>:      sub    $0x1c,%esp
   0x771804fd <ntdll!TpWaitForAlpcCompletion+247>:      push   %esi
   0x771804fe <ntdll!TpWaitForAlpcCompletion+248>:      mov
0x10(%ebp),%esi
   0x77180501 <ntdll!TpWaitForAlpcCompletion+251>:      push   %edi
   0x77180502 <ntdll!TpWaitForAlpcCompletion+252>:      xor    %edi,%edi
   0x77180504 <ntdll!TpWaitForAlpcCompletion+254>:      cmp    $0x8,%esi
End of assembler dump.

(gdb) info all-registers
eax            0x3775678        58152568
ecx            0x77120b0a       1997671178
edx            0x28defd 2678525
ebx            0x3775678        58152568
esp            0x28e144 0x28e144
ebp            0x28e144 0x28e144
esi            0x2030000        33751040
edi            0x2030000        33751040
eip            0x771804e5       0x771804e5
<ntdll!TpWaitForAlpcCompletion+223>
eflags         0x200202 [ IF ID ]
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x53     83
gs             0x2b     43
st0            0        (raw 0x00000000000000000000)
st1            2        (raw 0x40008000000000000000)
st2            2        (raw 0x40008000000000000000)
st3            9        (raw 0x40029000000000000000)
st4            9        (raw 0x40029000000000000000)
st5            1        (raw 0x3fff8000000000000000)
st6            1        (raw 0x3fff8000000000000000)
st7            1        (raw 0x3fff8000000000000000)
fctrl          0x37f    895
fstat          0x20     32
ftag           0xffff   65535
fiseg          0x23     35
fioff          0xbce631 12379697
foseg          0x2b     43
fooff          0x28f7a8 2684840
fop            0x77c    1916
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 =
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x17, 0x2a, 0x44,
0xff, 0x18, 0x2c, 0x46, 0xff, 0x19, 0x2c, 0x48, 0xff, 0x19, 0x2e, 0x49,
0xff}, v8_int16 = {0x2a17, 0xff44, 0x2c18, 0xff46, 0x2c19, 0xff48, 0x2e19,
0xff49}, v4_int32 = {0xff442a17, 0xff462c18, 0xff482c19, 0xff492e19},
v2_int64 = {0xff462c18ff442a17, 0xff492e19ff482c19}, uint128 =
0xff492e19ff482c19ff462c18ff442a17}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double =
{0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x1a, 0x31, 0x4b,
0xff, 0x1b, 0x31, 0x4d, 0xff, 0x1c, 0x32, 0x4f, 0xff, 0x1d, 0x34, 0x51,
0xff}, v8_int16 = {0x311a, 0xff4b, 0x311b, 0xff4d, 0x321c, 0xff4f, 0x341d,
0xff51}, v4_int32 = {0xff4b311a, 0xff4d311b, 0xff4f321c, 0xff51341d},
v2_int64 = {0xff4d311bff4b311a, 0xff51341dff4f321c}, uint128 =
0xff51341dff4f321cff4d311bff4b311a}
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 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x80}}
mm2            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x80}}
mm3            {uint64 = 0x9000000000000000, v2_int32 = {0x0, 0x90000000},
v4_int16 = {0x0, 0x0, 0x0, 0x9000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x90}}
mm4            {uint64 = 0x9000000000000000, v2_int32 = {0x0, 0x90000000},
v4_int16 = {0x0, 0x0, 0x0, 0x9000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x90}}
mm5            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x80}}
mm6            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x80}}
mm7            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x80}}
(gdb)

Derek Gebhart



More information about the ffmpeg-user mailing list