[FFmpeg-devel] [PATCH 01/11] avcodec: add avcodec_get_supported_config()

Michael Niedermayer michael at niedermayer.cc
Sun Apr 7 02:16:39 EEST 2024


On Fri, Apr 05, 2024 at 08:57:11PM +0200, Niklas Haas wrote:
> From: Niklas Haas <git at haasn.dev>
> 
> This replaces the myriad of existing lists in AVCodec by a unified API
> call, allowing us to (ultimately) trim down the sizeof(AVCodec) quite
> substantially, while also making this more trivially extensible.
> 
> In addition to the already covered lists, add two new entries for color
> space and color range, mirroring the newly added negotiable fields in
> libavfilter.
> 
> I decided to drop the explicit length field from the API proposed by
> Andreas Rheinhardt, because having it in place ended up complicating
> both the codec side and the client side implementations, while also
> being strictly less flexible (it's trivial to recover a length given
> a terminator, but requires allocation to add a terminator given
> a length). Using a terminator also presents less of a porting challenge
> for existing users of the current API.
> 
> Once the deprecation period passes for the existing public fields, the
> rough plan is to move the commonly used fields (such as
> pix_fmt/sample_fmt) into FFCodec, possibly as a union of audio and video
> configuration types, and then implement the rarely used fields with
> custom callbacks.
> ---
>  doc/APIchanges              |  5 ++++
>  libavcodec/avcodec.c        | 51 +++++++++++++++++++++++++++++++++++++
>  libavcodec/avcodec.h        | 27 ++++++++++++++++++++
>  libavcodec/codec.h          | 19 +++++++++++---
>  libavcodec/codec_internal.h | 21 +++++++++++++++
>  libavcodec/version.h        |  4 +--
>  6 files changed, 121 insertions(+), 6 deletions(-)

If the API is changed, it should be to an API that allows externally
maintained codecs.
(it would result in more developers working on codecs)

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20240407/77ed2e50/attachment.sig>


More information about the ffmpeg-devel mailing list