Previous Entry Share Next Entry
xiphmont

Blogging Theora

It's time for an update, especially during a period of rapid progress.

Over the past six months, I've been incrementally reorganizing the entire codebase from top to bottom. This in itself didn't really produce direct tangible performance benefits. However, I was finally able to implement the Holy Grail: efficient per-token RD optimization. This was the Big Win that would suddenly allow lots of big and small incremental improvements to pile up together and bring Theora's bitrate efficiency into the modern era.

Below is a short, sweet summary. Each image is a closeup of a frame, the encoded test clip is linked to the image:

Mainline Theora test clip: 580kbps

Current Thusnelda: 580kbps
Encoded with internal qi=50, skip lambda=5, token lambda=16

More details (and demo clips), as usual, on the demo page I prepared to keep Red Hat informed of my progress. The best part of all of this is that per-token opt was just the first big shoe to drop. The code reorg has all the ducks in a row. This should be quite a month for Theora.

The Thusnelda work demonstrates nicely the real liability of old bitrate formats: It's not that it isn't possible to update an old format like VP3 to modern performance, it's just that it takes more coding effort and cleverness to work within the structure of the old format than to cut your losses, break compatability and do it the newer easier faster way. Which is not to say I'm not looking forward to the day when we can finally extend Theora past the current spec again...

Tags:

You are viewing xiphmont