Unverified Commit 76d00385 authored by Lynne's avatar 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.
parent 1aeedd27
......@@ -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().
......
......@@ -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 */
......@@ -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);
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment