From: ffmpegagent <ffmpegagent@gmail.com> To: ffmpeg-devel@ffmpeg.org Cc: softworkz <softworkz@hotmail.com> Subject: [FFmpeg-devel] [PATCH v10 0/4] print_graphs: Complete Filtergraph Printing Date: Thu, 10 Apr 2025 03:30:40 +0000 Message-ID: <pull.52.v10.ffstaging.FFmpeg.1744255844.ffmpegagent@gmail.com> (raw) In-Reply-To: <pull.52.v9.ffstaging.FFmpeg.1742701330.ffmpegagent@gmail.com> 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) V10 === * Nothing new, just fixed a merge conflict that I wanted to take a final round through Patchwork before applying. 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 | 2302 +++++----------------------- 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, 2779 insertions(+), 1949 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: 00c50a29abdd0579c441f114bb8edebf1c82461e Published-As: https://github.com/ffstaging/FFmpeg/releases/tag/pr-ffstaging-52%2Fsoftworkz%2Fsubmit_print_graphs5-v10 Fetch-It-Via: git fetch https://github.com/ffstaging/FFmpeg pr-ffstaging-52/softworkz/submit_print_graphs5-v10 Pull-Request: https://github.com/ffstaging/FFmpeg/pull/52 Range-diff vs v9: 1: f379c77e88 ! 1: 16b2cf05e6 fftools/textformat: Extract and generalize textformat api from ffprobe.c @@ fftools/textformat/avtextformat.h (new) +#define SECTION_MAX_NB_CHILDREN 11 + + -+struct AVTextFormatSection { ++typedef struct AVTextFormatSection { + int id; ///< unique id identifying a section + const char *name; + 2: 5ebe2a6c20 = 2: 0690336721 fftools/ffprobe: Change to use textformat api 3: 41dab9d31a ! 3: a9cfc15a79 fftools/ffprobe: Rename writer_print_section_* and WriterContext @@ fftools/ffprobe.c: static void print_private_data(WriterContext *w, void *priv_d } } +-static void print_pixel_format(WriterContext *w, enum AVPixelFormat pix_fmt) ++static void print_pixel_format(AVTextFormatContext *w, enum AVPixelFormat pix_fmt) + { + const char *s = av_get_pix_fmt_name(pix_fmt); + enum AVPixelFormat swapped_pix_fmt; +@@ fftools/ffprobe.c: static void print_pixel_format(WriterContext *w, enum AVPixelFormat pix_fmt) + } + } + -static void print_color_range(WriterContext *w, enum AVColorRange color_range) +static void print_color_range(AVTextFormatContext *w, enum AVColorRange color_range) { 4: ae472da3e3 ! 4: cad667bb3f fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc) @@ fftools/ffprobe.c: static void print_private_data(AVTextFormatContext *w, void * } } +-static void print_pixel_format(AVTextFormatContext *w, enum AVPixelFormat pix_fmt) ++static void print_pixel_format(AVTextFormatContext *tfc, enum AVPixelFormat pix_fmt) + { + const char *s = av_get_pix_fmt_name(pix_fmt); + enum AVPixelFormat swapped_pix_fmt; +@@ fftools/ffprobe.c: static void print_pixel_format(AVTextFormatContext *w, enum AVPixelFormat pix_fm + } + } + -static void print_color_range(AVTextFormatContext *w, enum AVColorRange color_range) +static void print_color_range(AVTextFormatContext *tfc, enum AVColorRange color_range) { @@ fftools/ffprobe.c: static void show_frame(AVTextFormatContext *w, AVFrame *frame s = av_get_media_type_string(stream->codecpar->codec_type); if (s) print_str ("media_type", s); +@@ fftools/ffprobe.c: static void show_frame(AVTextFormatContext *w, AVFrame *frame, AVStream *stream, + print_int("crop_bottom", frame->crop_bottom); + print_int("crop_left", frame->crop_left); + print_int("crop_right", frame->crop_right); +- print_pixel_format(w, frame->format); ++ print_pixel_format(tfc, frame->format); + sar = av_guess_sample_aspect_ratio(fmt_ctx, stream, frame); + if (sar.num) { + print_q("sample_aspect_ratio", sar, ':'); @@ fftools/ffprobe.c: static void show_frame(AVTextFormatContext *w, AVFrame *frame, AVStream *stream, print_int("lossless", !!(frame->flags & AV_FRAME_FLAG_LOSSLESS)); print_int("repeat_pict", frame->repeat_pict); @@ fftools/ffprobe.c: static int show_stream(AVTextFormatContext *w, AVFormatContex print_int("index", stream->index); @@ fftools/ffprobe.c: static int show_stream(AVTextFormatContext *w, AVFormatContext *fmt_ctx, int str - else print_str_opt("pix_fmt", "unknown"); + print_str_opt("sample_aspect_ratio", "N/A"); + print_str_opt("display_aspect_ratio", "N/A"); + } +- print_pixel_format(w, par->format); ++ print_pixel_format(tfc, par->format); print_int("level", par->level); - print_color_range(w, par->color_range); -- 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".
next prev parent reply other threads:[~2025-04-10 3:31 UTC|newest] Thread overview: 128+ 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-04-11 1:26 ` 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 . 2025-04-02 8:54 ` softworkz . 2025-04-02 9:30 ` softworkz . 2025-04-02 10:07 ` softworkz . 2025-04-06 21:42 ` softworkz . 2025-04-10 3:30 ` ffmpegagent [this message] 2025-04-10 3:30 ` [FFmpeg-devel] [PATCH v10 1/4] fftools/textformat: Extract and generalize textformat api from ffprobe.c softworkz 2025-04-10 3:30 ` [FFmpeg-devel] [PATCH v10 2/4] fftools/ffprobe: Change to use textformat api softworkz 2025-04-10 3:30 ` [FFmpeg-devel] [PATCH v10 3/4] fftools/ffprobe: Rename writer_print_section_* and WriterContext softworkz 2025-04-10 3:30 ` [FFmpeg-devel] [PATCH v10 4/4] fftools/ffprobe: Rename AVTextFormatContext variables (w => tfc) 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=pull.52.v10.ffstaging.FFmpeg.1744255844.ffmpegagent@gmail.com \ --to=ffmpegagent@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ --cc=softworkz@hotmail.com \ /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