On Tue, Jul 25, 2023 at 12:47:12AM +0200, Lynne wrote: > 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. > > > doc/APIchanges | 5 +++++ > libavcodec/avfft.h | 31 +++++++++++++++++++++++++++++++ > libavcodec/tests/fft.c | 4 ++++ > libavcodec/version.h | 2 +- > libavcodec/version_major.h | 2 ++ > 5 files changed, 43 insertions(+), 1 deletion(-) > 601e82db992b2dbebc61b09f460d703c488aa228 v2-0002-lavc-avfft-deprecate-the-API.patch > From fc7891b0cfeb296525919d1ff8baaa2c0b68bbeb Mon Sep 17 00:00:00 2001 > From: Lynne > Date: Mon, 24 Jul 2023 23:55:55 +0200 > Subject: [PATCH v2 2/2] lavc/avfft: deprecate the API > > This deprecates the currently unused API. > --- > doc/APIchanges | 5 +++++ > libavcodec/avfft.h | 31 +++++++++++++++++++++++++++++++ > libavcodec/tests/fft.c | 4 ++++ > libavcodec/version.h | 2 +- > libavcodec/version_major.h | 2 ++ > 5 files changed, 43 insertions(+), 1 deletion(-) not sure i missed a patch but this breaks "make testprogs" here CC libavcodec/tests/avfft.o In file included from /usr/include/math.h:37:0, from libavcodec/tests/fft.c:34, from libavcodec/tests/avfft.c:25: /usr/include/x86_64-linux-gnu/bits/types.h:30:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typedef’ typedef unsigned char __u_char; ^~~~~~~ thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Take away the freedom of one citizen and you will be jailed, take away the freedom of all citizens and you will be congratulated by your peers in Parliament.