Hi everybody,
coreboot has a "bootsplash" feature that allows showing an image on the screen relatively early during boot (although rather late in terms of coreboot). It comes with a JPEG decoder that served us for last nearly 20 years, although it is rather limited: It only supports a subset of JPEG's features, so care had to be taken to pre-process the bootsplash image in just the right way for the decoder to accept it.
It was also somewhat fragile: util/fuzz-tests/ ships a test harness for our JPEG API, and afl-fuzz++ runs into lots of crashes with that decoder.
Enter Wuffs[0]: It's a programming language tailored towards processing "some piece of data" into "another piece of data", with very strict semantics. It comes with a standard library implementing all kinds of things that fit that category from deflate decompression to jpeg. Its compiler emits portable C code, so we don't need to support the language in the coreboot environment at all.
https://review.coreboot.org/78271 integrates a pre-release version of Wuffs, replacing our jpeg decoder with the one from there.
If you're dealing with bootsplashes, I'd appreciate testing on your image files to see how well it fares.
Regards, Patrick
PS: Many thanks to Nigel Tao, Wuffs' principal author, who dug through the complications of relicensing the project so it becomes compatible with GPLv2, enabling this integration.