On 4/29/2023 6:41 AM, Anton Khirnov wrote:
Quoting Nicolas George (2023-04-29 11:11:59)
Nicolas George (12023-04-28):
Signed-off-by: Nicolas George <geo...@nsup.org>
---
libavutil/Makefile | 1 +
libavutil/json.c | 368 +++++++++++++++++++++++++++++++++++
libavutil/json.h | 470 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 839 insertions(+)
create mode 100644 libavutil/json.c
create mode 100644 libavutil/json.h
I forgot to write: I wrote this code not only because we have half-baked
JSON output in multiple places in the code
As far as I can see, there are exactly two places in the codebase that
produce JSON: af_loudnorm and ffprobe.
af_loudnorm:
* can optionally produce final filter stats as JSON output with av_log()
* the relevant code has ~25 lines and is unlikely to be simplified by
this
* IMO the filter should not be doing this at all and instead produce some
sort of a struct and let the users process it as they wish
It should be exporting frame metadata, like aphasemeter, cropdetect, etc.
av_log() output is not meant to be parseable. It's why the relevant
output of vf_showinfo can be freely changed, whereas output from things
like framecrc/framehash muxers is standardized.
ffprobe:
* is not one of the libraries, but rather their caller
* we are not in business of providing random non-multimedia-related
services to callers, unless they are useful in our libraries;
if this code is only useful in ffprobe then it should live in fftools/
* it is not at all obvious that switching ffprobe to this code would
be an improvement; a patch actually demonstrating this would be most
useful
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".