codecs.multimedia.cx codecs.multimedia.cx

An upcoming image format war?

So this week libwebp2 appeared in a public repository. From a quick glance it looks like lossy format is based on AV1 coding blocks and lossless format is largely the same as the original WebP lossless but both now use ANS coding. And (of course) there’s a hint on experimental lossy encoding using neural networks. Let’s pretend that JPEG has finally died (again) and GIF and PNG are both gone. So what modern image formats intended...

codecs.multimedia.cx codecs.multimedia.cx

MOV — Matroska of its time

Disclaimer: all container formats suck, either by being too simple and tied to certain (types of) codecs, too ineffective (by wasting too many bytes of frame metadata and headers compared to other formats), or too flexible and complicated to implement in full. And there’s Ogg. Let’s start our story with old times. Back in the day Electronic Arts made probably the only two good things it’s ever made. I’m talking of course about...

codecs.multimedia.cx codecs.multimedia.cx

Hacking to solve adventure game puzzles…

I love adventure games (or simply quests as they’re known where I came from) but sometimes the best way to pass some moment there is to cheat. One of such instances is The Legend of Kyrandia – Book One which is a nice game I play again sometime but there’s the infamous maze there that it not fun. And in the old times I could work around it by hex-editing a savegame to give me the ever-glowing fireberry, stones and some other...

codecs.multimedia.cx codecs.multimedia.cx

Lossless audio codecs were more advanced than I thought

As I’d mentioned in a previous post on lossless audio codecs, I wanted to look at some of them that are still not reverse engineered for documentation sake. And I did exactly that so now entries on LA, OptimFROG and RK Audio are not stubs any more but rather contain some information on how the codecs work. And if you look at LA structure you see a lot of filters of various sizes and structure. Plus an adaptive weight used to select...

codecs.multimedia.cx codecs.multimedia.cx

A Modest Proposal for AV2

Occasionally I look at the experiments in AV1 repository that should be the base for AV2 (unless Baidu rolls out VP11 from its private repository to replace it entirely). A year ago they added intra modes predictor based on neural network and in August they added a neural network based loop filter experiment as well. So, to make AV2 both simpler to implement in hardware and improve its compression efficiency I propose to switch all...

codecs.multimedia.cx codecs.multimedia.cx

Revisiting lossless codecs…

I’ve decided to add a couple of lossless audio formats in a preparation for a long-term goal of having a NihAV-based player (the debug tool nihav-player that I currently have can’t really count for one especially considering how it does not play pure audio files and tends to deadlock in SDL audio thread). So I’ve added nihav-llaudio crate with four most common formats for music I have, namely FLAC, Monkey’s Audio, TTA and...