summaryrefslogtreecommitdiff
path: root/libavutil/tx.h
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2022-01-20 07:14:46 +0100
committerLynne <dev@lynne.ee>2022-01-26 04:12:44 +0100
commitef4bd8161575a79f0ac247ad0aa2f05b8c20052b (patch)
treecf8488b2f2e9b0b88dd04b511113289d79852486 /libavutil/tx.h
parentc14976be045f3fe658c12d7e30946cdb380452ec (diff)
lavu/tx: rewrite internal code as a tree-based codelet constructor
This commit rewrites the internal transform code into a constructor that stitches transforms (codelets). This allows for transforms to reuse arbitrary parts of other transforms, and allows transforms to be stacked onto one another (such as a full iMDCT using a half-iMDCT which in turn uses an FFT). It also permits for each step to be individually replaced by assembly or a custom implementation (such as an ASIC).
Diffstat (limited to 'libavutil/tx.h')
-rw-r--r--libavutil/tx.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavutil/tx.h b/libavutil/tx.h
index 94626e709f..0e57874376 100644
--- a/libavutil/tx.h
+++ b/libavutil/tx.h
@@ -52,6 +52,7 @@ enum AVTXType {
* Standard MDCT with a sample data type of float, double or int32_t,
* respecively. For the float and int32 variants, the scale type is
* 'float', while for the double variant, it's 'double'.
+ * If scale is NULL, 1.0 will be used as a default.
*
* Length is the frame size, not the window size (which is 2x frame).
* For forward transforms, the stride specifies the spacing between each
@@ -67,6 +68,9 @@ enum AVTXType {
AV_TX_FLOAT_MDCT = 1,
AV_TX_DOUBLE_MDCT = 3,
AV_TX_INT32_MDCT = 5,
+
+ /* Not part of the API, do not use */
+ AV_TX_NB,
};
/**