Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Nicolas George <george@nsup.org>
To: FFmpeg development discussions and patches <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 22:14:35 +0100
Message-ID: <Z5Ffuzz3K6vQoPGu@phare.normalesup.org> (raw)
In-Reply-To: <63bbb803-a1f2-49e0-8860-92e7104e98c4@gmail.com>

James Almer (12025-01-22):
> Actually, i just realized i can't store an AVDictionary or a string in a
> struct like this that's meant to be stored as side data. It has a to be a
> flat array with no pointers to separate arrays.

Hum, good point.

That limitation of side data is very annoying. We should get rid of it,
especially since it is not that hard.

The issue is that side data has to be flat because its refcounting is
built on top of AVBufferRef when AVBufferRef if only good for flat data
(if it is even good for that).

So, plan:

- Add to AVSideDataDescriptor function pointer for free() and clone()
  and ref().

- For existing side data types, these three fields are set to an
  implementation working with AVBufferRef.

- For new side data types and side data types we want to de-flatten, we
  populate these fields with an adequate function.

That would be a tremendous enhancement to the side data system.

(Having a structure for every type in FFmpeg that contains function
pointers to free, ref, clone, display, parse, hash, compare, etc.,
elements of that type was a project of mine. It went nowhere for the
obvious reason it requires an efficient strings API.)

Regards,

-- 
  Nicolas George
_______________________________________________
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 21: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
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 [this message]
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=Z5Ffuzz3K6vQoPGu@phare.normalesup.org \
    --to=george@nsup.org \
    --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