Hi Nicolas, > On Dec 24, 2019, at 6:50 PM, Nicolas George <geo...@nsup.org> wrote: > > zhilizhao (12019-12-24): >> 1. AV_PIX_FMT_NB depends on !gaps, unless we calculate and set it manually > > NB is not really the "number of". > >> 2. The reason to deprecated VAAPI in this way (ABI incompatible) is >> AV_PIX_FMT cannot have gaps > > No, it was because we WANTED AV_PIX_FMT to not have gaps. It had some in > the past, there may be reasons to have anew in the future. > > But I just realized: there is a much simpler reason that makes this > particular approach impossible: > > AV_PIX_FMT_NB ///< number of pixel formats, DO NOT USE THIS if you > want to link with shared libav* > AV_SAMPLE_FMT_NB ///< Number of sample formats. DO NOT USE if > linking dynamically > > you cannot use AV_PIX_FMT_NB or AV_SAMPLE_FMT_NB in lavfi, only in lavu.
I get the idea. However, if lavi is built agains version A of libavutils and use version B at runtime, it’s not guaranteed to work with or without access to AV_PIX_FMT_NB: 1. For major version bump, AV_PIX_FMT_XXX may have different values in different versions of libavutils 2. For minor version bump, if there is new AV_PIX_FMT_XXX appends to AVPixelFormat, it would be safe to use a smaller AV_PIX_FMT_NB_old. (if we don’t know what the new format is, we don’t know how to deal with it) IMO the requirement of link with shared libavutils: 1. For libavutils: never change old entries of AVPixelFormat, append new entry to the tail 2. On the client side of libavutils: access the subset of known formats, and careful about iterate overflow PS: It’s not clear the comments are ffmpeg-user oriented or libavutils-user oriented. libavcodec, libavfilter, and libavdevice have access to AV_PIX_FMT_NB. Can you help me figure out these contradictions? > > 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-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ 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".