#include <math.h>
#include <stdint.h>
+#include "libavutil/attributes_internal.h"
+#include "libavutil/tx.h"
#include "libavutil/common.h"
#include "libavutil/float_dsp.h"
#include "avcodec.h"
-#include "fft.h"
enum TwinVQCodec {
TWINVQ_CODEC_VQF,
typedef struct TwinVQContext {
AVCodecContext *avctx;
AVFloatDSPContext *fdsp;
- FFTContext mdct_ctx[3];
+ AVTXContext *tx[3];
+ av_tx_fn tx_fn[3];
const TwinVQModeTab *mtab;
const float *shape, float *speech);
} TwinVQContext;
+FF_VISIBILITY_PUSH_HIDDEN
extern const enum TwinVQFrameType ff_twinvq_wtype_to_ftype_table[];
+extern const float ff_metasound_lsp8[];
+extern const float ff_metasound_lsp11[];
+extern const float ff_metasound_lsp16[];
+extern const float ff_metasound_lsp22[];
+extern const float ff_metasound_lsp44[];
+
/** @note not speed critical, hence not optimized */
static inline void twinvq_memset_float(float *buf, float val, int size)
{
int ff_twinvq_decode_close(AVCodecContext *avctx);
/** Requires the caller to call ff_twinvq_decode_close() upon failure. */
int ff_twinvq_decode_init(AVCodecContext *avctx);
+FF_VISIBILITY_POP_HIDDEN
#endif /* AVCODEC_TWINVQ_H */