Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "softworkz ." <softworkz-at-hotmail.com@ffmpeg.org>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH v9 0/4] print_graphs: Complete Filtergraph Printing
Date: Wed, 2 Apr 2025 07:48:39 +0000
Message-ID: <DM8P223MB03656A5BBEB824E2DE8E89D0BAAF2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <AS8P250MB074423B54BEAA80C7499D5328FAF2@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM>



> -----Original Message-----
> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
> Andreas Rheinhardt
> Sent: Mittwoch, 2. April 2025 09:25
> To: ffmpeg-devel@ffmpeg.org
> Subject: Re: [FFmpeg-devel] [PATCH v9 0/4] print_graphs: Complete
> Filtergraph Printing
> 
> softworkz .:
> >
> >
> >> -----Original Message-----
> >> From: ffmpegagent <ffmpegagent@gmail.com>
> >> Sent: Sonntag, 23. März 2025 04:42
> >> To: ffmpeg-devel@ffmpeg.org
> >> Cc: softworkz <softworkz@hotmail.com>
> >> Subject: [PATCH v9 0/4] print_graphs: Complete Filtergraph Printing
> >>
> >> Due to the additional work on graph visualization (see
> >> https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2025-
> March/341296.html),
> >> I
> >> have removed the two graph printing commits from this patchset rather
> >> than
> >> adding to it, as to avoid wasting the effort already spent on
> reviewing.
> >>
> >> So, now it's a graph printing patchset without graph printing :-)
> >>
> >> All other commits are unchanged from the previous version. I'm also
> >> resubmitting to give it a final run of the tests on various
> platforms.
> >>
> >>
> >> V9
> >> ==
> >>
> >>  * Fix outdir creation for out-of-tree builds
> >>    (thanks, Michael)
> >>
> >> softworkz (4):
> >>   fftools/textformat: Extract and generalize textformat api from
> >>     ffprobe.c
> >>   fftools/ffprobe: Change to use textformat api
> >>   fftools/ffprobe: Rename writer_print_section_* and WriterContext
> >>   fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc)
> >>
> >>  fftools/Makefile                   |   15 +-
> >>  fftools/ffprobe.c                  | 2296 +++++---------------------
> --
> >>  fftools/textformat/avtextformat.c  |  672 ++++++++
> >>  fftools/textformat/avtextformat.h  |  171 +++
> >>  fftools/textformat/avtextwriters.h |   68 +
> >>  fftools/textformat/tf_compact.c    |  282 ++++
> >>  fftools/textformat/tf_default.c    |  145 ++
> >>  fftools/textformat/tf_flat.c       |  174 +++
> >>  fftools/textformat/tf_ini.c        |  160 ++
> >>  fftools/textformat/tf_json.c       |  215 +++
> >>  fftools/textformat/tf_xml.c        |  221 +++
> >>  fftools/textformat/tw_avio.c       |  129 ++
> >>  fftools/textformat/tw_buffer.c     |   92 ++
> >>  fftools/textformat/tw_stdout.c     |   82 +
> >>  14 files changed, 2776 insertions(+), 1946 deletions(-)
> >>  create mode 100644 fftools/textformat/avtextformat.c
> >>  create mode 100644 fftools/textformat/avtextformat.h
> >>  create mode 100644 fftools/textformat/avtextwriters.h
> >>  create mode 100644 fftools/textformat/tf_compact.c
> >>  create mode 100644 fftools/textformat/tf_default.c
> >>  create mode 100644 fftools/textformat/tf_flat.c
> >>  create mode 100644 fftools/textformat/tf_ini.c
> >>  create mode 100644 fftools/textformat/tf_json.c
> >>  create mode 100644 fftools/textformat/tf_xml.c
> >>  create mode 100644 fftools/textformat/tw_avio.c
> >>  create mode 100644 fftools/textformat/tw_buffer.c
> >>  create mode 100644 fftools/textformat/tw_stdout.c
> >>
> >>
> >> base-commit: 0b097ed9f141f57e2b91f0704c721a9eff0204c0
> >> Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-
> >> ffstaging-52%2Fsoftworkz%2Fsubmit_print_graphs5-v9
> >> Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-
> >> ffstaging-52/softworkz/submit_print_graphs5-v9
> >> Pull-Request: https://github.com/ffstaging/FFmpeg/pull/52
> >>
> >> Range-diff vs v8:
> >>
> >>  1:  f379c77e88 = 1:  f379c77e88 fftools/textformat: Extract and
> >> generalize textformat api from ffprobe.c
> >>  2:  67bc38ac96 ! 2:  5ebe2a6c20 fftools/ffprobe: Change to use
> >> textformat api
> >>      @@ fftools/Makefile: OBJS-ffmpeg +=                  \
> >>        OBJS-ffplay += fftools/ffplay_renderer.o
> >>
> >>        define DOFFTOOL
> >>      +@@ fftools/Makefile: ifdef HAVE_GNU_WINDRES
> >>      + OBJS-$(1) += fftools/fftoolsres.o
> >>      + endif
> >>      + $(1)$(PROGSSUF)_g$(EXESUF): $$(OBJS-$(1))
> >>      +-$$(OBJS-$(1)): | fftools
> >>      ++$$(OBJS-$(1)): | fftools fftools/textformat
> >>      + $$(OBJS-$(1)): CFLAGS  += $(CFLAGS-$(1))
> >>      + $(1)$(PROGSSUF)_g$(EXESUF): LDFLAGS += $(LDFLAGS-$(1))
> >>      + $(1)$(PROGSSUF)_g$(EXESUF): FF_EXTRALIBS += $(EXTRALIBS-$(1))
> >>      +@@ fftools/Makefile: all: $(AVPROGS)
> >>      +
> >>      + fftools/ffprobe.o fftools/cmdutils.o: libavutil/ffversion.h |
> >> fftools
> >>      + OUTDIRS += fftools
> >>      ++OUTDIRS += fftools/textformat
> >>      +
> >>      + ifdef AVPROGS
> >>      + install: install-progs install-data
> >>
> >>        ## fftools/ffprobe.c ##
> >>       @@
> >>  3:  52c41fdcd0 = 3:  41dab9d31a fftools/ffprobe: Rename
> >> writer_print_section_* and WriterContext
> >>  4:  e85abafb4d = 4:  ae472da3e3 fftools/ffprobe: Rename
> >> AVTextFormatContext variables (w => tfc)
> >>
> >> --
> >> ffmpeg-codebot
> >
> >
> > Does anyone need more time to review this? Please let me know.
> > Anyway, I'll wait until next Monday at least.
> >
> What is the reason for the +800 net line diff? Is it just license
> headers in new files or did you actually add something new? (If so, this
> should be mentioned in the commit message.)
> 
> - Andreas


