[FFmpeg-trac] #9924(avfilter:new): drawbox replace vs rgba
FFmpeg
trac at avcodec.org
Thu Sep 15 00:21:55 EEST 2022
#9924: drawbox replace vs rgba
-------------------------------------+-------------------------------------
Reporter: Jozef | Owner: (none)
Chutka |
Type: defect | Status: new
Priority: important | Component: avfilter
Version: git-master | Resolution:
Keywords: drawbox | Blocked By:
crash SIGSEGV |
Blocking: | Reproduced by developer: 1
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Changes (by Carl Eugen Hoyos):
* keywords: drawbox => drawbox crash SIGSEGV
* priority: normal => important
* version: unspecified => git-master
* component: undetermined => avfilter
* reproduced: 0 => 1
Comment:
{{{
(gdb) r -f lavfi -i color=color=#00000000:size=100x100 -vf
"format=rgba,drawbox=c=blue:h=50:w=50:replace=1" -frames:v 1 -f null -
Starting program: ffmpeg_g -f lavfi -i color=color=#00000000:size=100x100
-vf "format=rgba,drawbox=c=blue:h=50:w=50:replace=1" -frames:v 1 -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
ffmpeg version N-108141-g859b31de50 Copyright (c) 2000-2022 the FFmpeg
developers
built with clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
configuration: --enable-gpl --cc=clang
libavutil 57. 36.101 / 57. 36.101
libavcodec 59. 43.100 / 59. 43.100
libavformat 59. 31.100 / 59. 31.100
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 49.100 / 8. 49.100
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100
libpostproc 56. 7.100 / 56. 7.100
[New Thread 0x7ffffe810700 (LWP 20344)]
[New Thread 0x7ffffe000700 (LWP 20345)]
[New Thread 0x7ffffd7f0700 (LWP 20346)]
[New Thread 0x7ffffcfe0700 (LWP 20347)]
[New Thread 0x7ffffc7d0700 (LWP 20348)]
[New Thread 0x7ffffbfc0700 (LWP 20349)]
[New Thread 0x7ffffb7b0700 (LWP 20350)]
[New Thread 0x7ffffafa0700 (LWP 20351)]
Input #0, lavfi, from 'color=color=#00000000:size=100x100':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: wrapped_avframe, yuv420p, 100x100 [SAR 1:1 DAR 1:1],
25 fps, 25 tbr, 25 tbn
Stream mapping:
Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe
(native))
Press [q] to stop, [?] for help
[New Thread 0x7ffffa790700 (LWP 20352)]
[New Thread 0x7ffff9f80700 (LWP 20353)]
[New Thread 0x7ffff9770700 (LWP 20354)]
[New Thread 0x7ffff8f60700 (LWP 20355)]
[New Thread 0x7ffff3ff0700 (LWP 20356)]
[New Thread 0x7ffff37e0700 (LWP 20357)]
[New Thread 0x7ffff2fd0700 (LWP 20358)]
[New Thread 0x7ffff27c0700 (LWP 20359)]
[New Thread 0x7ffff1fb0700 (LWP 20360)]
[New Thread 0x7ffff17a0700 (LWP 20361)]
[New Thread 0x7ffff0f90700 (LWP 20362)]
[New Thread 0x7ffff0780700 (LWP 20363)]
[New Thread 0x7fffeff70700 (LWP 20364)]
[New Thread 0x7fffef760700 (LWP 20365)]
[New Thread 0x7fffeef50700 (LWP 20366)]
[New Thread 0x7fffee740700 (LWP 20367)]
[New Thread 0x7fffedf30700 (LWP 20368)]
Thread 1 "ffmpeg_g" received signal SIGSEGV, Segmentation fault.
0x0000000000518a4f in draw_region_rgb_packed (frame=0x24a4100,
ctx=0x23cca40, left=0, top=<optimized out>, right=50, down=50,
pixel_belongs_to_region=0x5184c0 <pixel_belongs_to_box>) at
src/libavfilter/vf_drawbox.c:188
188 row[1][x*C] = ctx->rgba_color[G];
(gdb) bt
#0 0x0000000000518a4f in draw_region_rgb_packed (frame=0x24a4100,
ctx=0x23cca40, left=0, top=<optimized out>, right=50, down=50,
pixel_belongs_to_region=0x5184c0 <pixel_belongs_to_box>) at
src/libavfilter/vf_drawbox.c:188
#1 0x0000000000517fd1 in filter_frame (inlink=<optimized out>,
frame=0x24a4100) at src/libavfilter/vf_drawbox.c:401
#2 0x0000000000459f25 in ff_filter_frame_framed (link=<optimized out>,
frame=<optimized out>) at src/libavfilter/avfilter.c:1000
#3 ff_filter_frame_to_filter (link=<optimized out>) at
src/libavfilter/avfilter.c:1144
#4 ff_filter_activate_default (filter=<optimized out>) at
src/libavfilter/avfilter.c:1193
#5 ff_filter_activate (filter=<optimized out>) at
src/libavfilter/avfilter.c:1352
#6 0x000000000045f2d3 in push_frame (graph=0x23cb600) at
src/libavfilter/buffersrc.c:169
#7 av_buffersrc_add_frame_flags (ctx=0x23cd780, frame=<optimized out>,
flags=4) at src/libavfilter/buffersrc.c:258
#8 0x0000000000429f4d in ifilter_send_frame (ifilter=<optimized out>,
frame=<optimized out>, keep_reference=<optimized out>) at
src/fftools/ffmpeg.c:2039
#9 send_frame_to_filters (ist=<optimized out>, decoded_frame=<optimized
out>) at src/fftools/ffmpeg.c:2108
#10 0x0000000000425a2e in decode_video (ist=<optimized out>,
pkt=<optimized out>, got_output=<optimized out>, duration_pts=<optimized
out>, eof=<optimized out>, decode_failed=<optimized out>) at
src/fftools/ffmpeg.c:2297
#11 process_input_packet (ist=<optimized out>, pkt=<optimized out>,
no_eof=<optimized out>) at src/fftools/ffmpeg.c:2451
#12 0x0000000000422555 in process_input (file_index=<optimized out>) at
src/fftools/ffmpeg.c:3888
#13 transcode_step () at src/fftools/ffmpeg.c:4023
#14 transcode () at src/fftools/ffmpeg.c:4074
#15 0x000000000041f526 in main (argc=<optimized out>, argv=<optimized
out>) at src/fftools/ffmpeg.c:4245
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x518a2f to 0x518a6f:
0x0000000000518a2f <draw_region_rgb_packed+319>: add
%cl,-0x9(%rcx,%rcx,4)
0x0000000000518a33 <draw_region_rgb_packed+323>: mov %ebp,%esi
0x0000000000518a35 <draw_region_rgb_packed+325>: mov %eax,%edx
0x0000000000518a37 <draw_region_rgb_packed+327>: callq *0x80(%rsp)
0x0000000000518a3e <draw_region_rgb_packed+334>: test %eax,%eax
0x0000000000518a40 <draw_region_rgb_packed+336>: je 0x518a68
<draw_region_rgb_packed+376>
0x0000000000518a42 <draw_region_rgb_packed+338>: movzbl
0x2c(%r14),%eax
0x0000000000518a47 <draw_region_rgb_packed+343>: mov %al,(%r15)
0x0000000000518a4a <draw_region_rgb_packed+346>: movzbl
0x2d(%r14),%eax
=> 0x0000000000518a4f <draw_region_rgb_packed+351>: mov %al,(%r12)
0x0000000000518a53 <draw_region_rgb_packed+355>: movzbl
0x2e(%r14),%eax
0x0000000000518a58 <draw_region_rgb_packed+360>: mov %al,(%rbx)
0x0000000000518a5a <draw_region_rgb_packed+362>: movzbl
0x2f(%r14),%eax
0x0000000000518a5f <draw_region_rgb_packed+367>: mov
0x8(%rsp),%rcx
0x0000000000518a64 <draw_region_rgb_packed+372>: mov
%al,(%rcx,%r15,1)
0x0000000000518a68 <draw_region_rgb_packed+376>: mov
0x10(%rsp),%rax
0x0000000000518a6d <draw_region_rgb_packed+381>: add %rax,%r15
End of assembler dump.
(gdb) info register
rax 0x0 0
rbx 0x0 0
rcx 0x0 0
rdx 0x0 0
rsi 0x0 0
rdi 0x23cca40 37538368
rbp 0x0 0x0
rsp 0x7ffffffec6a0 0x7ffffffec6a0
r8 0x3 3
r9 0x0 0
r10 0xc 12
r11 0x0 0
r12 0x0 0
r13 0x0 0
r14 0x23cca40 37538368
r15 0x24a4340 38421312
rip 0x518a4f 0x518a4f <draw_region_rgb_packed+351>
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9924#comment:2>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list