My god in heaven, the stb_vorbis implementation uses filterbanks for its iMDCT!

That's SO oldschool, its practically Victorian.
That's like using Eidophor projectors nowadays despite the fact they were only popular and usable for a very narrow band of time.

Follow

It's only in the unoptimized/naive path... but still.
Using hybrid time domain filters to perform iMDCT made sense in analogue days, and I suppose in ASICs.
But floating point multiplications haven't been slow enough in decades to justify that. The memory access cost, especially on ARM, has to be through the roof.
And a normal modern iMDCT takes no more than 50 lines in total.

Oh well, it's a single-header meme-size "library".

· · Web · 0 · 0 · 1
Sign in to participate in the conversation
Parsee

A Mastodon instance for people interested in multimedia, codecs, assembly, SIMD, and the occasional weeb stuff.