From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id C965F4DEA6 for <ffmpegdev@gitmailbox.com>; Fri, 25 Apr 2025 23:31:26 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1A17668A15F; Sat, 26 Apr 2025 02:31:24 +0300 (EEST) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 52A40687D14 for <ffmpeg-devel@ffmpeg.org>; Sat, 26 Apr 2025 02:31:17 +0300 (EEST) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-b03bc416962so2078137a12.0 for <ffmpeg-devel@ffmpeg.org>; Fri, 25 Apr 2025 16:31:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745623875; x=1746228675; darn=ffmpeg.org; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:from:to:cc:subject:date :message-id:reply-to; bh=TT2XOfEmwgh9AAc8aFL+EX5eJz7BG6ASAmisjMmqreY=; b=WF5ddhe0DaLsHcwAwKLVV7IXeDikc+/ItJewSInYk4rgqYuZfa+xkPawvwVeKRU5a9 1jJbslJ3YuISidl7ARWrr1iTwx56SIhGUKV/fBza7P/CBgaf5AQFglxZWEACraLELRAS Hgf7gNuR7i5RuHdqJcaTiZNx0Om1nv0AZt2RLHlh45OlM4IQf1W/1M5L7F+866lQHklp 1PTl7wvs2fkpp501ADu/j56rQCp3RtKGaI/WKjEXXqFwal6SoAntlEv54+a63mCibmsk NUzDjJJ+W05KA84s0WXViS4Z5DaxWUnGt1UcX4zGpyoB0vOZYoxybtye54R/MsCMCoik f1uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745623875; x=1746228675; h=cc:to:mime-version:content-transfer-encoding:fcc:subject:date:from :references:in-reply-to:message-id:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TT2XOfEmwgh9AAc8aFL+EX5eJz7BG6ASAmisjMmqreY=; b=E9QRFkC+4HvLDyE2ug+Z2MoWmPsnB9AIpSUisGWSmxeI/Usx4HPN0QJVCG7gn8xHHG QWCH1BCVehhrHzW1nR6QhEhuDszcJUmkW8vyvIh44xHkeeYX9DHtvvKeWZshgbg2CPzd c04hhESvRXY8o0nbZAPmEDPpn7O77AdLcf4q0xZqHlHP9+yJLnKQNXgzthCNQsKlUFOy 0uTrG6lSM877xqzBrIKAoQHiCRE6ATdDvNl6XCRPCgdE/s5O4WN46QZZ0+if566g0PJy P7TwfY6KvZmyUVWWUtFhlDnmk9ds5dBCCu2JCsX9jLraPsqhrPgZurrzNmUNrGIBISJ9 Q7Aw== X-Gm-Message-State: AOJu0YwaHCc3dILK9AGig6FFPi8k5aNLb3s9ruYk7ESUJ2D2pOCic/fD +mMNCkhCbtrbOW22iWELXHmLlwvZcAwFfgvmwd0CKOAsrNQrlMsw5A3OVQ== X-Gm-Gg: ASbGncuEY5LJNrtzHZwRH0ZNxW7s0BHGo/6LAx14Ll/iz7UJRuKkSGroy2rCC3Ld9bt hmgEGX5RZ4n7GaYP53PjGEvap7lG4MuBeO5n2o2gApl1Uhmb8xOd3Bpo1UE8nQGW8NRHDSEpwFk O8aACKm+m3Ebq8E8uEVoC8sGWP34HZ6Vnwzv2Rc0nW4OcAMuz4jdziH02sQEU43w6eU9T5bMIqu trGje+Q740N5YlvmVW1qFA3tvnWvPzynxEb9byQxkxI9litZA8A+5X60S8n+I+F0DHcXQJFfPzY a2xgwLUOCCv3/kPaeowxn+oowSWEmFEpUEMjpcgcp8fmpykXdNPA+/wEbZo= X-Google-Smtp-Source: AGHT+IE44uVpF1wsC1T8NGbgVCy7eBXq7jsAoxKql9vZDtAwoXscKUMZueadsE4LIbYbwTInx5/fiA== X-Received: by 2002:a17:90b:2f0f:b0:2eb:140d:f6df with SMTP id 98e67ed59e1d1-30a012ed038mr1866765a91.1.1745623874940; Fri, 25 Apr 2025 16:31:14 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-309ef146f92sm4125315a91.40.2025.04.25.16.31.14 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Apr 2025 16:31:14 -0700 (PDT) Message-Id: <pull.66.v7.ffstaging.FFmpeg.1745623868.ffmpegagent@gmail.com> In-Reply-To: <pull.66.v6.ffstaging.FFmpeg.1745457192.ffmpegagent@gmail.com> References: <pull.66.v6.ffstaging.FFmpeg.1745457192.ffmpegagent@gmail.com> From: ffmpegagent <ffmpegagent@gmail.com> Date: Fri, 25 Apr 2025 23:30:55 +0000 Fcc: Sent MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v7 00/13] Execution Graph Printing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Cc: softworkz <softworkz@hotmail.com> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/pull.66.v7.ffstaging.FFmpeg.1745623868.ffmpegagent@gmail.com/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> 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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".