[FFmpeg-devel] [PATCH v7 00/13] Execution Graph Printing
ffmpegagent
ffmpegagent at gmail.com
Sat Apr 26 02:30:55 EEST 2025
Shortest cover letter for my longest-running FFmpeg patchset:
* Apply
* Build
* Add the "-sg" switch to any FFmpeg command line
* Press 'q' when you don't want to wait
SG = Show Graph
Documentation and examples can be found here:
https://github.com/softworkz/ffmpeg_output_apis/wiki
Version Updates
===============
V2
==
* Rebased on top of Andreas' improvements
* Applied changes from review (thanks, Andreas)
V3
==
* Fixed all "new warnings"
* Fixed out-of-tree building (thanks, Michael)
V4
==
* Resolved merge conflict
* Fixed build on MinGW (missing include due to WIN32_LEAN_AND_MEAN being
defined) (thanks, Michael)
V5
==
* Applied changes as per review from Stefano (thanks!)
* Introduced AVTextFormatOptions struct for options in
avtext_context_open()
V6
==
* Fix "new warning" in 2nd last commit
* Squash patches 04 and 05 (they weren't truely independent)
* Applied changes as per review from Stefano (thanks!)
V7
==
* Bitten by OOT builds once again (thanks, Michael)
.
softworkz (13):
fftools/textformat: Formatting and whitespace changes
fftools/textformat: Apply quality improvements
fftools/avtextformat: Re-use BPrint in loop
fftools/textformat: Introduce AVTextFormatOptions for
avtext_context_open()
fftools/textformat: Introduce common header and deduplicate code
fftools/tf_internal: Use av_default_item_name
fftools/textformat: Add function avtext_print_integer_flags()
fftools/ffmpeg_filter: Move some declaration to new header file
avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx()
fftools/resources: Add resource manager files
fftools/ffmpeg_mux: Make ms_from_ost() inline
fftools/graphprint: Add execution graph printing
fftools/graphprint: Now, make it a Killer-Feature!
doc/APIchanges | 3 +
doc/ffmpeg.texi | 14 +
ffbuild/common.mak | 28 +-
fftools/Makefile | 22 +-
fftools/ffmpeg.c | 4 +
fftools/ffmpeg.h | 4 +
fftools/ffmpeg_filter.c | 195 +----
fftools/ffmpeg_filter.h | 234 ++++++
fftools/ffmpeg_mux.h | 2 +-
fftools/ffmpeg_opt.c | 17 +
fftools/ffprobe.c | 13 +-
fftools/graph/filelauncher.c | 205 +++++
fftools/graph/graphprint.c | 1147 ++++++++++++++++++++++++++++
fftools/graph/graphprint.h | 62 ++
fftools/resources/.gitignore | 4 +
fftools/resources/Makefile | 27 +
fftools/resources/graph.css | 353 +++++++++
fftools/resources/graph.html | 86 +++
fftools/resources/resman.c | 213 ++++++
fftools/resources/resman.h | 50 ++
fftools/textformat/avtextformat.c | 228 +++---
fftools/textformat/avtextformat.h | 67 +-
fftools/textformat/avtextwriters.h | 11 +-
fftools/textformat/tf_compact.c | 121 +--
fftools/textformat/tf_default.c | 55 +-
fftools/textformat/tf_flat.c | 51 +-
fftools/textformat/tf_ini.c | 62 +-
fftools/textformat/tf_internal.h | 81 ++
fftools/textformat/tf_json.c | 56 +-
fftools/textformat/tf_mermaid.c | 658 ++++++++++++++++
fftools/textformat/tf_mermaid.h | 41 +
fftools/textformat/tf_xml.c | 68 +-
fftools/textformat/tw_avio.c | 20 +-
fftools/textformat/tw_buffer.c | 9 +-
fftools/textformat/tw_stdout.c | 10 +-
libavfilter/avfilter.c | 9 +
libavfilter/avfilter.h | 12 +
37 files changed, 3682 insertions(+), 560 deletions(-)
create mode 100644 fftools/ffmpeg_filter.h
create mode 100644 fftools/graph/filelauncher.c
create mode 100644 fftools/graph/graphprint.c
create mode 100644 fftools/graph/graphprint.h
create mode 100644 fftools/resources/.gitignore
create mode 100644 fftools/resources/Makefile
create mode 100644 fftools/resources/graph.css
create mode 100644 fftools/resources/graph.html
create mode 100644 fftools/resources/resman.c
create mode 100644 fftools/resources/resman.h
create mode 100644 fftools/textformat/tf_internal.h
create mode 100644 fftools/textformat/tf_mermaid.c
create mode 100644 fftools/textformat/tf_mermaid.h
base-commit: 25b0a8e295749a60a238ba0d6fe7a3742937b6bb
Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-66%2Fsoftworkz%2Fsubmit_print_execution_graph-v7
Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-66/softworkz/submit_print_execution_graph-v7
Pull-Request: https://github.com/ffstaging/FFmpeg/pull/66
Range-diff vs v6:
1: b4bb8cdcc6 = 1: b4bb8cdcc6 fftools/textformat: Formatting and whitespace changes
2: 1a4044ba23 = 2: 1a4044ba23 fftools/textformat: Apply quality improvements
3: 5972ecf213 = 3: 5972ecf213 fftools/avtextformat: Re-use BPrint in loop
4: 97ab9e0426 = 4: 97ab9e0426 fftools/textformat: Introduce AVTextFormatOptions for avtext_context_open()
5: 6d1cf2b3fd = 5: 6d1cf2b3fd fftools/textformat: Introduce common header and deduplicate code
6: fa22ead3ef = 6: fa22ead3ef fftools/tf_internal: Use av_default_item_name
7: 59dfd3ded6 = 7: 59dfd3ded6 fftools/textformat: Add function avtext_print_integer_flags()
8: 55a704faa5 = 8: 55a704faa5 fftools/ffmpeg_filter: Move some declaration to new header file
9: b6320cab8c = 9: b6320cab8c avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx()
10: 0e3e9b3e40 ! 10: 48d36d9df0 fftools/resources: Add resource manager files
@@ fftools/resources/Makefile (new)
+ $(RM) $(CLEANSUFFIXES:%=fftools/resources/%)
+
+
-+HTML_RESOURCES := fftools/resources/graph.html \
++HTML_RESOURCES := $(SRC_PATH)/fftools/resources/graph.html \
+
+# .html => (gzip) .html.gz => (bin2c) .html.c => (cc) .o
+HTML_RESOURCES_GZ := $(HTML_RESOURCES:.html=.html.gz)
+HTML_RESOURCES_C := $(HTML_RESOURCES_GZ:.html.gz=.html.c)
+HTML_RESOURCES_OBJS := $(HTML_RESOURCES_C:.c=.o)
+
-+CSS_RESOURCES := fftools/resources/graph.css \
++CSS_RESOURCES := $(SRC_PATH)/fftools/resources/graph.css \
+
+# .css => (sh) .css.min => (gzip) .css.min.gz => (bin2c) .css.c => (cc) .o
+CSS_RESOURCES_MIN := $(CSS_RESOURCES:.css=.css.min)
@@ fftools/resources/Makefile (new)
+CSS_RESOURCES_OBJS := $(CSS_RESOURCES_C:.c=.o)
+
+# Uncomment to prevent deletion
-+#.PRECIOUS: %.css.c %.css.min %.css.gz %.css.min.gz
++#.PRECIOUS: %.css.c %.css.min %.css.gz %.css.min.gz %.html.gz %.html.c
+
+OBJS-resman += \
+ fftools/resources/resman.o \
11: 9464b8d9f4 = 11: c4c7340c1d fftools/ffmpeg_mux: Make ms_from_ost() inline
12: 2b271af447 = 12: 9cc44e3690 fftools/graphprint: Add execution graph printing
13: a23cc583de = 13: 1cb17c6e3b fftools/graphprint: Now, make it a Killer-Feature!
--
ffmpeg-codebot
More information about the ffmpeg-devel
mailing list