Comparing Codecs for 2004
MunchMunch writes "Popular encoding/guide/news site doom9.org has just put up its codec shoot-out for 2004, comparing 3ivx 5.0, Divx Fusion 5.9 (prerelease 6.0), Nero Digital Main Profile and High Profile, RealVideo 10, On2 VP6, VideoSoft's VSS, Xvid 1.0, MS's WMV9 and, last, newcomer Jomingo's HDX4. The comparison covers the speed, accuracy, target-file-size-adherence and other aspects of the codecs -- but also lets you compare yourself via high- and low-bandwidth framegrabs of each codec with a nice zoomable image-swap script."
from my experiences with what i've played with, snow far surpasses all these codecs. its the only currently realistic wavelet choice, and it hasnt even been optimized for speed. you need a good processor though. mplayer has support for snow now!
From a quite-newbie point of view: is there a reason why Ogg Theora isn't included? Given the quality and increasing popularity of Vorbis, I would have expected at least a mention. And it would have been interesting to know its state relative to the others.
..... Not only does ogg theora have great video quality but it has multiple subtitle support built in, which is great for up-coming unlicensed-yet anime and other foreign films.
http://www.livejournal.com/users/metricmusic
About five months ago I got the theora encoder compiling in OS X.. Encoded a test 5 minute short. It was TINY and playback (through VLC or MPlayer I think) was great. It should have been included in any comparison.
...is that MS has a pretty stranglehold on it (although they've been moving to lessen its grip so as to not get completely rejected entirely by the industry). No open source player has source code for decoding it, and on the Mac, the only player that supports it (Windows Media Player for Mac OS X) lacks so many features such as drag-n-drop support, displayal of the file's name during playback, AVI, MPEG, and MP3 support, etc.
For those too lazy to click the above link, here's the content of the first post:
"I think a new thread is a more fitting place to discuss about the Snow codec. :) If someone wouldn't know what is it, it's an experimental wavelet codec made by the ffmpeg developers, which borrows a lot of tools from h.264, and while it's still early in the development, it's already giving very good results, far surpasses other wavelet codecs (rududu, dirac) and imho Xvid too, quality-wise. Unfortunately it's only usable with mplayer/mencoder right now, but i think the next ffdshow will include it, so the testing will be more easier. [Update: The latest ffdshow build provided by Celtic_druid have Snow support]
I've played with the settings, and so far this command-line gives the best result:
code:mencoder in.avi -o out.avi -ovc lavc -lavcopts vcodec=snow:vstrict=-1:vqscale=3:qpel:v4mv:cmp=1:s ubcmp=1:mbcmp=1:pred=1
This gives ~600-800 kbps, depending on the source, and the quality is excellent imo.
vqscale is the quantizer, if it's not included it in the command line, Snow will compress losslessly.
So far my opinion about the different settings: qpel always increases the quality - recommended v4mv - i would only recommended it at lower quantizers (max 4-5), above that the stronger artifacts it causes like ringing can hurt the quality xxxcmp=1 (using SSE comparison method instead of SAD) slows down the encoding, but prevents the color mismatches, which can occur otherwise (anyone who tried rududu codec can remember to that). using pred=1 or 2 (different wavelet functions instead of the default) can increase the quality, but these make the encoding (and pred=2 the decoding too) much slower."
Wavelet-based encoding definitely sounds like a great idea. It's only too bad that it isn't universally usable (it can't compress certain images well, either), and requires a fast CPU. At least it gives that Athlon 64 3500+ you just got something to do :)
Site & blog: http://www.mayaposch.com
What about libavcodec (mencoder's default)? I ran some xvid vs lavc myself and found lavc to be of better quality vs size. Isnt it ironic the best codec isnt even in the comparison?
:)
Reminds me of those sound codec tests where vorbis wasnt present
I was hoping to get some insight as to how well dirac performs ...
... except SNOW doesn't work on 64-bit cpus [at least my x86_64 with GCC 3.4.3].
I was trying to encode the freedom downtime dvd with it [it was handy] and it segfaulted on the first frame.
In fact the mplayer crew largely ignore x86_64 alltogether which pisses me off as several months ago I offered shell accounts on my 64-bit box just so they could actually get to adding proper support.
For instance, the x86_64 has MMX, 3dNOW and SSE [1 and 2] NONE of which a stock build of mplayer [up to pre6] will use. It's not like they changed how they work, just now you get 16 SSE registers instead of 8. Even if they just stuck to the first 8 to keep it x86_{32|64} compatible that would be loads better than using C based routines for everything.
OSS is only as good as the developers. And well while mplayer is coming along it still lacks some proper support for x86_64 which is rather annoying.
Tom
Someday, I'll have a real sig.
Are all codecs from the shootout based on DCT? And if so, why is that? Are all wavelet based codecs too early in their development? I mean, wavelet is known for a pretty long time now, not as long as DCT :), but still. There's jpeg2000 and I'd have thought wavelet should be superior to DCT. :)) codec a few years ago.
It's not that I have absolutely no idea of codecs, I 've learned the basics by programming a very low bitrate (low quality
I'm not an Open-Source zealot, in fact I frequently prefer a lot of non-open-source software, but I can definately see why people prefer that method of development. And the creation of a "standard" is exactly why open-source should be used when it is applied to software. For an example, what happens in 200 years time when someone wants to read a Blu-ray/HD-DVD? They can't! WMVv9's specification, AFAIK, has not been publicly released, and so it will quickly be superseeded and forgotten. However, MPEG-2 has been publicly specified and therefore can be read in the future by simply reading and understanding the specification. We use standards so that we don't have to rely on a company, or a person to decode the data for us, without our knowledge of how it works. If something is going to be used to store data for future retrieval, we want to be able to refer back to how it was made. I've not made it clear what I mean, but hopefully people can understand. XviD appears to be not only the most logical choice from a point of view of being a freely available standard that no-one wants control of, just willing to contribute to, it is also of the highest quality and and speed, and goes well with Ogg Vorbis sound, which is also completely open-source. I will not buy any Blu-ray or HD-DVD's whilst they intend on pursuing this course of action. I don't have very good speakers or very good TV anyway, so DVD will do for me :)
Can any video experts comment how transcoding from MPEG-2 affects video quality?
This is a good test for comparing the quality of codecs for ripping DVDs, but do the results hold true when an uncompressed master is used as the source?
- The file system browser only shows the first 11 characters of the filename. To be able to accuately differentiate one file from another in the browser, you need to abbreviate the file names when you burn them to a disc. Even worse when playing MP3s which usually have long filenames.
- When viewing Divx files, it streches the picture outside of the frame of the TV on all four sides, with no way to adjust this. For me this is a major problem because I watch a lot of fansubbed anime, and the result is that the subtitles are outside of the screen, thus making the player useless for watching fansubs (unless the show is widescreen).
- It crashes sometimes. I've never had a DVD player crash on me before.
- It doesn't show the title number or chapter number when you skip to the next, nor does it show the title or chapter on the player's display. You have to press the Display button on the remote to see where you are.
- When changing titles, it switches the language setting back to the disc default. Again, annoying for us anime fans.
All and all, I haven't been very happy with this player, compared to my old, old, incredibly old school Toshiba player. The Divx playback feature is nice, but needs some of the kinks worked out. Maybe the next generation will be better.