[FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature!
James Almer
jamrial at gmail.com
Fri May 16 01:00:20 EEST 2025
On 5/15/2025 6:58 PM, softworkz . wrote:
>
>
>> -----Original Message-----
>> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of James Almer
>> Sent: Donnerstag, 15. Mai 2025 23:53
>> To: FFmpeg development discussions and patches <ffmpeg-devel at ffmpeg.org>
>> Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a
>> Killer-Feature!
>>
>>> ffmpeg | branch: master | softworkz <softworkz at hotmail.com
>> <https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog>> | Thu May 15 23:10:02
>> 2025 +0200| [1f2b8d7238eff4ab8a4d8d6177e250b8180d51f4] | committer: softworkz
>>>
>>> fftools/graphprint: Now, make it a Killer-Feature!
>>>
>>> remember this: -sg <= means Show Graph
>>>
>>> Signed-off-by: softworkz <softworkz at hotmail.com
>> <https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog>>
>>>
>>>
>>> /http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1f2b8d7238eff4ab8a
>> 4d8d6177e250b8180d51f4
>>> /---
>>>
>>> doc/ffmpeg.texi | 4 +
>>> fftools/Makefile | 1 +
>>> fftools/ffmpeg.c | 2 +-
>>> fftools/ffmpeg.h | 1 +
>>> fftools/ffmpeg_filter.c | 2 +-
>>> fftools/ffmpeg_opt.c | 4 +
>>> fftools/graph/filelauncher.c | 205
>> +++++++++++++++++++++++++++++++++++++++++++
>>> fftools/graph/graphprint.c | 48 +++++++++-
>>> fftools/graph/graphprint.h | 32 +++++++
>>> 9 files changed, 296 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
>>> index 35675b5309..4bcb6d6a01 100644
>>> --- a/doc/ffmpeg.texi
>>> +++ b/doc/ffmpeg.texi
>>> @@ -1404,6 +1404,10 @@ Writes execution graph details to the specified file
>> in the format set via -prin
>>> Sets the output format (available formats are: default, compact, csv,
>> flat, ini, json, xml, mermaid, mermaidhtml)
>>> The default format is json.
>>>
>>> + at item <https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog> -sg
>> (@emph{global})
>>> +Writes the execution graph to a temporary html file (mermaidhtml format)
>> and
>>> +tries to launch it in the default browser.
>>> +
>>> @item -progress @var{url} (@emph{global})
>>> Send program-friendly progress information to @var{url}.
>>>
>>> diff --git a/fftools/Makefile b/fftools/Makefile
>>> index 361a4fd574..56a2910212 100644
>>> --- a/fftools/Makefile
>>> +++ b/fftools/Makefile
>>> @@ -22,6 +22,7 @@ OBJS-ffmpeg += \
>>> fftools/ffmpeg_opt.o \
>>> fftools/ffmpeg_sched.o \
>>> fftools/graph/graphprint.o \
>>> + fftools/graph/filelauncher.o \
>>> fftools/sync_queue.o \
>>> fftools/thread_queue.o \
>>> fftools/textformat/avtextformat.o \
>>> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
>>> index 964770df23..6513e2129e 100644
>>> --- a/fftools/ffmpeg.c
>>> +++ b/fftools/ffmpeg.c
>>> @@ -309,7 +309,7 @@ const AVIOInterruptCB int_cb = { decode_interrupt_cb,
>> NULL };
>>>
>>> static void ffmpeg_cleanup(int ret)
>>> {
>>> - if (print_graphs || print_graphs_file)
>>> + if (print_graphs || print_graphs_file || show_graph)
>>> print_filtergraphs(filtergraphs, nb_filtergraphs, input_files,
>> nb_input_files, output_files, nb_output_files);
>>>
>>> if (do_benchmark) {
>>> diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h
>>> index 7fbf0ad532..49fea0307d 100644
>>> --- a/fftools/ffmpeg.h
>>> +++ b/fftools/ffmpeg.h
>>> @@ -721,6 +721,7 @@ extern int print_graphs;
>>> extern char *print_graphs_file;
>>> extern char *print_graphs_format;
>>> extern int auto_conversion_filters;
>>> +extern int show_graph;
>>>
>>> extern const AVIOInterruptCB int_cb;
>>>
>>> diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
>>> index b774606562..e82e333b7f 100644
>>> --- a/fftools/ffmpeg_filter.c
>>> +++ b/fftools/ffmpeg_filter.c
>>> @@ -2985,7 +2985,7 @@ read_frames:
>>>
>>> finish:
>>>
>>> - if (print_graphs || print_graphs_file)
>>> + if (print_graphs || print_graphs_file || show_graph)
>>> print_filtergraph(fg, fgt.graph);
>>>
>>> // EOF is normal termination
>>> diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c
>>> index 3d1efe32f9..24713d640f 100644
>>> --- a/fftools/ffmpeg_opt.c
>>> +++ b/fftools/ffmpeg_opt.c
>>> @@ -79,6 +79,7 @@ int vstats_version = 2;
>>> int print_graphs = 0;
>>> char *print_graphs_file = NULL;
>>> char *print_graphs_format = NULL;
>>> +int show_graph = 0;
>>> int auto_conversion_filters = 1;
>>> int64_t stats_period = 500000;
>>>
>>> @@ -1748,6 +1749,9 @@ const OptionDef options[] = {
>>> { "print_graphs_format", OPT_TYPE_STRING, 0,
>>> { &print_graphs_format },
>>> "set the output printing format (available formats are: default,
>> compact, csv, flat, ini, json, xml, mermaid, mermaidhtml)", "format" },
>>> + { "sg", OPT_TYPE_BOOL, 0,
>>> + { &show_graph },
>>> + "create execution graph as temporary html file and try to launch it
>> in the default browser" },
>>
>> Absolutely not, wtf. Calling an external application like this?
>>
>> Revert this patch or remove this effect immediately.
>
> 15 versions have been posted, I have sent 3 messages asking for comments
> before applying over the past 2 weeks.
>
> sw
And there are still unresolved comments you didn't take into account
before pushing this set.
This specific change is not acceptable, so it needs to be reverted.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250515/8aa09af6/attachment.sig>
More information about the ffmpeg-devel
mailing list