From: Niklas Haas <ffmpeg@haasn.xyz> To: ffmpeg-devel@ffmpeg.org Cc: Niklas Haas <git@haasn.dev> Subject: [FFmpeg-devel] [PATCH v2 02/13] avcodec: add extended AVCodec color metadata Date: Fri, 13 Oct 2023 16:24:40 +0200 Message-ID: <20231013142706.23971-3-ffmpeg@haasn.xyz> (raw) In-Reply-To: <20231013142706.23971-1-ffmpeg@haasn.xyz> From: Niklas Haas <git@haasn.dev> This is motivated primarily by a desire for YUVJ removal, which will require signalling the supported color ranges as part of the codec capabilities. But since we're here anyway, we might as well add all of the metadata, which I foresee seeing more use in the future (e.g. automatic conversion from HDR to SDR when encoding to formats that don't support AVCOL_TRC_SMPTE2084, ...) --- doc/APIchanges | 4 ++++ libavcodec/codec.h | 7 +++++++ libavcodec/version.h | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 9b109e6fa7..f91e855e70 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09 API changes, most recent first: +2023-10-xx - xxxxxxxxxx - lavc 60.23.100 - avcodec.h + Add AVCodec.csps, AVCodec.color_ranges, AVCodec.chroma_locs, AVCodec.primaries, + AVCodec.trcs. + 2023-10-06 - xxxxxxxxxx - lavc 60.30.101 - avcodec.h AVCodecContext.coded_side_data may now be used during decoding, to be set by user before calling avcodec_open2() for initialization. diff --git a/libavcodec/codec.h b/libavcodec/codec.h index 8034f1a53c..5bc8f21868 100644 --- a/libavcodec/codec.h +++ b/libavcodec/codec.h @@ -235,6 +235,13 @@ typedef struct AVCodec { * Array of supported channel layouts, terminated with a zeroed layout. */ const AVChannelLayout *ch_layouts; + + /* Extended colorspace support metadata */ + const enum AVColorSpace *csps; ///< array of supported color spaces, or NULL if unknown, array is terminated by AVCOL_SPC_UNSPECIFIED + const enum AVColorRange *color_ranges; ///< array of supported color ranges, or NULL if unknown, array is terminated by 0 + const enum AVChromaLocation *chroma_locs; ///< array of supported chroma locations, or NULL if unknown, array is terminated by 0 + const enum AVColorPrimaries *primaries; ///< array of supported color primaries, or NULL if unknown, array is terminated by 0 + const enum AVColorTransferCharacteristic *trcs; ///< array of supported transfer characteristics, or NULL if known, array is terminated by 0 } AVCodec; /** diff --git a/libavcodec/version.h b/libavcodec/version.h index 6b46100aae..497389d3f3 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,8 +29,8 @@ #include "version_major.h" -#define LIBAVCODEC_VERSION_MINOR 30 -#define LIBAVCODEC_VERSION_MICRO 102 +#define LIBAVCODEC_VERSION_MINOR 31 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ -- 2.42.0 _______________________________________________ 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:[~2023-10-13 14:27 UTC|newest] Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-10-13 14:24 [FFmpeg-devel] [PATCH v2 00/13] YUVJ removal Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 01/13] avfilter/vf_scale: don't change range by default Niklas Haas 2023-10-13 14:24 ` Niklas Haas [this message] 2023-10-13 17:10 ` [FFmpeg-devel] [PATCH v2 02/13] avcodec: add extended AVCodec color metadata Andreas Rheinhardt 2023-10-13 18:52 ` Vittorio Giovara 2023-10-14 10:29 ` Niklas Haas 2023-10-14 11:46 ` Niklas Haas 2023-10-20 13:54 ` Anton Khirnov 2023-10-20 14:11 ` Michael Niedermayer 2023-10-20 14:01 ` Anton Khirnov 2023-10-14 13:31 ` Leo Izen 2023-10-14 13:40 ` Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 03/13] fftools/ffmpeg_filter: auto-convert range if needed Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 04/13] lavfi/vf_colorspace: support prim/trc/csp passthrough Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 05/13] fftools/ffmpeg_filter: auto-insert colorspace filter Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 06/13] avcodec/encode: enforce AVCodec capabilities at encode time Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 07/13] tests/fate: force MPEG range for rawvideo tests Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 08/13] tests/fate: allow conversion filters in jpg-icc test Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 09/13] lavc: set color_ranges for YUVJ-only codecs Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 10/13] lavfi/lavu/lavc: remove YUVJ pixel formats Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 11/13] swscale/utils: simplify JPEG handling function Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 12/13] tests/fate: remove unused YUVJ ref files Niklas Haas 2023-10-13 14:24 ` [FFmpeg-devel] [PATCH v2 13/13] avutil/pixdesc: remove old yuvj pixel format check Niklas Haas 2023-10-13 18:33 ` [FFmpeg-devel] [PATCH v2 00/13] YUVJ removal Vittorio Giovara 2023-10-13 21:14 ` Lynne 2023-10-13 22:21 ` Vittorio Giovara 2023-10-14 13:11 ` Lynne 2023-10-14 15:15 ` Vittorio Giovara 2023-10-14 15:18 ` Lynne 2023-10-20 12:14 ` Ronald S. Bultje 2023-10-20 16:14 ` Vittorio Giovara 2023-10-20 23:13 ` Ronald S. Bultje 2023-10-21 23:20 ` Michael Niedermayer 2023-10-24 0:56 ` Vittorio Giovara 2023-10-25 22:15 ` Michael Niedermayer 2023-10-20 11:30 ` Niklas Haas 2023-10-20 16:17 ` Vittorio Giovara
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=20231013142706.23971-3-ffmpeg@haasn.xyz \ --to=ffmpeg@haasn.xyz \ --cc=ffmpeg-devel@ffmpeg.org \ --cc=git@haasn.dev \ /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