From: "Jan Ekström" <jeebjp@gmail.com> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v1 00/12] encoder AVCodecContext configuration side data Date: Fri, 31 Mar 2023 19:21:53 +0300 Message-ID: <20230331162205.428735-1-jeebjp@gmail.com> (raw) Differences to v0: 1. side data set structure moved to public AVCodecContext itself 2. set extension helper renamed to av_extend_side_data_set 3. avutil/frame.c cleanup patch removed as it was applied to master This patch set I've now been working for a while since I felt like it was weird we couldn't pass through information such as static HDR metadata to encoders from decoded input. This initial version adds the necessary framework, as well as adds static HDR metadata support for libsvtav1, libx264 as well as libx265 wrappers. An alternative to this would be to make encoders only properly initialize when they receive the first AVFrame, but that seems to be a bigger, nastier change than introducing an AVFrameSideDataSet in avctx as everything seems to presume that extradata etc are available after opening the encoder. Jan Jan Ekström (12): avutil/frame: add AVFrameSideDataSet for passing sets of side data avutil/frame: split side data list wiping out to non-AVFrame function avutil/frame: add helper for clearing out side data sets avutil/frame: split side_data_from_buf to base and AVFrame func avutil/frame: add helper for adding side data to set avutil/frame: add helper for getting side data from set avutil/frame: add helper for extending a set of side data avcodec: add private side data set to AVCodecContext ffmpeg: pass first video AVFrame's side data to encoder avcodec/libsvtav1: add support for writing out CLL and MDCV avcodec/libx264: add support for writing out CLL and MDCV avcodec/libx265: add support for writing out CLL and MDCV fftools/ffmpeg.c | 12 +++++ libavcodec/avcodec.h | 7 +++ libavcodec/libsvtav1.c | 70 ++++++++++++++++++++++++++ libavcodec/libx264.c | 79 +++++++++++++++++++++++++++++ libavcodec/libx265.c | 82 ++++++++++++++++++++++++++++++ libavcodec/options.c | 1 + libavutil/frame.c | 112 +++++++++++++++++++++++++++++++++-------- libavutil/frame.h | 49 ++++++++++++++++++ 8 files changed, 391 insertions(+), 21 deletions(-) -- 2.39.2 _______________________________________________ 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 reply other threads:[~2023-03-31 16:22 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-03-31 16:21 Jan Ekström [this message] 2023-03-31 16:21 ` [FFmpeg-devel] [PATCH v1 01/12] avutil/frame: add AVFrameSideDataSet for passing sets of " Jan Ekström 2023-03-31 16:21 ` [FFmpeg-devel] [PATCH v1 02/12] avutil/frame: split side data list wiping out to non-AVFrame function Jan Ekström 2023-03-31 16:21 ` [FFmpeg-devel] [PATCH v1 03/12] avutil/frame: add helper for clearing out side data sets Jan Ekström 2023-03-31 16:21 ` [FFmpeg-devel] [PATCH v1 04/12] avutil/frame: split side_data_from_buf to base and AVFrame func Jan Ekström 2023-03-31 16:21 ` [FFmpeg-devel] [PATCH v1 05/12] avutil/frame: add helper for adding side data to set Jan Ekström 2023-03-31 16:21 ` [FFmpeg-devel] [PATCH v1 06/12] avutil/frame: add helper for getting side data from set Jan Ekström 2023-03-31 16:22 ` [FFmpeg-devel] [PATCH v1 07/12] avutil/frame: add helper for extending a set of side data Jan Ekström 2023-03-31 16:22 ` [FFmpeg-devel] [PATCH v1 08/12] avcodec: add private side data set to AVCodecContext Jan Ekström 2023-03-31 16:22 ` [FFmpeg-devel] [PATCH v1 09/12] ffmpeg: pass first video AVFrame's side data to encoder Jan Ekström 2023-03-31 16:22 ` [FFmpeg-devel] [PATCH v1 10/12] avcodec/libsvtav1: add support for writing out CLL and MDCV Jan Ekström 2023-03-31 16:22 ` [FFmpeg-devel] [PATCH v1 11/12] avcodec/libx264: " Jan Ekström 2023-03-31 16:22 ` [FFmpeg-devel] [PATCH v1 12/12] avcodec/libx265: " Jan Ekström
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=20230331162205.428735-1-jeebjp@gmail.com \ --to=jeebjp@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /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