[FFmpeg-cvslog] lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

Lynne git at videolan.org
Sun Nov 6 15:42:10 EET 2022


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Sat Nov  5 15:52:35 2022 +0100| [76d0038579b90cd572e03fa174d5557776ae83d4] | committer: Lynne

lavc: deprecate avcodec_dct, av_fft, av_dct, av_rdft and av_mdct

Replaced by lavu/tx. Dedicated code soon to be removed, replaced with
a simple wrapper code.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=76d0038579b90cd572e03fa174d5557776ae83d4
---

 doc/APIchanges     |  4 ++++
 libavcodec/avdct.h |  7 ++++++-
 libavcodec/avfft.h | 39 ++++++++++++++++++++++++++++++++-------
 3 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 038ca865ec..9691461bb5 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -14,6 +14,10 @@ libavutil:     2021-04-27
 
 API changes, most recent first:
 
+2022-11-06 - xxxxxxxxxx - lavc 59.52.100 - avdct.h avfft.h
+  Deprecate avcodec_dct, av_dct, av_rdft, av_fft and av_mdct.
+  Replaced by libavutil/tx.h
+
 2022-xx-xx - xxxxxxxxxx - lavu 57.42.100 - dict.h
   Add av_dict_iterate().
 
diff --git a/libavcodec/avdct.h b/libavcodec/avdct.h
index 6411fab6f6..06da0e80d4 100644
--- a/libavcodec/avdct.h
+++ b/libavcodec/avdct.h
@@ -19,6 +19,7 @@
 #ifndef AVCODEC_AVDCT_H
 #define AVCODEC_AVDCT_H
 
+#include "libavutil/attributes.h"
 #include "libavutil/opt.h"
 
 /**
@@ -26,7 +27,7 @@
  * @note function pointers can be NULL if the specific features have been
  *       disabled at build time.
  */
-typedef struct AVDCT {
+typedef struct attribute_deprecated AVDCT {
     const AVClass *av_class;
 
     void (*idct)(int16_t *block /* align 16 */);
@@ -80,9 +81,13 @@ typedef struct AVDCT {
  *
  * To free it use av_free()
  */
+attribute_deprecated
 AVDCT *avcodec_dct_alloc(void);
+
+attribute_deprecated
 int avcodec_dct_init(AVDCT *);
 
+attribute_deprecated
 const AVClass *avcodec_dct_get_class(void);
 
 #endif /* AVCODEC_AVDCT_H */
diff --git a/libavcodec/avfft.h b/libavcodec/avfft.h
index 0c0f9b8d8d..d49bc98a29 100644
--- a/libavcodec/avfft.h
+++ b/libavcodec/avfft.h
@@ -19,6 +19,8 @@
 #ifndef AVCODEC_AVFFT_H
 #define AVCODEC_AVFFT_H
 
+#include "libavutil/attributes.h"
+
 /**
  * @file
  * @ingroup lavc_fft
@@ -32,65 +34,83 @@
  * @{
  */
 
-typedef float FFTSample;
+typedef float attribute_deprecated FFTSample;
 
-typedef struct FFTComplex {
+typedef struct attribute_deprecated FFTComplex {
     FFTSample re, im;
 } FFTComplex;
 
-typedef struct FFTContext FFTContext;
+typedef struct attribute_deprecated 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
  */
+attribute_deprecated
 FFTContext *av_fft_init(int nbits, int inverse);
 
 /**
  * Do the permutation needed BEFORE calling ff_fft_calc().
  */
+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.
  */
+attribute_deprecated
 void av_fft_calc(FFTContext *s, FFTComplex *z);
 
+attribute_deprecated
 void av_fft_end(FFTContext *s);
 
+attribute_deprecated
 FFTContext *av_mdct_init(int nbits, int inverse, double scale);
+
+attribute_deprecated
 void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
+
+attribute_deprecated
 void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input);
+
+attribute_deprecated
 void av_mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
+
+attribute_deprecated
 void av_mdct_end(FFTContext *s);
 
 /* Real Discrete Fourier Transform */
 
-enum RDFTransformType {
+enum attribute_deprecated RDFTransformType {
     DFT_R2C,
     IDFT_C2R,
     IDFT_R2C,
     DFT_C2R,
 };
 
-typedef struct RDFTContext RDFTContext;
+typedef struct attribute_deprecated RDFTContext RDFTContext;
 
 /**
  * Set up a real FFT.
  * @param nbits           log2 of the length of the input array
  * @param trans           the type of transform
  */
+attribute_deprecated
 RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans);
+
+attribute_deprecated
 void av_rdft_calc(RDFTContext *s, FFTSample *data);
+
+attribute_deprecated
 void av_rdft_end(RDFTContext *s);
 
 /* Discrete Cosine Transform */
 
-typedef struct DCTContext DCTContext;
+typedef struct attribute_deprecated DCTContext DCTContext;
 
-enum DCTTransformType {
+enum attribute_deprecated DCTTransformType {
     DCT_II = 0,
     DCT_III,
     DCT_I,
@@ -107,8 +127,13 @@ enum DCTTransformType {
  *
  * @note the first element of the input of DST-I is ignored
  */
+attribute_deprecated
 DCTContext *av_dct_init(int nbits, enum DCTTransformType type);
+
+attribute_deprecated
 void av_dct_calc(DCTContext *s, FFTSample *data);
+
+attribute_deprecated
 void av_dct_end (DCTContext *s);
 
 /**



More information about the ffmpeg-cvslog mailing list