lavc/avfft: deprecate the API

This deprecates the currently unused API.
pull/390/head
Lynne 2 years ago
parent d40672e661
commit 139e54911c
No known key found for this signature in database
GPG Key ID: A2FEA5F03F034464
  1. 5
      doc/APIchanges
  2. 31
      libavcodec/avfft.h
  3. 6
      libavcodec/tests/fft.c
  4. 2
      libavcodec/version.h
  5. 2
      libavcodec/version_major.h

@ -2,6 +2,11 @@ The last version increases of all libraries were on 2023-02-09
API changes, most recent first: API changes, most recent first:
2023-09-xx - xxxxxxxxxx - lavc 60.25.100 - avfft.h
The entire header will be deprecated and removed in two major bumps.
For a replacement to av_dct, av_rdft, av_fft and av_mdct, use
the new API from libavutil/tx.h.
2023-07-xx - xxxxxxxxxx - lavu 58.18.100 - tx.h 2023-07-xx - xxxxxxxxxx - lavu 58.18.100 - tx.h
Add AV_TX_REAL_TO_REAL and AV_TX_REAL_TO_IMAGINARY Add AV_TX_REAL_TO_REAL and AV_TX_REAL_TO_IMAGINARY

@ -19,6 +19,10 @@
#ifndef AVCODEC_AVFFT_H #ifndef AVCODEC_AVFFT_H
#define AVCODEC_AVFFT_H #define AVCODEC_AVFFT_H
#include "libavutil/attributes.h"
#include "version_major.h"
#if FF_API_AVFFT
/** /**
* @file * @file
* @ingroup lavc_fft * @ingroup lavc_fft
@ -44,26 +48,42 @@ typedef struct FFTContext FFTContext;
* Set up a complex FFT. * Set up a complex FFT.
* @param nbits log2 of the length of the input array * @param nbits log2 of the length of the input array
* @param inverse if 0 perform the forward transform, if 1 perform the inverse * @param inverse if 0 perform the forward transform, if 1 perform the inverse
* @deprecated use av_tx_init from libavutil/tx.h with a type of AV_TX_FLOAT_FFT
*/ */
attribute_deprecated
FFTContext *av_fft_init(int nbits, int inverse); FFTContext *av_fft_init(int nbits, int inverse);
/** /**
* Do the permutation needed BEFORE calling ff_fft_calc(). * Do the permutation needed BEFORE calling ff_fft_calc().
* @deprecated without replacement
*/ */
attribute_deprecated
void av_fft_permute(FFTContext *s, FFTComplex *z); void av_fft_permute(FFTContext *s, FFTComplex *z);
/** /**
* Do a complex FFT with the parameters defined in av_fft_init(). The * 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. * input data must be permuted before. No 1.0/sqrt(n) normalization is done.
* @deprecated use the av_tx_fn value returned by av_tx_init, which also does permutation
*/ */
attribute_deprecated
void av_fft_calc(FFTContext *s, FFTComplex *z); void av_fft_calc(FFTContext *s, FFTComplex *z);
attribute_deprecated
void av_fft_end(FFTContext *s); void av_fft_end(FFTContext *s);
/**
* @deprecated use av_tx_init from libavutil/tx.h with a type of AV_TX_FLOAT_MDCT,
* with a flag of AV_TX_FULL_IMDCT for a replacement to av_imdct_calc.
*/
attribute_deprecated
FFTContext *av_mdct_init(int nbits, int inverse, double scale); FFTContext *av_mdct_init(int nbits, int inverse, double scale);
attribute_deprecated
void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input); void av_imdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
attribute_deprecated
void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input); void av_imdct_half(FFTContext *s, FFTSample *output, const FFTSample *input);
attribute_deprecated
void av_mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input); void av_mdct_calc(FFTContext *s, FFTSample *output, const FFTSample *input);
attribute_deprecated
void av_mdct_end(FFTContext *s); void av_mdct_end(FFTContext *s);
/* Real Discrete Fourier Transform */ /* Real Discrete Fourier Transform */
@ -81,9 +101,14 @@ typedef struct RDFTContext RDFTContext;
* Set up a real FFT. * Set up a real FFT.
* @param nbits log2 of the length of the input array * @param nbits log2 of the length of the input array
* @param trans the type of transform * @param trans the type of transform
*
* @deprecated use av_tx_init from libavutil/tx.h with a type of AV_TX_FLOAT_RDFT
*/ */
attribute_deprecated
RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans); RDFTContext *av_rdft_init(int nbits, enum RDFTransformType trans);
attribute_deprecated
void av_rdft_calc(RDFTContext *s, FFTSample *data); void av_rdft_calc(RDFTContext *s, FFTSample *data);
attribute_deprecated
void av_rdft_end(RDFTContext *s); void av_rdft_end(RDFTContext *s);
/* Discrete Cosine Transform */ /* Discrete Cosine Transform */
@ -106,13 +131,19 @@ enum DCTTransformType {
* @param type the type of transform * @param type the type of transform
* *
* @note the first element of the input of DST-I is ignored * @note the first element of the input of DST-I is ignored
*
* @deprecated use av_tx_init from libavutil/tx.h with an appropriate type of AV_TX_FLOAT_DCT
*/ */
attribute_deprecated
DCTContext *av_dct_init(int nbits, enum DCTTransformType type); DCTContext *av_dct_init(int nbits, enum DCTTransformType type);
attribute_deprecated
void av_dct_calc(DCTContext *s, FFTSample *data); void av_dct_calc(DCTContext *s, FFTSample *data);
attribute_deprecated
void av_dct_end (DCTContext *s); void av_dct_end (DCTContext *s);
/** /**
* @} * @}
*/ */
#endif /* FF_API_AVFFT */
#endif /* AVCODEC_AVFFT_H */ #endif /* AVCODEC_AVFFT_H */

@ -18,6 +18,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/ */
#include "libavutil/internal.h"
FF_DISABLE_DEPRECATION_WARNINGS
/** /**
* @file * @file
* FFT and MDCT tests. * FFT and MDCT tests.
@ -675,3 +679,5 @@ cleanup:
return !!err; return !!err;
} }
FF_ENABLE_DEPRECATION_WARNINGS

@ -29,7 +29,7 @@
#include "version_major.h" #include "version_major.h"
#define LIBAVCODEC_VERSION_MINOR 24 #define LIBAVCODEC_VERSION_MINOR 25
#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \

@ -50,6 +50,8 @@
#define FF_API_TICKS_PER_FRAME (LIBAVCODEC_VERSION_MAJOR < 61) #define FF_API_TICKS_PER_FRAME (LIBAVCODEC_VERSION_MAJOR < 61)
#define FF_API_DROPCHANGED (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 // reminder to remove CrystalHD decoders on next major bump
#define FF_CODEC_CRYSTAL_HD (LIBAVCODEC_VERSION_MAJOR < 61) #define FF_CODEC_CRYSTAL_HD (LIBAVCODEC_VERSION_MAJOR < 61)

Loading…
Cancel
Save