[FFmpeg-trac] #249(avfilter:open): Fix the filter remove-logo

FFmpeg trac at avcodec.org
Fri May 27 13:24:18 CEST 2011


#249: Fix the filter remove-logo
------------------------+-----------------------
Reporter:  pbasista     |       Owner:  michael
    Type:  enhancement  |      Status:  open
Priority:  minor        |   Component:  avfilter
 Version:  git-master   |  Resolution:
Keywords:  remove-logo  |  Blocked By:
Blocking:               |  Reproduced:  1
Analyzed:  0            |
------------------------+-----------------------

Comment (by pbasista):

 Okay, here is the complete ffmpeg output with the segmentation fault:

 ffmpeg -i input.avi -vcodec mpeg2video -sameq -acodec copy -vf mp=remove-
 logo:logo.pgm -y output.avi
 ffmpeg version git-N-30306-g6b899e1, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on May 27 2011 12:55:55 with gcc 4.5.2
   configuration: --enable-gpl
   libavutil    51.  2. 2 / 51.  2. 2
   libavcodec   53.  6. 0 / 53.  6. 0
   libavformat  53.  2. 0 / 53.  2. 0
   libavdevice  53.  0. 0 / 53.  0. 0
   libavfilter   2. 11. 0 /  2. 11. 0
   libswscale    0. 14. 0 /  0. 14. 0
   libpostproc  51.  2. 0 / 51.  2. 0
 Input #0, avi, from 'input.avi':
   Metadata:
     encoder         : Lavf53.2.0
   Duration: 00:01:00.04, start: 0.000000, bitrate: 3798 kb/s
     Stream #0.0: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR
 4:3], 15000 kb/s, PAR 64:45 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 50 tbc
     Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
 [buffer @ 0x29a1c00] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45
 sws_param:
 [mp @ 0x29ccda0] This is a unholy filter, it will be purified by the
 ffmpeg exorcist team
 which will change its syntax from dark -vf mp to light -vf.
 Thou shalst not make spells or scripts that depend on it
 Segmentation fault

 And here is the gdb output:

 gdb ffmpeg_g
 GNU gdb (Ubuntu/Linaro 7.2-1ubuntu11) 7.2
 Copyright (C) 2010 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 "x86_64-linux-gnu".
 For bug reporting instructions, please see:
 <http://www.gnu.org/software/gdb/bugs/>...
 Reading symbols from /home/peter/code/ffmpeg/ffmpeg_g...done.
 (gdb) r -i input.avi -vcodec mpeg2video -sameq -acodec copy -vf mp=remove-
 logo:logo.pgm -y output.avi
 Starting program: /home/peter/code/ffmpeg/ffmpeg_g -i input.avi -vcodec
 mpeg2video -sameq -acodec copy -vf mp=remove-logo:logo.pgm -y output.avi
 [Thread debugging using libthread_db enabled]
 ffmpeg version git-N-30306-g6b899e1, Copyright (c) 2000-2011 the FFmpeg
 developers
   built on May 27 2011 12:55:55 with gcc 4.5.2
   configuration: --enable-gpl
   libavutil    51.  2. 2 / 51.  2. 2
   libavcodec   53.  6. 0 / 53.  6. 0
   libavformat  53.  2. 0 / 53.  2. 0
   libavdevice  53.  0. 0 / 53.  0. 0
   libavfilter   2. 11. 0 /  2. 11. 0
   libswscale    0. 14. 0 /  0. 14. 0
   libpostproc  51.  2. 0 / 51.  2. 0
 Input #0, avi, from 'input.avi':
   Metadata:
     encoder         : Lavf53.2.0
   Duration: 00:01:00.04, start: 0.000000, bitrate: 3798 kb/s
     Stream #0.0: Video: mpeg2video (Main), yuv420p, 720x576 [PAR 16:15 DAR
 4:3], 15000 kb/s, PAR 64:45 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 50 tbc
     Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
 [buffer @ 0x12b8c00] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45
 sws_param:
 [mp @ 0x12e3da0] This is a unholy filter, it will be purified by the
 ffmpeg exorcist team
 which will change its syntax from dark -vf mp to light -vf.
 Thou shalst not make spells or scripts that depend on it

 Program received signal SIGSEGV, Segmentation fault.
 0x0000000000000000 in ?? ()
 (gdb) bt
 #0  0x0000000000000000 in ?? ()
 #1  0x000000000044ad6b in query_formats (ctx=0x12e3da0)
     at libavfilter/vf_mp.c:796
 #2  0x0000000000444c42 in query_formats (graph=0x12e2f60, log_ctx=0x0)
     at libavfilter/avfiltergraph.c:147
 #3  0x0000000000445296 in ff_avfilter_graph_config_formats
 (graph=0x12e2f60,
     log_ctx=<value optimized out>) at libavfilter/avfiltergraph.c:220
 #4  0x000000000044540b in avfilter_graph_config (graphctx=0x12e2f60,
     log_ctx=0x0) at libavfilter/avfiltergraph.c:236
 #5  0x0000000000438173 in configure_video_filters (nb_output_files=1,
     input_files=0x12e3530, nb_input_files=1, stream_maps=0x0,
     nb_stream_maps=<value optimized out>, output_files=0xd55f20)
     at ffmpeg.c:428
 #6  transcode (nb_output_files=1, input_files=0x12e3530, nb_input_files=1,
     stream_maps=0x0, nb_stream_maps=<value optimized out>,
     output_files=0xd55f20) at ffmpeg.c:2277
 #7  0x000000000043d44e in main (argc=<value optimized out>,
     argv=<value optimized out>) at ffmpeg.c:4530
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0xffffffffffffffe0 to 0x20:
 End of assembler dump.
 (gdb) info all-registers
 rax            0x0      0
 rbx            0x32315659       842094169
 rcx            0x7fffffffd350   140737488343888
 rdx            0x990091 10027153
 rsi            0x32315659       842094169
 rdi            0x12cc920        19712288
 rbp            0x9905d0 0x9905d0
 rsp            0x7fffffffd428   0x7fffffffd428
 r8             0x7ffff7207288   140737339486856
 r9             0x7ffff7207228   140737339486760
 r10            0x60     96
 r11            0x8      8
 r12            0x12cc6e0        19711712
 r13            0x12e3da0        19807648
 r14            0x12e2f60        19804000
 r15            0x0      0
 rip            0x0      0
 eflags         0x10246  [ PF ZF IF RF ]
 cs             0x33     51
 ss             0x2b     43
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 ---Type <return> to continue, or q <return> to quit---
 gs             0x0      0
 st0            -nan(0x7f80808183858687) (raw 0xffff7f80808183858687)
 st1            -nan(0x7f008000800081)   (raw 0xffff007f008000800081)
 st2            -nan(0x8181818384868889) (raw 0xffff8181818384868889)
 st3            -nan(0x81008100810083)   (raw 0xffff0081008100810083)
 st4            -nan(0x8181818283858687) (raw 0xffff8181818283858687)
 st5            -nan(0x81008100810082)   (raw 0xffff0081008100810082)
 st6            -nan(0x8080808081828283) (raw 0xffff8080808081828283)
 st7            -nan(0x80008000800080)   (raw 0xffff0080008000800080)
 fctrl          0x37f    895
 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 = {
     0x8000000000000000, 0x8000000000000000}, v16_int8 = {0x0, 0x0, 0x0,
 0xff,
     0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff},
   v8_int16 = {0x0, 0xff00, 0x0, 0xffff, 0x0, 0x0, 0x0, 0xffff}, v4_int32 =
 {
     0xff000000, 0xffff0000, 0x0, 0xffff0000}, v2_int64 =
 {0xffff0000ff000000,
     0xffff000000000000}, uint128 = 0xffff000000000000ffff0000ff000000}
 ---Type <return> to continue, or q <return> to quit---
 xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0xff, 0xff, 0xff, 0x0 <repeats 13 times>}, v8_int16 =
 {0xffff,
     0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0xffffff, 0x0, 0x0,
 0x0},
   v2_int64 = {0xffffff, 0x0}, uint128 =
 0x00000000000000000000000000ffffff}
 xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x6f, 0x75, 0x74, 0x0 <repeats 13 times>}, v8_int16 =
 {0x756f,
     0x74, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x74756f, 0x0, 0x0,
 0x0},
   v2_int64 = {0x74756f, 0x0}, uint128 =
 0x0000000000000000000000000074756f}
 xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0,
     0x8000000000000000}, v16_int8 = {0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xff}, v8_int16 = {0xff, 0x0, 0x0,
     0x0, 0x0, 0xff, 0x0, 0xff00}, v4_int32 = {0xff, 0x0, 0xff0000,
     0xff000000}, v2_int64 = {0xff, 0xff00000000ff0000},
   uint128 = 0xff00000000ff000000000000000000ff}
 xmm4           {v4_float = {0x0, 0x1, 0x3, 0x3}, v2_double = {0x0, 0x20},
   v16_int8 = {0x0, 0x0, 0x0, 0xe0, 0x95, 0x9c, 0xe7, 0x3f, 0x40, 0x40,
 0x40,
     0x40, 0x40, 0x40, 0x40, 0x40}, v8_int16 = {0x0, 0xe000, 0x9c95,
 0x3fe7,
     0x4040, 0x4040, 0x4040, 0x4040}, v4_int32 = {0xe0000000, 0x3fe79c95,
     0x40404040, 0x40404040}, v2_int64 = {0x3fe79c95e0000000,
     0x4040404040404040}, uint128 = 0x40404040404040403fe79c95e0000000}
 xmm5           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0},
   v16_int8 = {0x6d, 0x7d, 0xbf, 0xbb, 0x27, 0xaf, 0xf5, 0x3f, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x7d6d, 0xbbbf, 0xaf27, 0x3ff5,
 0x0,
 ---Type <return> to continue, or q <return> to quit---
     0x0, 0x0, 0x0}, v4_int32 = {0xbbbf7d6d, 0x3ff5af27, 0x0, 0x0},
 v2_int64 = {
     0x3ff5af27bbbf7d6d, 0x0}, uint128 =
 0x00000000000000003ff5af27bbbf7d6d}
 xmm6           {v4_float = {0x0, 0xfffffffd, 0x0, 0x0}, v2_double = {
     0xffffffffffffffd2, 0x0}, v16_int8 = {0x5b, 0xaa, 0xa2, 0x2a, 0x9e,
 0x6,
     0x47, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 =
 {0xaa5b,
     0x2aa2, 0x69e, 0xc047, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x2aa2aa5b,
     0xc047069e, 0x0, 0x0}, v2_int64 = {0xc047069e2aa2aa5b, 0x0},
   uint128 = 0x0000000000000000c047069e2aa2aa5b}
 xmm7           {v4_float = {0x0, 0x1, 0x0, 0x0}, v2_double = {0x1, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3f, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x3ff0, 0x0, 0x0, 0x0,
     0x0}, v4_int32 = {0x0, 0x3ff00000, 0x0, 0x0}, v2_int64 = {
     0x3ff0000000000000, 0x0}, uint128 =
 0x00000000000000003ff0000000000000}
 xmm8           {v4_float = {0x0, 0xfffffffd, 0x0, 0x0}, v2_double = {
     0xffffffffffffffd2, 0x0}, v16_int8 = {0xe0, 0xe6, 0x35, 0x67, 0x9e,
 0x6,
     0x47, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 =
 {0xe6e0,
     0x6735, 0x69e, 0xc047, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x6735e6e0,
     0xc047069e, 0x0, 0x0}, v2_int64 = {0xc047069e6735e6e0, 0x0},
   uint128 = 0x0000000000000000c047069e6735e6e0}
 xmm9           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x68, 0xc8, 0xbc, 0x3b, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0xc868, 0x3bbc, 0x0, 0x0,
 0x0,
     0x0}, v4_int32 = {0x0, 0x3bbcc868, 0x0, 0x0}, v2_int64 = {
 ---Type <return> to continue, or q <return> to quit---
     0x3bbcc86800000000, 0x0}, uint128 =
 0x00000000000000003bbcc86800000000}
 xmm10          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x46, 0x84, 0x24, 0x59, 0xd6, 0x3e, 0x0, 0x0, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x8446, 0x5924, 0x3ed6,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x84460000, 0x3ed65924, 0x0, 0x0},
 v2_int64 = {
     0x3ed6592484460000, 0x0}, uint128 =
 0x00000000000000003ed6592484460000}
 xmm11          {v4_float = {0x9689a800, 0x0, 0x0, 0x0}, v2_double = {0x0,
     0x0}, v16_int8 = {0x6a, 0xa2, 0x65, 0x50, 0xf2, 0xea, 0x8f, 0xbd, 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0xa26a, 0x5065,
 0xeaf2,
     0xbd8f, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x5065a26a, 0xbd8feaf2, 0x0,
     0x0}, v2_int64 = {0xbd8feaf25065a26a, 0x0},
   uint128 = 0x0000000000000000bd8feaf25065a26a}
 xmm12          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc4, 0x3c, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x3cc4, 0x0, 0x0, 0x0,
     0x0}, v4_int32 = {0x0, 0x3cc40000, 0x0, 0x0}, v2_int64 = {
     0x3cc4000000000000, 0x0}, uint128 =
 0x00000000000000003cc4000000000000}
 xmm13          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
   v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x59, 0xbc, 0x0, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x0, 0x0, 0x8000, 0xbc59, 0x0, 0x0,
 0x0,
     0x0}, v4_int32 = {0x0, 0xbc598000, 0x0, 0x0}, v2_int64 = {
     0xbc59800000000000, 0x0}, uint128 =
 0x0000000000000000bc59800000000000}
 xmm14          {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
 ---Type <return> to continue, or q <return> to quit---
   v16_int8 = {0x8e, 0x85, 0x83, 0xe8, 0xf0, 0x24, 0x53, 0x3c, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x858e, 0xe883, 0x24f0, 0x3c53,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0xe883858e, 0x3c5324f0, 0x0, 0x0},
 v2_int64 = {
     0x3c5324f0e883858e, 0x0}, uint128 =
 0x00000000000000003c5324f0e883858e}
 xmm15          {v4_float = {0x0, 0x3, 0x0, 0x0}, v2_double = {0x2d, 0x0},
   v16_int8 = {0xc0, 0x9, 0xf2, 0x16, 0xb5, 0xdf, 0x46, 0x40, 0x0, 0x0,
 0x0,
     0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x9c0, 0x16f2, 0xdfb5, 0x4046,
 0x0,
     0x0, 0x0, 0x0}, v4_int32 = {0x16f209c0, 0x4046dfb5, 0x0, 0x0},
 v2_int64 = {
     0x4046dfb516f209c0, 0x0}, uint128 =
 0x00000000000000004046dfb516f209c0}
 mxcsr          0x1fa0   [ PE IM DM ZM OM UM PM ]
 (gdb)

 I would also like to note that the gdb disass command presented here:

 http://ffmpeg.org/bugreports.html

 is not working. Here is what I get when I run it:

 (gdb) disass $pc-32 $pc+32
 A syntax error in expression, near `$pc+32'.

 Instead, a little different syntax, with a comma, appears to work:

 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0xffffffffffffffe0 to 0x20:
 End of assembler dump.

 But I am not sure if this is what you wanted.

-- 
Ticket URL: <https://avcodec.org/trac/ffmpeg/ticket/249#comment:2>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list