[FFmpeg-devel] [PATCH] lavu/tx: implement 32 bit fixed point FFT and MDCT

Lynne dev at lynne.ee
Thu Feb 13 22:40:55 EET 2020


Feb 8, 2020, 23:26 by dev at lynne.ee:

> Patch attached. Commit message:
>
> Required minimal changes to the code so made sense to implement.
> FFT and MDCT tested, the output of both was properly rounded.
> Fun fact: the non-power-of-two fixed-point FFT and MDCT are the fastest ever
> non-power-of-two fixed-point FFT and MDCT written.
> This can replace the power of two integer MDCTs in aac and ac3 if the
> MIPS optimizations are ported across.
> Unfortunately the ac3 encoder uses a 16-bit fixed point forward transform,
> unlike the encoder which uses a 32bit inverse transform, so some modifications
> might be required there.
>
> I am somewhat unsure that choosing a float as a scale value was a good
> decision as it still leaves some small amount of possible float platform
> to platform mismatch. However, an AVRational is somewhat too cumbersome
> and doesn't allow for encoders to use the same scaling code for floats.
>

Pushed.
Maybe I'll actually do some work on SIMD this weekend.


More information about the ffmpeg-devel mailing list