diff options
author | Lynne <dev@lynne.ee> | 2021-01-12 08:11:47 +0100 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2021-01-13 17:34:13 +0100 |
commit | 06a8596825e069a2e26810be40871e7d98a00f67 (patch) | |
tree | 0568da7a5e99bc662816008ba678a33b5401793f /libavutil/tx.h | |
parent | ca21cb1e36ccae2ee71d4299d477fa9284c1f551 (diff) | |
download | ffmpeg-06a8596825e069a2e26810be40871e7d98a00f67.tar.gz |
lavu: support arbitrary-point FFTs and all even (i)MDCT transforms
This patch adds support for arbitrary-point FFTs and all even MDCT
transforms.
Odd MDCTs are not supported yet as they're based on the DCT-II and DCT-III
and they're very niche.
With this we can now write tests.
Diffstat (limited to 'libavutil/tx.h')
-rw-r--r-- | libavutil/tx.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavutil/tx.h b/libavutil/tx.h index 418e8ec1ed..f49eb8c4c7 100644 --- a/libavutil/tx.h +++ b/libavutil/tx.h @@ -51,6 +51,8 @@ enum AVTXType { * For inverse transforms, the stride specifies the spacing between each * sample in the input array in bytes. The output will be a flat array. * Stride must be a non-zero multiple of sizeof(float). + * NOTE: the inverse transform is half-length, meaning the output will not + * contain redundant data. This is what most codecs work with. */ AV_TX_FLOAT_MDCT = 1, /** @@ -93,8 +95,7 @@ typedef void (*av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride); /** * Initialize a transform context with the given configuration - * Currently power of two lengths from 2 to 131072 are supported, along with - * any length decomposable to a power of two and either 3, 5 or 15. + * (i)MDCTs with an odd length are currently not supported. * * @param ctx the context to allocate, will be NULL on error * @param tx pointer to the transform function pointer to set |