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
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".