In-Depth Look At Video Codecs
johnsee writes "Atomicmpc has an incredibly in- depth look at a wide range of video codecs. It looks not only at their inner workings, but also shows the quality produced by each at a variety of settings and situations."
Apparently some people have no sense of humor. BTW I am back.
For those not wanting to read the article:
Rated best to worst with default settings
Low Bitrate go with XVID, DIVX, h.264, WMV
Medium: XVID or h.264 depending on lighting and motion, WMV, DIVX
High: h.264, WMV, XVID, DIVX
Get a web developer
http://digg.com/apple/DivX_Pro_Mac_Free_on_June_7
Grab it while you can.
There are a number of comparisons around the internet, and the last ones from 2006 show that x264 and Mainconcept are basically tied as the best, with Mainconcept having a tiny lead. However, x264 now has Adaptive Quantization available, an experimental feature that can help eliminate blocking in dark scenes which is pretty much impossible to avoid without AQ unless you use absurdly high bitrates. This feature alone puts it way over the top, IMO.
--aq-strength for the win!
This is not "everything you wanted to know about codecs." In fact, 3ivx just released 3ivx 5.0 for encoding to MPEG4 a few days ago.
A bit of a bummer that an Australian website missed reviewing an Australian created codec.
FYI, here's the press release. And YES! It does do Linux!. Tux be praised.
http://www.3ivx.com/pr/pr20070607_50.html
Cheers
- Zav - Imagine a Beowulf cluster of insensitive clods...
And so you should describe it as "dividing numbers by two and then multiplying them again"...? In other words, a "simple" description is preferable, despite the fact that it's completely wrong...? Hell, "dividing numbers by two" isn't even an accurate description of quantization, let alone of a DCT.
e s/viewarticle.jsp?id=109739-2
I think I made a pretty decent job of explaining what "frequency space" is, and why it can be used to improve compression, here:
http://digitalproducer.digitalmedianet.com/articl
(scroll down to "The transformers")
It also explains why DCT isn't a form of compression per se, it simply makes it possible to use quantization in a way that does not affect quality as much as it would in "pixel space".
Several "non-techies" have read that and, although they realised the transform itself is not something trivial, they understood what it did and what it was used for. Something that you can't really say about the Atomic article (or its author).
ie the following statement is always true:
H.263 is always MPEG4
However the the folloing statement is not always true:
MPEG4 is always h.263
Not true at all. There are some hardware MPEG4 encoders on the market, but it is for the most part, not included in modern GPUs. For decoding purposes, portions of the h.263 (IDCT to be exact) has been implemented in hardware on video cards for quite sometime. However, combined with programmable shaders, a good deal of h.263 decoding can be greatly accelerated by most modern GPUs (nVidia's PureVideo DirectShow codec is an example of this). ATI's AVIVO XCode app does use a great deal of shaders to speed up the encoding process for several codecs. Even though it's been shoehorned to work with other GPUs, it was intended to work thier X1X00 line of video cards.
Havoc Video
At 1mbps? Um hell no. HDTV is 19mbps for a reason (which of course is probably sent over the wire at ~8mbps or so ... cheap bastards).
Tom
Someday, I'll have a real sig.
1080p works pretty well at 3-4 megabits with H.264 High Profile. You can fit a full-length movie on a DVD5 that way. Of course, it'll be completely unplayable without CoreAVC.
Exactly. I'll copy/paste my response to this highly innacurate article on Digg:
... What? The DCT is a complex algorithm that converts an array or matrix of values into frequency space, producing a set of frequency coefficients that represent respective values of cosine waves at different frequencies along the set. Halving the data has nothing to do with it unless you're using a quantizer of two and a quantization matrix of all ones (or a QM of all twos and a quantizer of one...).
"Some other major inaccuracies:
This site says that motion compensation was introduced in MPEG-4. What? Motion compensation and motion estimation are at the core of every MPEG and most other codecs.
Also, his understanding of the DCT is way off (and no, you don't need a degree to understand it -- I was building JPEG encoders in 11th grade).
"During an encode, every number in a series is simply halved and the remainders thrown away."
This is also wrong:
"Think of a quantisation matrix as a palette of values that controls how the pixels in a macroblock are converted from pixels to a formula."
That's the DCT that he's describing. The quantization matrix simply defines what values the frequency coefficients are divided by. I think he has quantization and the DCT mentally swapped.
Oh also, he acts like QPel and GMC are Xvid inventions. In actuality, most MPEG-4 codecs implement these. Granted, DivX's GMC is inferior to Xvid's implementation (one warp point vs three), but it certainly does have it."
Of course, this got dugg down to hell because my comments about the DCT were mistaken for boasting. Hopefully the same won't happen here.