Friday, May 08, 2009

Theora encoder improvements

A lot of work has been going on improving the Theora video encoder. Given a better encoder we end up with better quality Theora videos without the need to change the decoder in existing players. The project name for the Theora encoder improvements is 'Thusnelda'.

Periodic updates have been released by Xiph showing the progress of the new encoder. The latest update makes interesting reading and show's graphs comparing it against other Theora builds, and against x264 (an H.264 encoder).

The update show's that some great improvements have been made, and in some cases is comparible to the results from the x264 encoder. Greg Maxwell gives some more information in this reddit comment about the results.

Remember that the intent of this is not to compare Theora vs x264, or to say one is better than the other in the general case. It's to show the improvement of Theora vs older Theora versions. The fact that it compares favourably against x264 in this one case, using one particular test of quality, is a good result though.

Categories: ,

Labels:

8 Comments:

Blogger pd said...

As usual when talking about Theora, there is the maddening lack of any reference to GUI binaries!

I've never looked hard specifically for a Theora encoding program but I've done a lot of searching for encoding tools on sites like doom9 and afterdawn in the past, less so recently. Is it just me or is there still not one single reliable and easy to use Theory encoding application out there?

If there is, FFS, let's link to it and get the program out there.

Wasn't there some announcement not too long ago about Mozilla and some other mob cooperating on Theora? If so, where is the bloody binary!??? Unless there's *another* massive delay, Fx 3.5 is coming out soon and it will only support Theora yet there's no encoder for Theora???

Please tell me I'm barking up the wrong tree.

9:51 PM  
Blogger sysKin said...

The comparison to x264 is already to be 100% false and the blog entry is in the process of being "revised".

Due to a known bug in ffmpeg, x264 psnr result is 4-5 dB lower than it should be across the board.

I don't know what this guy was thinking - a result suggesting that a Theora encoder with just a few of its (many, major and facepalm-grade) bugs fixed can in any way compete with a well-matured encoder implementing a modern standard should immediately suggest to him "this can't be right". And of course it wasn't.

http://forum.doom9.org/showthread.php?t=146893

Actual comparison of Theora and x264: http://etill.net/projects/dirac_theora_evaluation/include/halbach-2009-dirac_theora-paper.pdf

10:25 PM  
Blogger Chris Double said...

sysKin, yes I'm aware that a bug in ffmpeg has caused skewed results, but as I said in my post the comparison to x.264 is not important. It's the comparison to the older theora encoder that was of interest.

11:29 PM  
Blogger Chris Double said...

pd, I'm the wrong person to ask about GUI tools as I live on the command line. I use ffmpeg2theora - which is a command line tool. I suggest asking your question on the theora mailing list or in #theora on freenode.

11:30 PM  
Blogger sysKin said...

> as I said in my post the comparison to x.264 is not important

It is true you said that, unlike slashdot :) But I disagree it's not important, the whole graph was originally meant to debunk a paper saying how bad Theora is (the pdf I linked above), which was highly embarrassing for Theora. Instead, the revised graph will simply confirm the embarrassing findings.

> It's the comparison to the older theora encoder that was of interest.

Unfortunately the main conclusion from the comparison to older encoder is that older encoder was *really* *ridiculously* bad. It is something we in the community always knew, and xiph always knew too[1]. I don't know if you've seen its code but it's as if someone tried to implement a poor early-1990s research paper but didn't understand half the words.

Now they are fixing some of the worst offenders (and at glacial speed too, and with zero community support) and call it "progress". I disagree it's progress, it's just a proof of previous incompetence.

Unfortunately Xiph deserved that. The only thing they can do is marketing pitch about how bad patents are, and alienating anyone competent trying to get involved (by calling them "windows developers", mostly).

[1] http://snackbox.org/~snacky/xiph_quote.txt

12:20 AM  
Blogger Chris Double said...

Haha, got to be careful with what you say in irc, it'll always come back to bite you.

>Instead, the revised graph
>will simply confirm the
>embarrassing findings.

My understanding the bug in ffmpeg only manifested itself when doing the x.264 values. So I don't think it'll change the comparison vs the other theora versions which was my interest in the data.

It semems to be the best way to compare improvements to the Theora encoder is to compare them against older Theora encoder versions.

12:37 AM  
OpenID maikmerten said...

Wow, that paper from Till Halbach really seems to mess up Theora PSNR scores. Slighty *decreasing* PSNR on *increasing* bitrate (Figure 3)? Or this quote: "Concerning Theora I, version 0.19 of the reference implementation with the name libtheora is used". There is no libtheora with that version number! (He confuses ffmpeg2theora with libtheora - and ffmpeg2theora 0.19 is oooooold and known to be buggy). That's totally messed up.

10:42 AM  
Blogger Oceanwatcher said...

Looks like Handbrake is working like a more general encoder now and it can encode to Theora. Should be ok for those needing a nice GUI :-)

5:44 AM  

Post a Comment

<< Home