Jul 25, 2023, 00:19 by andreas.rheinhardt@outlook.com: > Lynne: > >> Subject: [PATCH 2/2] lavc/avfft: deprecate the API >> >> This deprecates the currently unused API. >> > ^ > superseded > >> --- >> doc/APIchanges | 4 ++++ >> libavcodec/avfft.h | 25 +++++++++++++++++++++++++ >> libavcodec/tests/fft.c | 4 ++++ >> libavcodec/version.h | 2 +- >> libavcodec/version_major.h | 2 ++ >> 5 files changed, 36 insertions(+), 1 deletion(-) >> >> diff --git a/doc/APIchanges b/doc/APIchanges >> index 5afe8bcb75..38fc0b1459 100644 >> --- a/doc/APIchanges >> +++ b/doc/APIchanges >> @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09 >> >> API changes, most recent first: >> >> +2023-07-xx - xxxxxxxxxx - lavc 60.23.100 - avfft.h >> + Deprecate av_dct, av_rdft, av_fft and av_mdct. >> > > This should mention that the whole header is deprecated and will be removed. > >> + Replaced by libavutil/tx.h >> + >> 2023-07-xx - xxxxxxxxxx - lavc 60 - avcodec.h >> Deprecate AV_CODEC_FLAG_DROPCHANGED without replacement. >> >> diff --git a/libavcodec/avfft.h b/libavcodec/avfft.h >> index 0c0f9b8d8d..6401833089 100644 >> --- a/libavcodec/avfft.h >> +++ b/libavcodec/avfft.h >> @@ -19,6 +19,10 @@ >> #ifndef AVCODEC_AVFFT_H >> #define AVCODEC_AVFFT_H >> >> +#include "libavutil/attributes.h" >> +#include "version_major.h" >> +#if FF_API_AVFFT >> + >> /** >> * @file >> * @ingroup lavc_fft >> @@ -44,26 +48,38 @@ typedef struct FFTContext FFTContext; >> * Set up a complex FFT. >> * @param nbits log2 of the length of the input array >> * @param inverse if 0 perform the forward transform, if 1 perform the inverse >> + * @deprecated use AVTXContext from libavutil/tx.h >> */ >> +attribute_deprecated >> FFTContext *av_fft_init(int nbits, int inverse); >> >> /** >> * Do the permutation needed BEFORE calling ff_fft_calc(). >> + * @deprecated use AVTXContext from libavutil/tx.h >> */ >> +attribute_deprecated >> void av_fft_permute(FFTContext *s, FFTComplex *z); >> >> /** >> * Do a complex FFT with the parameters defined in av_fft_init(). The >> * input data must be permuted before. No 1.0/sqrt(n) normalization is done. >> + * @deprecated use AVTXContext from libavutil/tx.h >> > > This deprecation warning is supposed to apply to av_fft_calc() and > apparently AVTXContext is not a replacement for av_fft_calc(). Probably > better to write something like: "Use the AVTX API from libavutil/tx.h." > v2 attached. Added a comment to both APIchanges on a replacement, and added comments to this file to indicate how to replace each functionality. >> >> -#define LIBAVCODEC_VERSION_MINOR 22 >> +#define LIBAVCODEC_VERSION_MINOR 23 >> #define LIBAVCODEC_VERSION_MICRO 100 >> >> #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ >> diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h >> index 95c5aec0c5..cfd0b5023e 100644 >> --- a/libavcodec/version_major.h >> +++ b/libavcodec/version_major.h >> @@ -50,6 +50,8 @@ >> #define FF_API_TICKS_PER_FRAME (LIBAVCODEC_VERSION_MAJOR < 61) >> #define FF_API_DROPCHANGED (LIBAVCODEC_VERSION_MAJOR < 61) >> >> +#define FF_API_AVFFT (LIBAVCODEC_VERSION_MAJOR < 62) >> + >> // reminder to remove CrystalHD decoders on next major bump >> #define FF_CODEC_CRYSTAL_HD (LIBAVCODEC_VERSION_MAJOR < 61) >> > > This patch is very much orthogonal to my patch (as expected). > This patch is - but my next series of patches will enable full removal of all FFT code from lavc - which I would prefer to do all at once, if possible.