mirror of
https://github.com/librempeg/librempeg
synced 2024-11-22 00:51:37 +00:00
lavu/tx: correctly use a default scale parameter for all transform types
This fixes the previous commit and adds more cases (DCT-I and DST-I). I am holding off on defining a scale parameter for FFTs as I'd like to use a complex value for them. Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
43c0ba21ff
commit
22adbc0a28
@ -937,10 +937,12 @@ av_cold int av_tx_init(AVTXContext **ctx, av_tx_fn *tx, enum AVTXType type,
|
||||
if (!(flags & AV_TX_INPLACE))
|
||||
flags |= FF_TX_OUT_OF_PLACE;
|
||||
|
||||
if (!scale && ((type == AV_TX_FLOAT_MDCT) || (type == AV_TX_INT32_MDCT) || (type == AV_TX_FLOAT_RDFT) || (AV_TX_INT32_RDFT)))
|
||||
scale = &default_scale_f;
|
||||
else if (!scale && ((type == AV_TX_DOUBLE_MDCT) || (type == AV_TX_DOUBLE_RDFT)))
|
||||
if (!scale && ((type == AV_TX_DOUBLE_MDCT) || (type == AV_TX_DOUBLE_DCT) ||
|
||||
(type == AV_TX_DOUBLE_DCT_I) || (type == AV_TX_DOUBLE_DST_I) ||
|
||||
(type == AV_TX_DOUBLE_RDFT)))
|
||||
scale = &default_scale_d;
|
||||
else if (!scale && !TYPE_IS(FFT, type))
|
||||
scale = &default_scale_f;
|
||||
|
||||
ret = ff_tx_init_subtx(&tmp, type, flags, NULL, len, inv, scale);
|
||||
if (ret < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user