On Fri, Apr 05, 2024 at 08:57:11PM +0200, Niklas Haas wrote:
> From: Niklas Haas <g...@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(-)

This patchset seems to overlap a bit with AVOptionRanges

I think ideally the user should at some point be able to query using some
API on a AVCodecContext/AVCodecParameters/AVFormatContex/AVStream
what for that specific instance are supported settings for each field

The API here seems to use a enum, which can make sense but it differs from
how AVOption works which doesnt use enums to identify fields


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

Never trust a computer, one day, it may think you are the virus. -- Compn

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to