The first in-depth technical analysis of VP8
x264dev.multimedia.cx
x264dev.multimedia.cx
While I only have a surface-level understanding of video encoding and compression techniques, there are some very good criticisms here. That said, I've been reading through the libvpx source for the past 20 minutes or so. Jason repeatedly slams the quality of the source. The code is much cleaner than he suggests and rather well-commented.
Better than H.264/main or not, I'm excited to see where VP8 goes. With implementations in Chrome, Firefox, Opera, and Flash, it's off to a good start from day one. We'll see where it heads from there.
It is possible he had an older revision of their code. Since he didn't say how he obtained it early, it may have not been through official channels.
> It is possible he had an older revision of their code.
Unless he had a very ancient version of this codebase it is unlikely that it is different in structure from the current mainline.Adding comments or sanitizing local variable names are only very superficial changes.
Hopefully there's some sort of a real specification forthcoming and it just isn't ready for release yet.
This has to be said — there is so much mediocrity around.
> If You or your agent or exclusive licensee institute or order or agree to the institution of patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that this implementation of VP8 or any code incorporated within this implementation of VP8 constitutes direct or contributory patent infringement, or inducement of patent infringement, then any rights granted to You under this License for this implementation of VP8 shall terminate as of the date such litigation is filed.
This has been raised on ffmpeg-devel, so hopefully Google has some opinion about it.
Take a close look at section 7 of the GPL:
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
What this means is that if anyone, anywhere, imposes conditions on you (e.g. by way of patent claims), then you cannot distribute the Program at all.
It's a sweeping provision and is the main reason why many companies shy away from the GPL (including some I worked for). It's the reason why we never used XviD, for example — someone, someday, could (and would) come up with patents pertaining to XviD (MPEG-4 ASP) and we would have to stop distributing the software. Meaning, recall the millions of set-top boxes sold.
The restriction in VP8 licensing is much more reasonable — it says that if you come up with patent claims, then you lose the right to do anything with the software.
Fortunately, there are open video developers with experience building psychovisual optimizations for codecs like the VP3-derived Theora. This post from yesterday details some of the psy improvements coming soon to Theora: http://people.xiph.org/~xiphmont/demo/theora/demo9.html
So it might take a lot of work (it has for Theora), but I believe the potential for improvement is there.
P.S. Hello from a fellow Mudder!
With regard to patents, VP8 copies way too much from H.264 for anyone sane to be comfortable with it, no matter whose word is behind the claim of being patent-free.
Google isn't indemnifying those who might use VP8, right?
> VP8 is definitely better compression-wise than Theora and Dirac, so if its claim to being patent-free does stand up, it’s an upgrade with regard to patent-free video formats.
Sounds to me like he has no clue yet, and how could he if it's just been released?
>Fortunately, it seems I was able to acquire access to the VP8 spec, software, and source a good few days before the official release and so was able to perform a detailed technical analysis in time for the official release.
The only "clue" he's missing is whether or not VP8 is buried under a flood of patent lawsuits. Since that's something only time will tell, I think it's perfectly reasonable for him to add that qualification to his claim that VP8 is an upgrade from Theora and Dirac.
> sometimes it take year for a single patent
It takes only seconds to issue threats. And a single threat can stop people from adopting it.
Thank you for bursting my bubble in style!
http://mirror05.x264.nl/Dark/website/compare/vp8.png http://mirror05.x264.nl/Dark/website/compare/x264.png
This is one of the better examples of the species, which is partly why I'm responding to it, but often I find the summaries actively misleading, and almost invariably adding snarky content-free remarks.
Another way of looking at it: People hyper-summarizing articles are like HFT for news aggregators. It makes the aggregator more efficient by cutting to what many people only want to know thereby increasing their capacity to consume even more knowledge irrelevant to their lives.
If you open both of these in separate tabs or windows and switch from one to the other, it's pretty obvious that VP8's picture isn't as detailed as X264's. By a pretty wide subjective margin, IMO.
Too bad.
"Patents are about _details_ so the mere fact that something does something like something else, isn’t necessarily something at all.
As we’ve pointed out before, many codec patents are exceptionally easy to work around: They specify every little detail because it makes it _much_ easier to get through the examination but doesn’t harm the patent’s ability to read on the final standard because the standard specifics exactly the patented behaviour.
D_S, for all his undeniable H.264 experience isn’t an expert on patents or even the H.264 patents. We can assume that in cases where VP8 looks similar to H.264 those would have been exactly the cases where care was taken to differ in the right places. I’d expect the primary risks for VP8 to be anywhere _but_ there."
http://www.engadget.com/2009/04/25/red-blows-away-small-room...
http://peter.schlaile.de/redcode/
Great company and kit though.
"VP8, as a spec, should be a bit better than H.264 Baseline Profile and VC-1. It’s not even close to competitive with H.264 Main or High Profile. If Google is willing to revise the spec, this can probably be improved.
VP8, as an encoder, is somewhere between Xvid and Microsoft’s VC-1 in terms of visual quality. This can definitely be improved a lot, but not via conventional means.
VP8, as a decoder, decodes even slower than ffmpeg’s H.264. This probably can’t be improved that much.
With regard to patents, VP8 copies way too much from H.264 for anyone sane to be comfortable with it, no matter whose word is behind the claim of being patent-free.
VP8 is definitely better compression-wise than Theora and Dirac, so if its claim to being patent-free does stand up, it’s an upgrade with regard to patent-free video formats.
VP8 is not ready for prime-time; the spec is a pile of copy-pasted C code and the encoder’s interface is lacking in features and buggy. They aren’t even ready to finalize the bitstream format, let alone switch the world over to VP8."
This is the scary one. The other points are simply a matter of improving the spec / technology.
edit: read comment #16
"Actually ripping of H.264 may be a way to avoid submarine patents.
By having design so similar, Google only has to worry about MPEG-LA patents.
So there is a known, finite list of patents to review.
Given bizarre tweaks and omissions in VP8, I suspect that’s exactly what they did – looked at claims on H.264 and tweaked VP8 just a little to avoid crucial points (remember in patents you have to infringe all points in a claim, if you infringe 2 out of 3, then you’re safe)."
The only technical advantage it had was color reproduction and clarity. Every other metric (cost and convenience) it did poorly. It did go on to live a second life, as Betacam, in professional studios, where reproduction and clarity are important. And their ENG cameras are some of the sturdiest I have ever encountered.
VP8 is simply way too similar to H.264: a pithy, if slightly inaccurate, description of VP8 would be “H.264 Baseline Profile with a better entropy coder.
Then later, about the encoder:
there were comments describing bugfixes dating as far back as early 2004. That’s right: this software is even older than x264!
Wouldn't that mean that VP8 didn't copy if the software is older? Prior art? I mean, you can't write an encoder for a spec that doesn't exist. IANAL, so I'd like some info here.
x264 is an open source software program that implements H.264, and was written starting in 2004.
Furthermore, we don't know when they added intra prediction to VP8; it could have been many years after the original program was written.
I'm not quite sure why some people really like black/white while others like white/black. Maybe it's something psychological, or maybe it's just room lighting.
On the article's page, when I knock the browser "zoom" feature up one notch from default, it's like the entire page magically becomes this wonderful, easy-to-read document.
It may be because I'm on a 1920x1200 display on a 17" laptop screen, but at any rate, I would consider a small upward bump in font size. I wouldn't have brought it up myself, since as I noted above, I can do it myself in my browser with a quick hold of Ctrl and a flick of the mouse wheel. But since the topic came up, I thought I'd throw that in.
If VP8 somehow overtakes h264, the value of the author's work on x264 would be diminished. He is the "lead developer" for x264.
This is like having Bill Gates critique a new release of Linux.
Edit: it looks like this article was released a few minutes after Google announcement...
Edit2: it looks like he had access to the spec a few days ago. I still think that Google is not putting their money blindly into VP8 though, they have the money to pay hundreds of analysis like this one and they sure did a lot of them, so it's either good enough or they have plans to make it good soon enough. Still better than x264 for people involved in free/open source like me.
In the comments here, where you might find people discussing e.g., validity, you can find the author commenting on this "issue" further: http://news.ycombinator.com/item?id=1361739
Not to mention an x264 developer is a lot more interested in VP8 succeeding than H264...
If you have any actual concerns, rather than the cargo cult concerns that seem similar to those more intelligent people may voice in situations when they're actually informed on a topic, please mention them.
"Fortunately, it seems I was able to acquire access to the VP8 spec, software, and source a good few days before the official release"