On 6/28/15, Dave Rice <d...@dericed.com> wrote: > >> 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.
Because filter use gbrp without alpha as output format. Will change it. Plan is use RGBA or even YUVA as final output. > >> 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. Will see what can be done. > > 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. I do not understand what you want. You want to be able to set size of filter to input video? > Dave Rice > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel