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."
Nero Digital won on quality, but for both speed and quality, doom9.org concludes XviD is currently the best solution.
I realize it's not available yet, but it's coming...and frankly, it's pretty amazing. Scales from 3G handheld devices to HD content, already part of the forthcoming HD-DVD and Bluray Disc formats, not to mention being an ITU and MPEG standard, etc.
Boffoonery - downloadable Comedy Benefit for Bletchley Park
I'm an Amiga user, where is FLC you incensitive clod?
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
MP3 files most definately have frames:
http://www.id3.org/mp3frame.html
http://www.dv.co.yu/mpgscript/mpeghdr.htm
Overall, the progress is just astounding. When I compare clips of say movies from 3 years ago to ones you can find now, the file sizes have remained the same but the quality of both video and audio have gone way up. I don't know much about video codecs but I do recall back then there still being MPEG 4 in the game, so maybe it's more about modern tweaks?
x264 is a free (GPL) implementation done by one of the French guys of the videolan team (who made the VLC player). ./configure options).
0 39
http://www.videolan.org/x264.html
MPlayer-pre6 now supports it. You just need to compile the x264 codec, and compile MPlayer with the x264 libraries linked (see
I tried it, it is very promising.
Apparently it also works with transcode and has a Win32 version too.
See alsothis thread about using mencoder and x264:
http://forum.doom9.org/showthread.php?threadid=83
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.
Erm, this may only apply to old codgers with failing faculties like myself, but I think that a level of acceptability has been reached.
Just as mp3(and similar) is good enough to listen to and jpg, bmp and gif are good enough for the various static images needs, divx(xvid) and mpeg2 fill the processing requirements for moving images.
With the cost of storage falling there is less need to build a higher compression video codec. If you want to do some good, come up with faster and higher quality ways to transcode things to an existing open codec standard.
They whose government reduces their essential liberties for temporary security, receive neither liberty nor security.
What about the mpeg4 codec from ffmpeg?
SJW n. One who posts facts.
...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.
Googling for "What is AVC?" bring up this. I'm confused as to if they're saying AVC will be stardard in HD-DVD? Is WM9 an AVC? If not, will both be options for HD-DVD content providers? I ask because in the shootout WM9 didn't look very good. Relatively it blurs more of the scene than xvid.
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
A quote from the Theora faq:
So there! Theora is optimized VP3, which means there's a good chance it would turn out to be a faster codec. But as far as visual quality is concerned Theora is likely to be just as good or just as bad as VP3.On2 itself is well represented in the survey by its VP6 codec, and judging from the pseudo version numbers on the codec names, it should be safe to assume that VP3 is inferior to VP6 (VP6 - VP3 = 3 generations of development).
I'm a sci-fi vegan: I don't want the aliens to think we have as much right to live as the fried chickens we eat.
And, yes, those stairs, rain and especially faces ARE blurred in real life.
What, you have glaucoma? Are you near-sighted? Go buy some glasses.
The original picture WAS crisp, and there's no reason why the encoded version shouldn't be. We get most of our information from visual sources and so our demand for high-quality visuals will never go down. Normal people take time even distinguishing 64k AAC clips from the original sometimes. But with visuals it's easy to spot artifacts.
divx is watchable and a good size/quality compromise.
Yes, and maybe 64k MP3 is good enough for you. It's not for most people. Be happy, you have what you want. Let the developers develop for the rest of the human population who care.
You can get a 90 minute film onto a cd, for instance.
Yes and as development continues that same 90-minute film on the CD will look closer and closer to the original.
If, in the future, you can encode a 90 minute hdtv into 700mb with no quality loss
This is impossible to do losslessly - that's why we're developing lossy codecs. There will always be a tradeoff between quality and file-size, but it will continue to improve, barring people like you who claim everything is fine, fine. The point of technology is progress. If you're happy with your LPs and your black and white TV, fine, but don't go ruining it for the rest of us.
hardware needed to decode and render the film will probably not use cds.
Uh, what?
I was hoping to get some insight as to how well dirac performs ...
MP3 files most definately have frames
Ever wondered why MP3 files aren't "gapless" and there are short gaps of silence between tracks that should otherwise run together? This is why. It's not a problem with your player; it's the way the MP3 spec works... it pads your sound file out to be a multiple of x samples.
- Default:
129,002 bytes
- OptiPNG: 121,967 bytes
- PNGOUT:
113,759 bytes
It may not seem much, but it adds up. Sometimes you can reduce the bit depth (for gray scale), make a palette (for drawings and charts that don't need 64 bits of color depth), and reduce resolution. Some more tricks are at Baseline JPEG and JPEG2000 Artifacts Illustrated.Ogg-Vorbis is the best audio-codec technically - but everybody calls it "ogg" and not "ogg-vorbis" because the file extension is .ogg
Effectively, xiph does everything possible to sabotage their own product: It doesn't have a good sounding name, it doesn't have a consistent name ("ogg" versus "ogg-vorbis"), they don't have any buttons/banners to put on products on xiph.org and there is lots of confusion about container format (ogg) and codec (vorbis), which is the "U"-part from FUD.
The only reason anybody uses ogg at all is because it is excellent technically and beats all other audio codecs by a longshot.
Unfortunately, the guys at xiph don't acknowledge that fact and insist of wanting to have videos with .ogg extension, too, which is doomed to fail because nobody wants to have audio and video to have the same file extension.
The users have created a pseudo standard file extension of .ogm for XVid/Vorbis streams which does quite well in the P2P-networks (= successful), but Ogg/Theora has the problem that it isn't as mature and even when they mature probably won't be *that* much better than the others. So even if the xiph guys manage to put out a competitive Theora codec, their own confusion and uncertainity (especially their stubborn and idiotic decision to have .ogg for both audio and video) will sabotage any hopes of success, the way I see it.
Which is really unfortunate.
Things would be much better if they would use .ogt or something for ogg/Theora, but the guys at xiph just refuse to :-(
I love my $60 Philips DVP 642 Divx/Xvid stand-alone DVD Player:= 2598455 0 204SWE
http://www.theinquirer.net/?article=20465
http://walmart.com/catalog/product.gsp?product_id
http://www.amazon.com/exec/obidos/tg/detail/-/B00
When they make a $60 DVD player for other codecs than MPEG2/MPEG4 I'll be interested. Until then, why bother if something is a little bit better? A WMV9 DVD player would probably be another $50 and not worth it (not that they even exist right now).
... 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 was trying to encode the DavesLanParty dvd with it [it was handy] and it segfaulted on the first frame.
In fact the mplayer crew largely ignore Atari alltogether which pisses me off as several months ago I offered shell accounts on my STE box (8mhz 4M) just so they could actually get to adding proper support !.
For instance, the STE has no MMX, no 3dNOW and no SSE [1 or 2] NONE of which a stock build of mplayer [up to pre8.785] will use. It's not like they changed how they work (just now you get 16 registers instead of 8). Even if they just stuck to the first 8 to keep it Jaguar compatible that would be loads better than using BASIC 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 Atari STE which is rather annoying.
--
AS
...which was what I linked to.
I have a Liteon 2001 DVD player. When it first came out, Divx had all kinds of problems on it. It did well just a play a movie; fast-forwarding and rewinding were luxuries.
Luxuries saved for Xvid. Xvid has always played absolutely perfect on it. I can FFW and FRW like it was an ordinary MPEG2, I can seek to a time and the pause is very small. It reads DVDRW's like they were mastered DVD's. It plays Vorbis and can handle WMV, as well nested directory structures.
I did my own little comparison here, just recently. I tried using low bitrates with Divx 5.2.1, and low bitrates with both Nic's and Koepi's Xvid binaries. Xvid utterly won out, not to mention that the Divx encoder would hang when I selected options that it deemed "fucking insane".
I choose Xvid because it works for me, all the time, with whatever I throw, at or in, with it. It works with bare minimal effort on my part. I don't have to use the "right" encoding program, I don't have to choose the "right" resolution and quanitizer matrix, I don't have to have to keep high bitrates.
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 :)
Am I the only person here who thinks that recompressing an already MPEG2 compressed source is going to cause lots of problems for other compressors? At the very least, they now have to deal with block quantization artifacts, and all of the associated ringing etc.
Not to mention that because the sources were not compressed in a lossless fashion, there's less data to work with than they started out with.
So I guess if your goal is to test how well other codecs can recompress MPEG2 data, it's all well and dandy. What might be a better test is to see how all of the codecs work on DV encoded data, as that is rapidly becoming a common source of video information.
Coming soon - pyrogyra
WMV9 is a competitor to AVC. HD DVD and Blu-ray support MPEG-2, AVC, and WMV9, so content providers can choose any of the three.
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?
Actually it is severely patent encumbered. There is absolutely no way to create an MPEG4 codec without violating *a lot* of patents. How does XviD get around this? The XviD project claims to be an educational/research project. Note that the XviD project cannot officially release binaries as I believe this would require the payment of royalties. Otherwise its in a gray area of the law.