Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: "Jan Ekström" <jeebjp@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: [FFmpeg-devel] [PATCH v0 00/14] encoder AVCodecContext configuration side data
Date: Tue, 21 Mar 2023 01:33:54 +0200
Message-ID: <20230320233408.134255-1-jeebjp@gmail.com> (raw)

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.

The first patch, poking at loop counters, was already posted earlier separately,
and only part of this set in order to make the patch set applicable on top of
master, as the patch had not yet received any ACKs.

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 a private AVFrameSideDataSet in avctx as everything seems to
presume that extradata etc are available after opening the encoder.


Jan

Jan Ekström (14):
  avutil/frame: move counters utilized in loops to their scope
  avcodec: move AVCodecInternal allocation to avcodec_alloc_context3
  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
  avcodec: add private side data set to AVCodecInternal
  avcodec: add function for setting avctx side data
  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.c              |  49 +++++++--
 libavcodec/avcodec.h              |  12 +++
 libavcodec/frame_thread_encoder.c |   7 +-
 libavcodec/internal.h             |  12 +++
 libavcodec/libsvtav1.c            |  70 +++++++++++++
 libavcodec/libx264.c              |  79 +++++++++++++++
 libavcodec/libx265.c              |  82 +++++++++++++++
 libavcodec/options.c              |  25 ++++-
 libavutil/frame.c                 | 161 ++++++++++++++++++------------
 libavutil/frame.h                 |  38 +++++++
 11 files changed, 474 insertions(+), 73 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".

             reply	other threads:[~2023-03-20 23:34 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-20 23:33 Jan Ekström [this message]
2023-03-20 23:33 ` [FFmpeg-devel] [PATCH v0 01/14] avutil/frame: move counters utilized in loops to their scope Jan Ekström
2023-03-24 10:33   ` Anton Khirnov
2023-03-24 12:00     ` Jan Ekström
2023-03-20 23:33 ` [FFmpeg-devel] [PATCH v0 02/14] avcodec: move AVCodecInternal allocation to avcodec_alloc_context3 Jan Ekström
2023-03-24 10:41   ` Anton Khirnov
2023-03-24 12:07   ` Andreas Rheinhardt
2023-03-24 13:02     ` James Almer
2023-03-24 13:20       ` Anton Khirnov
2023-03-24 17:23   ` Michael Niedermayer
2023-03-24 17:26     ` Andreas Rheinhardt
2023-03-20 23:33 ` [FFmpeg-devel] [PATCH v0 03/14] avutil/frame: add AVFrameSideDataSet for passing sets of side data Jan Ekström
2023-03-20 23:33 ` [FFmpeg-devel] [PATCH v0 04/14] avutil/frame: split side data list wiping out to non-AVFrame function Jan Ekström
2023-03-20 23:33 ` [FFmpeg-devel] [PATCH v0 05/14] avutil/frame: add helper for clearing out side data sets Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 06/14] avutil/frame: split side_data_from_buf to base and AVFrame func Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 07/14] avutil/frame: add helper for adding side data to set Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 08/14] avutil/frame: add helper for getting side data from set Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 09/14] avcodec: add private side data set to AVCodecInternal Jan Ekström
2023-03-24 10:50   ` Anton Khirnov
2023-03-24 17:34     ` Jan Ekström
2023-03-26 19:00       ` Anton Khirnov
2023-03-26 19:03         ` James Almer
2023-03-27  6:40           ` Jan Ekström
2023-03-27  6:37         ` Jan Ekström
2023-03-27  7:08           ` Anton Khirnov
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 10/14] avcodec: add function for setting avctx side data Jan Ekström
2023-03-24 10:49   ` Anton Khirnov
2023-03-24 17:35     ` Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 11/14] ffmpeg: pass first video AVFrame's side data to encoder Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 12/14] avcodec/libsvtav1: add support for writing out CLL and MDCV Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 13/14] avcodec/libx264: " Jan Ekström
2023-03-20 23:34 ` [FFmpeg-devel] [PATCH v0 14/14] 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=20230320233408.134255-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