> On Jun 28, 2015, at 1:54 PM, Paul B Mahol <one...@gmail.com> wrote: > > On 6/28/15, Dave Rice <d...@dericed.com> wrote: >> >>> On Jun 28, 2015, at 11:07 AM, Paul B Mahol <one...@gmail.com> wrote: >>> >>> On 6/28/15, Dave Rice <d...@dericed.com> wrote: >>>> Hi, >>>> >>>>> On Jun 27, 2015, at 4:52 PM, Paul B Mahol <one...@gmail.com> wrote: >>>>> >>>>> Signed-off-by: Paul B Mahol <one...@gmail.com> >>>>> --- >>>>> doc/filters.texi | 76 ++++++++++++ >>>>> libavfilter/Makefile | 1 + >>>>> libavfilter/allfilters.c | 1 + >>>>> libavfilter/vf_drawgraph.c | 297 >>>>> +++++++++++++++++++++++++++++++++++++++++++++ >>>>> 4 files changed, 375 insertions(+) >>>>> create mode 100644 libavfilter/vf_drawgraph.c >>>>> >>> >>> [...] >>> >>>> >>>> With this version using a color name for foreground no longer works: >>>> >>>> This works: >>>> ffplay -f lavfi -i mandelbrot -vf >>>> signalstats,drawgraph=metadata=lavfi.signalstats.YAVG:min=0:max=255:slide=scroll:bg=green:fg=0x0000FF >>>> >>>> This doesn't: >>>> ffplay -f lavfi -i mandelbrot -vf >>>> signalstats,drawgraph=metadata=lavfi.signalstats.YAVG:min=0:max=255:slide=scroll:bg=green:fg=red >>> >>> AFAIK The expressions can not work with strings. >>> >>>> >>>> Also here's an example with blend: >>>> ffplay -f lavfi -i mandelbrot -vf "signalstats,split=3[a][b][c];\ >>>> [a]drawgraph=metadata=lavfi.signalstats.YAVG:min=0:max=255:slide=scroll:fg=0xFFFF0000:mode=dot[a1];\ >>>> [b]drawgraph=metadata=lavfi.signalstats.UAVG:min=0:max=255:slide=scroll:fg=0xFF00FF00:mode=dot[b1];\ >>>> [c]drawgraph=metadata=lavfi.signalstats.VAVG:min=0:max=255:slide=scroll:fg=0xFFFFFF00:mode=dot[c1];\ >>>> [a1][b1]blend=and[ab];[ab][c1]blend=and[out]" >>>> >>> >>> The blending kills difference in colors so I may add multiple graphs >>> support for filter. >> >> Setting the background to black and blending seems a little better, though >> I'm losing one of my graphs in this example. >> >> ./ffplay -f lavfi -i mandelbrot -vf "signalstats,split=3[a][b][c];\ >> [a]drawgraph=lavfi.signalstats.YAVG:min=0:max=255:slide=scroll:bg=black:fg=0x0000FF:mode=dot[a1];\ >> [b]drawgraph=lavfi.signalstats.YLOW:min=0:max=255:slide=scroll:bg=black:fg=0x00FF00:mode=dot[b1];\ >> [c]drawgraph=lavfi.signalstats.YHIGH:min=0:max=255:slide=scroll:bg=black:fg=0xFF0000:mode=dot[c1];\ >> [a1][b1]blend=lighten,[c1]blend=lighten[out]" >> >> Also the foreground expression is in ABGR or BGR. This is the opposite >> arrangement of what is specified here >> http://ffmpeg.org/ffmpeg-utils.html#Color. > > Using blend for this is SLOW.
If the background could set to full alpha, then multiple graphs could be added together with the overlay filter. I tested some alpha expressions with bg (black@00, 0x00000000) and didn’t seem to get transparent results. > Have you tried new 'line' mode? Oooo, this is great. Probably more readable than dot in many situations. > Also expressions allow changing color of dot/line/bar so try it and > tell me if its fine. I tested this with several modes and it works as expected (excepting that ABGR/BGR vs RGBA/RGB note). Thanks for adding this. Some other comments: I tried to use an equation within metadata but got no plotted result. For instance, "metadata=pow(lavfi.signalstats.YMIN\,2)”. There are some values that may occur in a wide range, so a logarithmic or mathematically adjusted display may be preferable. Can input width and input height be used in variables within a size expression. In many cases I would like to draw the graph over the input video, but to do this I must know the input video size in advance. Dave Rice _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel