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.

· · Web · 2 · 0 · 1

Eidophor for those who don't know:

It's a very byzantine way of high power image projection using high voltage, hot oil, vacuum pumps and refrigeration.

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".

@null It's insane.
I feel sorry for the vacuum pumps used in the early units, since they had to deal with a ton of oil vapor.

Sign in to participate in the conversation

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