[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