From: James Almer <jamrial@gmail.com>
To: ffmpeg-devel@ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH 01/17] avcodec/avcodec: add side data to AVCodecContext
Date: Tue, 5 Sep 2023 08:52:43 -0300
Message-ID: <84287a00-4971-4b7b-bd98-29c742974788@gmail.com> (raw)
In-Reply-To: <169391383896.20400.12256334212156878188@lain.khirnov.net>
On 9/5/2023 8:37 AM, Anton Khirnov wrote:
> Quoting James Almer (2023-09-05 13:26:22)
>> On 9/5/2023 8:07 AM, Anton Khirnov wrote:
>>> Quoting James Almer (2023-09-05 00:08:48)
>>>> This will allow the propagation of global side data within the AVCodecContext
>>>> instead of having to do it inside packets, and thus be available during init().
>>>> Global and frame specific side data will therefore be distinct.
>>>
>>> This commit message is misleading - there is already
>>> AVCodecContext.coded_side_data for exactly this purpose. And after the
>>> changes from the last iteration I see even less of a reason to replace
>>> it with a new field.
>>
>> I insist the new field in the form of a set is better, for the sake of
>> unified helpers that can be used in avctx, codecpar, avstream, and
>> potentially others in the future.
>
> The big problem with this is that AVPacket is left as is. And since
> changing it would be a huge break for very little gain, we'll have
> different handling for packets and everything else for the foreseeable
> future.
Packets and frames have their own helpers, so there will be a
distinction between those and side data set helpers initially used in
structs meant for global side data. The API user doesn't need to access
the fields directly.
>
> I think you'd get almost the same benefits with downsides by making the
> helpers accept array+count as parameters. It's slightly less elegant,
> but not hugely so IMO.
>
>> It will also be the packet counterpart of Jan's frame side data set
>> field. coded_side_data is currently used only to export CPB props, so
>> the amount of users is probably very small (Maybe only lavf, even). I
>> think the benefits in the long run outweigh the cons from the breakage
>> that would mean replacing coded_side_data.
>>
>> Also, my interpretation of coded is still that it refers to a coded
>> stream, much like we make a distinction between coded and raw for
>> bits_per_sample, and in decoding scenarios, side data entries would have
>> information that refer to the decoded raw stream (hdr, etc).
>
> The intent was for it to be a direct counterpart to AVStream.side_data,
Since that one is being deprecated and removed, doing the same with its
less used counterpart should not be that much of a problem.
> as is mentioned in the relevant commit message, so your interpretation
> is objectively wrong.
Fair, but i question your choice of name :p
>
>> That said, I don't want to keep delaying this set much longer, so if
>> you're really against that change I'll try to remove it from the set and
>> keep the rest.
>
> I'd appreciate more opinions on this, from whoever cares.
Ok, but like i mentioned, i really doubt there are many coded_side_data
users out there, for being limited to only exporting CPB props.
_______________________________________________
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-09-05 11:52 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 15:03 [FFmpeg-devel] [PATCH 00/17 v3] AVCodecContext and AVCodecParameters side data James Almer
2023-09-04 15:03 ` [FFmpeg-devel] [PATCH 01/17] avcodec/avcodec: add side data to AVCodecContext James Almer
2023-09-04 22:08 ` James Almer
2023-09-05 11:07 ` Anton Khirnov
2023-09-05 11:26 ` James Almer
2023-09-05 11:37 ` Anton Khirnov
2023-09-05 11:52 ` James Almer [this message]
2023-09-04 15:03 ` [FFmpeg-devel] [PATCH 02/17] avcodec/codec_par: add side data to AVCodecParameters James Almer
2023-09-04 15:03 ` [FFmpeg-devel] [PATCH 03/17] avformat/avformat: use the side data from AVStream.codecpar James Almer
2023-09-04 22:09 ` James Almer
2023-09-04 15:03 ` [FFmpeg-devel] [PATCH 04/17] fftools/ffmpeg: stop using AVStream.side_data James Almer
2023-09-04 15:03 ` [FFmpeg-devel] [PATCH 05/17] fftools/ffplay: " James Almer
2023-09-04 15:03 ` [FFmpeg-devel] [PATCH 06/17] fftools/ffprobe: " James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 07/17] avcodec/hevcdec: check for DOVI configuration record in AVCodecContext side data James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 08/17] avcodec/decode: check for global side data " James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 09/17] fftools/ffmpeg: stop injecting stream side data in packets James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 10/17] fftools/ffplay: " James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 11/17] Revert "avcodec/mpeg12dec: Do not alter avctx->rc_buffer_size" James Almer
2023-09-04 15:37 ` Andreas Rheinhardt
2023-09-04 22:10 ` James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 12/17] avformat/demux: propagate the internal decoder's bitrate properties James Almer
2023-09-04 22:11 ` James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 13/17] avcodec/mpeg12dec: stop propagating AVCPBProperties side data James Almer
2023-09-04 22:11 ` [FFmpeg-devel] [PATCH 14/17] avcodec/avcodec: deprecate coded_side_data James Almer
2023-09-04 15:04 ` James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 15/17] avcodec/utils: move ff_add_cpb_side_data() to encoder code James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 16/17] avformat/demux: stop copying the internal AVCodecContext coded_side_data James Almer
2023-09-04 15:04 ` [FFmpeg-devel] [PATCH 17/17] fftools: stop propagating the encoder's coded_side_data James Almer
2023-09-04 15:37 ` [FFmpeg-devel] [PATCH 00/17 v3] AVCodecContext and AVCodecParameters side data Derek Buitenhuis
2023-09-04 16:10 ` James Almer
2023-09-05 13:19 ` Derek Buitenhuis
2023-09-05 13:31 ` James Almer
2023-09-05 14:06 ` Derek Buitenhuis
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=84287a00-4971-4b7b-bd98-29c742974788@gmail.com \
--to=jamrial@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