Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Lynne <dev@lynne.ee>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 3/7] avutil/frame: add a param change side data type
Date: Wed, 22 Jan 2025 12:13:58 +0900
Message-ID: <a94072e5-8d9d-473f-8fdb-7f11960792f9@lynne.ee> (raw)
In-Reply-To: <20250122025403.14457-3-jamrial@gmail.com>


[-- Attachment #1.1.1.1: Type: text/plain, Size: 2443 bytes --]



On 22/01/2025 11:53, James Almer wrote:
> Equivalent to the one from packet side data using AVSideDataParamChangeFlags,
> and will be used for the same purpose with encoders.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>   libavutil/frame.c |  1 +
>   libavutil/frame.h | 13 +++++++++++++
>   2 files changed, 14 insertions(+)
> 
> diff --git a/libavutil/frame.c b/libavutil/frame.c
> index 10b59545f0..f3575afc31 100644
> --- a/libavutil/frame.c
> +++ b/libavutil/frame.c
> @@ -48,6 +48,7 @@ static const AVSideDataDescriptor sd_props[] = {
>       [AV_FRAME_DATA_DOVI_METADATA]               = { "Dolby Vision Metadata",                        AV_SIDE_DATA_PROP_COLOR_DEPENDENT },
>       [AV_FRAME_DATA_LCEVC]                       = { "LCEVC NAL data",                               AV_SIDE_DATA_PROP_SIZE_DEPENDENT },
>       [AV_FRAME_DATA_VIEW_ID]                     = { "View ID" },
> +    [AV_FRAME_DATA_PARAM_CHANGE]                = { "Param Change" },
>       [AV_FRAME_DATA_STEREO3D]                    = { "Stereo 3D",                                    AV_SIDE_DATA_PROP_GLOBAL },
>       [AV_FRAME_DATA_REPLAYGAIN]                  = { "AVReplayGain",                                 AV_SIDE_DATA_PROP_GLOBAL },
>       [AV_FRAME_DATA_DISPLAYMATRIX]               = { "3x3 displaymatrix",                            AV_SIDE_DATA_PROP_GLOBAL },
> diff --git a/libavutil/frame.h b/libavutil/frame.h
> index 628f2b5b3a..de7a8e9eab 100644
> --- a/libavutil/frame.h
> +++ b/libavutil/frame.h
> @@ -243,6 +243,19 @@ enum AVFrameSideDataType {
>        * The data is an int storing the view ID.
>        */
>       AV_FRAME_DATA_VIEW_ID,
> +
> +    /**
> +     * An AV_FRAME_DATA_PARAM_CHANGE side data packet is laid out as follows:
> +     * @code
> +     * u32le param_flags
> +     * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE)
> +     *     s32le sample_rate
> +     * if (param_flags & AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS)
> +     *     s32le width
> +     *     s32le height
> +     * @endcode
> +     */
> +    AV_FRAME_DATA_PARAM_CHANGE,

Could you make the struct defined, and allocated by libavutil, like with 
encode data and film grain?
That way new fields could be added in the future.

I'd also like for the FPS and timebase to be signaled. Encoders can 
sometimes handle them gracefully, as its just a rate control parameter 
change.

[-- Attachment #1.1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 637 bytes --]

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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:[~2025-01-22  3:14 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-22  2:53 [FFmpeg-devel] [PATCH 1/7] avutil/avutil: move some definitions to a new header James Almer
2025-01-22  2:53 ` [FFmpeg-devel] [PATCH 2/7] avcodec/packet: move AVSideDataParamChangeFlags to libavutil/defs.h James Almer
2025-01-22  2:53 ` [FFmpeg-devel] [PATCH 3/7] avutil/frame: add a param change side data type James Almer
2025-01-22  3:13   ` Lynne [this message]
2025-01-22 13:40     ` James Almer
2025-01-22 19:49       ` Nicolas George
2025-01-22 19:58         ` James Almer
2025-01-22 20:18           ` Nicolas George
2025-01-22 20:52             ` James Almer
2025-01-22 21:14               ` Nicolas George
2025-01-22 21:21                 ` Nicolas George
2025-01-23 21:49             ` Alexander Strasser via ffmpeg-devel
2025-01-22  2:54 ` [FFmpeg-devel] [PATCH 4/7] avcodec/encode: add support for param change frame side data James Almer
2025-01-27 12:48   ` Andreas Rheinhardt
2025-01-27 12:54     ` James Almer
2025-01-22  2:54 ` [FFmpeg-devel] [PATCH 5/7] avcodec/encode: add a new param change side data value that takes a dictionary James Almer
2025-01-27 13:26   ` Andreas Rheinhardt
2025-01-27 13:33     ` James Almer
2025-01-22  2:54 ` [FFmpeg-devel] [PATCH 6/7] avcodec/libaomenc: add support for param change frame side data James Almer
2025-01-22  2:54 ` [FFmpeg-devel] [PATCH 7/7] avcodec/libx264: " James Almer
2025-01-27 12:43 ` [FFmpeg-devel] [PATCH 1/7] avutil/avutil: move some definitions to a new header Andreas Rheinhardt

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=a94072e5-8d9d-473f-8fdb-7f11960792f9@lynne.ee \
    --to=dev@lynne.ee \
    --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