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".