Hi Andreas,

12 new files (10 c, 2 h), with license+includes of about 30 makes 360 lines.

Previous static functions have been turned into an API, so the definitions get duplicated in header files.

The componentization of output writing is new. What had been previously just an if statement about whether to write to stdout or to a file is now turned into "AVTextWriter" components (tw_stdout.c, tw_avio.c and tw_buffer.c) which have an AVClass, a priv_class and their own "AVTextWriterContext".

The latter ("bufferwriter", tw_buffer.c) is new in functional means - but trivial. It prints to an AVBPrint.

So, besides general reusability and a few details, the bufferwriter is the only functional piece that is new. 
I'm not sure whether that needs specific mention?

Thanks,
sw





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

  reply	other threads:[~2025-04-02  7:48 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-19  9:59 [FFmpeg-devel] [PATCH 0/3] " ffmpegagent
2025-02-19  9:59 ` [FFmpeg-devel] [PATCH 1/3] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-02-19  9:59 ` [FFmpeg-devel] [PATCH 2/3] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-02-21  9:22   ` Andreas Rheinhardt
2025-02-21  9:42     ` Soft Works
2025-02-21 11:11       ` Andreas Rheinhardt
2025-02-21 11:25         ` Soft Works
2025-02-21 13:09   ` Nicolas George
2025-02-21 13:49     ` Soft Works
2025-02-24 10:41       ` Nicolas George
2025-02-24 13:19         ` Soft Works
2025-02-26 14:42           ` Nicolas George
2025-02-27 13:11             ` Soft Works
2025-02-19  9:59 ` [FFmpeg-devel] [PATCH 3/3] fftools: Enable filtergraph printing and update docs softworkz
2025-02-21 11:27 ` [FFmpeg-devel] [PATCH v2 0/4] print_graphs: Complete Filtergraph Printing ffmpegagent
2025-02-21 11:27   ` [FFmpeg-devel] [PATCH v2 1/4] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-02-21 11:27   ` [FFmpeg-devel] [PATCH v2 2/4] avfilter/avfilter Add avfilter_link_get_hw_frames_ctx() softworkz
2025-02-21 11:27   ` [FFmpeg-devel] [PATCH v2 3/4] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-02-21 11:27   ` [FFmpeg-devel] [PATCH v2 4/4] fftools: Enable filtergraph printing and update docs softworkz
2025-03-01 10:01   ` [FFmpeg-devel] [PATCH v3 0/7] print_graphs: Complete Filtergraph Printing ffmpegagent
2025-03-01 10:01     ` [FFmpeg-devel] [PATCH v3 1/7] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-02 17:54       ` Stefano Sabatini
2025-03-02 19:44         ` Soft Works
2025-03-05 20:20           ` Stefano Sabatini
2025-03-05 20:58             ` Soft Works
2025-03-08 14:00       ` Stefano Sabatini
2025-03-08 15:01         ` Soft Works
2025-03-08 14:36       ` Stefano Sabatini
2025-03-08 15:30         ` Soft Works
2025-03-08 18:12           ` Stefano Sabatini
2025-03-08 19:25             ` Soft Works
2025-03-09 18:55         ` Soft Works
2025-03-01 10:01     ` [FFmpeg-devel] [PATCH v3 2/7] fftools/ffprobe: Change to use textformat api softworkz
2025-03-08 14:18       ` Stefano Sabatini
2025-03-01 10:02     ` [FFmpeg-devel] [PATCH v3 3/7] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-08 14:46       ` Stefano Sabatini
2025-03-08 15:46         ` Soft Works
2025-03-08 17:54         ` Soft Works
2025-03-01 10:02     ` [FFmpeg-devel] [PATCH v3 4/7] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-03-01 10:02     ` [FFmpeg-devel] [PATCH v3 5/7] avfilter/avfilter Add avfilter_link_get_hw_frames_ctx() softworkz
2025-03-01 10:02     ` [FFmpeg-devel] [PATCH v3 6/7] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-03-01 10:02     ` [FFmpeg-devel] [PATCH v3 7/7] fftools: Enable filtergraph printing and update docs softworkz
2025-03-01 22:54     ` [FFmpeg-devel] [PATCH v4 0/7] print_graphs: Complete Filtergraph Printing ffmpegagent
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 1/7] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 2/7] fftools/ffprobe: Change to use textformat api softworkz
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 3/7] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 4/7] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 5/7] avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx() softworkz
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 6/7] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-03-01 22:54       ` [FFmpeg-devel] [PATCH v4 7/7] fftools: Enable filtergraph printing and update docs softworkz
2025-03-08 17:55       ` [FFmpeg-devel] [PATCH v5 0/8] print_graphs: Complete Filtergraph Printing ffmpegagent
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 1/8] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-08 19:08           ` Stefano Sabatini
2025-03-08 19:49             ` Soft Works
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 2/8] fftools/ffprobe: Change to use textformat api softworkz
2025-03-08 19:23           ` Stefano Sabatini
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 3/8] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-08 19:24           ` Stefano Sabatini
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 4/8] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 5/8] avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx() softworkz
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 6/8] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 7/8] fftools: Enable filtergraph printing and update docs softworkz
2025-03-08 17:55         ` [FFmpeg-devel] [PATCH v5 8/8] fftools/ffprobe: Rename AVTextFormatContext variables (w => tc) softworkz
2025-03-08 19:30           ` Stefano Sabatini
2025-03-08 20:16         ` [FFmpeg-devel] [PATCH v6 0/8] print_graphs: Complete Filtergraph Printing ffmpegagent
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 1/8] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 2/8] fftools/ffprobe: Change to use textformat api softworkz
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 3/8] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 4/8] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-03-10 21:47             ` Stefano Sabatini
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 5/8] avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx() softworkz
2025-03-10 22:11             ` Stefano Sabatini
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 6/8] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-03-10 23:03             ` Stefano Sabatini
2025-03-12  4:01               ` Soft Works
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 7/8] fftools: Enable filtergraph printing and update docs softworkz
2025-03-10 23:04             ` Stefano Sabatini
2025-03-10 23:23               ` Soft Works
2025-03-08 20:16           ` [FFmpeg-devel] [PATCH v6 8/8] fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc) softworkz
2025-03-10 21:46           ` [FFmpeg-devel] [PATCH v6 0/8] print_graphs: Complete Filtergraph Printing Stefano Sabatini
2025-03-12  4:04           ` [FFmpeg-devel] [PATCH v7 0/7] " ffmpegagent
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 1/7] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 2/7] fftools/ffprobe: Change to use textformat api softworkz
2025-03-13 11:55               ` Michael Niedermayer
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 3/7] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 4/7] fftools/ffmpeg_filter: Move some declaration to new header file softworkz
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 5/7] avfilter/avfilter: Add avfilter_link_get_hw_frames_ctx() softworkz
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 6/7] fftools/ffmpeg_graphprint: Add options for filtergraph printing softworkz
2025-03-12  4:04             ` [FFmpeg-devel] [PATCH v7 7/7] fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc) softworkz
2025-03-19 17:04             ` [FFmpeg-devel] [PATCH v8 0/4] print_graphs: Complete Filtergraph Printing ffmpegagent
2025-03-19 17:04               ` [FFmpeg-devel] [PATCH v8 1/4] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-19 17:04               ` [FFmpeg-devel] [PATCH v8 2/4] fftools/ffprobe: Change to use textformat api softworkz
2025-03-22  1:22                 ` Michael Niedermayer
2025-03-22  1:36                   ` Soft Works
2025-03-22  2:04                     ` Soft Works
2025-03-22 17:29                     ` Michael Niedermayer
2025-03-22 23:11                       ` Soft Works
2025-03-27  0:58                       ` softworkz .
2025-03-28 23:27                         ` Michael Niedermayer
2025-03-28 23:28                           ` softworkz .
2025-03-19 17:04               ` [FFmpeg-devel] [PATCH v8 3/4] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-19 17:04               ` [FFmpeg-devel] [PATCH v8 4/4] fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc) softworkz
2025-03-21 18:04               ` [FFmpeg-devel] [PATCH v8 0/4] print_graphs: Complete Filtergraph Printing Stefano Sabatini
2025-03-21 18:52                 ` Soft Works
2025-03-22  0:12                   ` Michael Niedermayer
2025-03-22  0:46                     ` Soft Works
2025-03-28 21:45                       ` Michael Niedermayer
2025-03-31 19:27                 ` softworkz .
2025-04-07 22:05                   ` Stefano Sabatini
2025-04-08 10:53                     ` softworkz .
2025-03-23  3:42               ` [FFmpeg-devel] [PATCH v9 " ffmpegagent
2025-03-23  3:42                 ` [FFmpeg-devel] [PATCH v9 1/4] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz
2025-03-23  3:42                 ` [FFmpeg-devel] [PATCH v9 2/4] fftools/ffprobe: Change to use textformat api softworkz
2025-03-23  3:42                 ` [FFmpeg-devel] [PATCH v9 3/4] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz
2025-03-23  3:42                 ` [FFmpeg-devel] [PATCH v9 4/4] fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc) softworkz
2025-04-02  1:13                 ` [FFmpeg-devel] [PATCH v9 0/4] print_graphs: Complete Filtergraph Printing softworkz .
2025-04-02  7:24                   ` Andreas Rheinhardt
2025-04-02  7:48                     ` softworkz . [this message]
2025-04-02  8:54                     ` softworkz .
2025-04-02  9:30                     ` softworkz .
2025-04-02 10:07                       ` softworkz .
2025-04-06 21:42                 ` softworkz .

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM8P223MB03656A5BBEB824E2DE8E89D0BAAF2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM \
    --to=softworkz-at-hotmail.com@ffmpeg.org \
    --cc=ffmpeg-devel@ffmpeg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git