[FFmpeg-devel] [PATCH v10 0/4] print_graphs: Complete Filtergraph Printing
ffmpegagent
ffmpegagent at gmail.com
Thu Apr 10 06:30:40 EEST 2025
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
More information about the ffmpeg-devel
mailing list