Putting x264 developer's technical analysis of WebM (VP8) into perspective
Thursday, May 20, 2010 1:34:00 PM
The main x264 (H.264 encoder) developer, Jason Garrett-Glaser, has written up an interesting analysis of WebM/VP8. This analysis has gotten quite a bit of attention online, and a lot of people seem to take it as the final word on the matter.
However, as with most things, there is more than one side to this story.
However, as with most things, there is more than one side to this story.
Gregory Maxwell wrote a mail to the Wikimedia developer list responding to some of the criticism.
Jason's analysis shows that WebM actually compares favorably to the H.264 baseline profile. Since one of the main criticisms of Theora was the lack of hardware support, it is interesting to note that the H.264 baseline profile is what you need to use if you want to reach all those platforms and devices out there, including the iPhone! This means that the comparisons beyond the H.264 baseline format are not that relevant to HTML5 video.
Another problem with Jason's analysis is that he is comparing a new and "raw" video format to an established and mature encoder like x264. Despite claims to the contrary, The WebM format is not set in stone. The WebM FAQ points out that there is a separate development branch for possible future improvements.
The x264 developer's analysis is certainly interesting, but I don't think it is the final word on "WebM vs. H.264". Not only is WebM doing well compared to the H.264 baseline profile, which is what's relevant to HTML5 video, but I think WebM will continue to improve both quality-wise and performance-wise.
There's no reason why it shouldn't.


1 2 Next »
Charles SchlossChas4 # Thursday, May 20, 2010 2:58:17 PM
All you have to do is look at any piece of software in its early stages, it is buggy and may not have good performance or quality, it takes time to improve
On my Mac I am use http://www.xiph.org/quicktime/ for .ogg in quicktime
there are others here: http://www.xiph.org/downloads/ for other programs (Wikipedia even use .ogg on some of the media files http://en.wikipedia.org/wiki/Ogg#File_format )
experttease # Thursday, May 20, 2010 3:34:52 PM
Originally posted by mgillespie:
Nail. On. Head.
saivert # Thursday, May 20, 2010 3:56:13 PM
H.264 Baseline profile does not compress as well as Main or High. Better compression saves bandwidth but requires more CPU and hence more power. Bandwidth is far from cheap these days and they could use decoder ASIC to improve decoding and not use as much power on it. I don't see why you should limit the web to some baseline inferior standard.
Tenno Seremeltenno-seremel # Thursday, May 20, 2010 4:20:21 PM
'Looks like what we did too' is not 'patent-encumbered code'.
prd3 # Thursday, May 20, 2010 5:01:26 PM
Originally posted by saivert:
Seems we have yet another FUD-spewing troll.
To counter the FUD-spewing troll.
Google backs open codec against patent trolls
Originally posted by saivert:
H264 baseline is all you can use if you want to reach devices and mobile phones. Fail.
Kireta # Thursday, May 20, 2010 5:26:19 PM
Originally posted by prd3:
I don't think that's the point. Why should a new codec that is meant to take a big a role in the future of web video be aimed so low? Do you think a codec similar to h264 baseline would look as good in, say, 5 years? I'm all in favor of the open web and vp8, but that's something to consider.
Peace
FransFrenzie # Thursday, May 20, 2010 8:03:26 PM
Originally posted by Kireta:
If something much better is available in five years we can consider switching then?
Roninzbgoswvhvsq # Thursday, May 20, 2010 8:30:26 PM
Originally posted by Frenzie:
Codec that gives excellent quality is already available.
prd3 # Thursday, May 20, 2010 8:49:24 PM
Originally posted by Kireta:
How about reading the blog post before commenting? It has been clearly pointed out that WebM is better than H264 baseline, which is what you need to use anyway if you want to go for H264. And while x264 is already mature and optimized, WebM is completely fresh and has a lot of optimization remaining.
And Google is going to allow improvements to WebM in the future, so it's only going to get better and better. So if your argument is "they will start using something different from H264 baseline", then we might as well go with an improved WebM.
Why should we aim equally low low and accept H264 if we can't accept WebM? You are contradicting yourself.
prd3 # Thursday, May 20, 2010 8:50:28 PM
Originally posted by zbgoswvhvsq:
Yes, WebM. For H264, baseline is the only thing you can realistically use today. If you are suggesting other H264 profiles than baseline, then all that hardware will have to change, and then we might as well go for the improved WebM instead.
DillonAstrophizz # Thursday, May 20, 2010 9:10:26 PM
Haavard, what do you think about the licensing of WebM? Why doesn't Google protect end users from patent lawsuits? Even better if the people in charge of video at Opera could respond to that.
NRage # Friday, May 21, 2010 1:45:16 AM
Originally posted by prd3:
What? google grants the assorted own patents for free, it doesnt protect against patents that arent its own.the patent clause only makes sure the FOSS community doesnt abuse the granted patents themself. To quote the article you linked yourself: "Basically, it helps ensure that the community that adopts this can't claim patent infringement."
Originally posted by prd3:
Some mobile devices only understand Baseline, and are limited to resolutions of 640x480. With higher resolutions you also need better profiles (Main or High) and devices which can use the higher res also support Main Profile in hardware. And thats still a ton of devices (every net-/lap-/desktop IGP/GPU with H264 support, ipad, psp..).And if we go with an "improved" WebM, why not wait 2 years for h265 awell
Originally posted by Haavard:
WebM is the container, sure if you allow H264 as codec it will improve =)But VP8 is strictly locked down, with google not even accepting fixes for discovered bugs. go back to the linked analysis and find "Practical problems" in the page, there is an update.
I dont understand why google cant wait for a couple independent decoders to make sure the spec is clean enough before finalizing it.
Roninzbgoswvhvsq # Friday, May 21, 2010 4:38:33 AM
Does anyone know how to mux raw ivf streams into mkv (webm)?
hexter # Friday, May 21, 2010 5:23:58 AM
Originally posted by Astrophizz:
But they keep a research group, dedicated to improving the VP8 codec where they can. The decision to make the current spec final was probably because wanted it out in a public testing quickly.
Most likely they will, in a year, or a few years, announce a WebM2, which should solve most of these problems
prd3 # Friday, May 21, 2010 5:49:20 AM
Originally posted by Astrophizz:
WebM is. Also, VP8 clearly is RAW if you look at the specs and all that. Huge room for improvement.
And Google is open to doing exactly that.
prd3 # Friday, May 21, 2010 5:51:55 AM
Originally posted by NRage:
SOME! Baseline is the only thing you can use if you want to reach beyond the PC.
Originally posted by NRage:
No, WebM is the video format, including container, video and audio.
Originally posted by NRage:
You are WRONG. The update links to the FAQ which CLEARLY explains that there's a new dev branch for improvements.
prd3 # Friday, May 21, 2010 5:52:40 AM
Originally posted by zbgoswvhvsq:
No, it's BETTER than H264 baseline, which is all that matters right now. H264 baseline is the only one with widespread hardware support.
DillonAstrophizz # Friday, May 21, 2010 6:13:16 AM
Originally posted by prd3:
When On2 was developing their encoders they decided to prefer PSNR score over human visual perception. VP8 scores better than h264 baseline as far as PSNR goes, but PSNR is not a good judge of psycho-visual effects and tends to prefer blurrier pictures. That's what zbgoswvhvsq was describing.
Originally posted by prd3:
prd3, that page says that the spec is indeed FINAL. From http://www.webmproject.org/about/faq/
"The VP8 and WebM specifications as released on May 19th, 2010 are final. We believe that the code and tools can evolve and improve for many years without requiring changes to the core specifications."
The spec is LOCKED DOWN and if they were to change it in a few years they would have to require everyone to get a new decoder. It would be like changing the video format and that's why they state that it require significant improvements. Beyond that, they're defining the spec through a software implementation which is a little baffling because it makes it much more difficult to know if you're making a correct VP8 encoder. It leaves a lot of grey area.
Add onto all that that since there are bugs in the spec code, the spec REQUIRES these bugs to be present in future encoders. Someone already submitted a decoder patch to fix artifacts that show up in video but it required fixing a bug in the encoder, so they reverted the patch!
05:28 < derf> Gumboot: You’ll be disappointed to know they got the loop filter ordering wrong again.
05:29 < derf> Dark_Shikari: They ordered it such that you have to process each macroblock in full before processing the next one.
<derf> gmaxwell: It survives it with a patch that causes artifacts because their encoder doesn’t clamp MVs properly.
<gmaxwell> ::cries::
<derf> So they reverted my decoder patch, instead of fixing the encoder.
<gmaxwell> “but we have many files encoded with this!”
<gmaxwell> so great.. single implementation and it depends on its own bugs.
prd3 # Friday, May 21, 2010 8:30:36 AM
Originally posted by Astrophizz:
And what I'm describing is that WebM is BETTER than H264 baseline.
Originally posted by Astrophizz:
Yes, but they are using a different branch for FUTURE IMPROVEMENTS. If something is really needed, it will be added.
Originally posted by Astrophizz:
Except they said that they wouldn't be opposed to recoding them, they just didn't have time before the announcement.
Quit spreading anti-anything-not-H264 FUD already.
DillonAstrophizz # Friday, May 21, 2010 9:38:26 AM
NRage # Friday, May 21, 2010 10:24:18 AM
Originally posted by prd3:
It has the potential to be better, the current encoder "right now" isnt. It likely will mature in 1-2 years time to fulfill its potential.Originally posted by prd3:
From the official FAQ:
"What is WebM?
WebM is an open, royalty-free media file format designed for the web. WebM files consist of video streams compressed with the VP8 video codec and audio streams compressed with the Vorbis audio codec. The WebM file structure is based on the Matroska media container."
WebM is a Matroska container with tons of things forbidden (particularly other video/audio codecs than the 2 mentioned)
Originally posted by prd3:
And that would be a different codec (call it VP9 or VP8+) if it doesnt adhere to the VP8 specs which already is known to contain bugs and requires all en-/decoders to implement them.prd3 # Friday, May 21, 2010 10:38:20 AM
Originally posted by NRage:
It is.
Originally posted by NRage:
Your emphasis is wrong. You should have bolded FILE STRUCTURE. The FILE STRUCTURE is based on Matroska. WebM is still the container+codecs.
Originally posted by NRage:
Actually, Google said they were open to re-encoding all their stuff after the initial launch.
Ilgaz # Friday, May 21, 2010 7:57:37 PM
Solution: Use the raw/almost raw (for example, betacam digital, consumer dv) to re-encode to the nre format. While it is amazingly pricey for a content provider, it is possible. The impossible is consumer videos already uploaded to youtube.
Fot developers, it is like converting opera from C to BASIC and blindly reconverting to C.
Hating patents is one thing, ignoring reality is another. Haavard also confuses Google with Opera. Google is the company who abandoned all ppc mac users in chrome while Opera does ship a perfecly working, very accelerated 10.5+ to Mac ppc users running 10.4.11. X264 guys have also put a huge time and effort to altivec acceleration. Where will be vp8 altivec? Will they even bother? You can deal with plain c normally but for advanced codecs, hand crafted acceleration is a must. That is, in case you dare to compete with h264.
Let me describe what I talk about when I say altivec/sse accelerated code: I can watch 720P hd/h264 on a 1,42 GHZ mac mini via coreplayer, from the guys created the mkv format. /Yes, 25 fps. 50 when I benchmark.
prd3 # Saturday, May 22, 2010 10:05:54 PM
Originally posted by Ilgaz:
What makes you think they won't be recoding the original video file?
Why are you attacking Opera employees, and what on earth are you talking about? Who is ignoring reality about what?
What are you going on about? Are you drunk? Are you saying that VP8 can't be improved at all? LOL. Drunk indeed.
Roninzbgoswvhvsq # Sunday, May 23, 2010 12:18:53 AM
Originally posted by prd3:
Yeah, sure, guys can change their specs and add some pretty cool patented technologies.
DillonAstrophizz # Sunday, May 23, 2010 4:44:22 AM
prd3 # Sunday, May 23, 2010 2:20:08 PM
Originally posted by zbgoswvhvsq:
You don't need to change the spec to improve VP8.
prd3 # Sunday, May 23, 2010 2:44:02 PM
Cutting Spoonhellspork # Monday, May 24, 2010 12:04:14 AM
I am currently working my way through a large batch of 'live' clips from YouTube, which demonstrate Google's own working implementation of the VP8 encoder. I can not say that I am reassured, but I will place my findings in my own blog page when I am finished going through them.
The license and the sources/"spec" are a veritable nightmare, I'll need to break them down separately over this next week. VP8 may be 'final', but it is not complete.
DillonAstrophizz # Monday, May 24, 2010 8:18:26 AM
Cutting Spoonhellspork # Monday, May 24, 2010 4:17:12 PM
The so-called "360p" shows VP8 consistently taking 30%-100% more bandwidth on YouTube, with much worse audio quality. The 720p ranges from -5% to +30% bandwidth, with roughly equal audio quality and marginally worse image quality. Especially bad are: "high-contrast mixed-color images", "color gradients", and "fast motion" (really any fast motion, but especially full-scene fast motion). When you see stepping or dithering in the gradients and fades, you are looking at the 1990's all over again. VP8 HQ reminds me of Bink Video HQ.
VLC's WebM support is not perfect, but it uses very little CPU compared to Opera. I saw in another thread (desktopteam? the forum thread?) that the performance hit in Opera is very temporary while they test a better drawing interface. In VLC I did not see torn frames, so most of the *really* bad image problems are an issue with Opera's development preview.
I still intend to have a writeup of my own later this week, but here are a few clips I used for the comparison:
http://www.youtube.com/watch?v=tQxbpryKKQo
"360p"11.5MB/20.9MB; "720p"44.3MB/62.MB
Adriana Lima COMEBACK (very poor audio in VP8/360p)
http://www.youtube.com/watch?v=EMs5pWce1y0
"360p"10.8MB/13.5MB; "720p"34.5MB/34.3MB (!)
BLUR - Danica Patrick (well it certainly is blurry)
http://www.youtube.com/watch?v=IMS-gewLP44
"360p"16.6MB/38.9MB (!); "720p"56.5MB/77.0MB
Hot Chip - I Feel Better (grueling, x264 does much better)
*It is noteworthy that VP8 LQ takes nearly 2.5x the space!
http://www.youtube.com/watch?v=8sFlBJ1Jk3w
"360p"26.5MB/48.8MB; "720p"95.9MB/108MB
Billy Joel - Piano Man HD (Audio problems crept in VP8 LQ)
*VLC choked and died on the VP8 HQ, I blame VLC for this
If anyone wants to check this but does not know how to extract clips, please contact me via PM.
deadHarlequin # Monday, May 24, 2010 10:35:10 PM
DillonAstrophizz # Monday, May 24, 2010 11:33:00 PM
http://forum.doom9.org/showthread.php?p=1402558#post1402558
Does anyone know why this might be?
ouzowtfouzoWTF # Tuesday, May 25, 2010 6:57:41 AM
DillonAstrophizz # Tuesday, May 25, 2010 7:52:47 AM
DillonAstrophizz # Tuesday, May 25, 2010 10:05:15 AM
http://forum.doom9.org/showthread.php?p=1402663#post1402663
Cutting Spoonhellspork # Tuesday, May 25, 2010 5:32:07 PM
Originally posted by deadHarlequin:
That was about the video container, so-called ".ogg"; one may note that VP8 uses the ".webm" container, which is a partial implementation of the superior Matroska (.mkv) container recommended in the anti-ogg argument.
This was very fascinating to read: http://carlodaffara.conecta.it/?p=420
Dillon: Initial preview takes frames from the decoder and presents them as a stream of images, possibly a canvas hack or other creative use of Vega. The only official comment I've seen, is that it's waiting on some other work they're doing with the presentation engine. Quite possibly it will be drawn as a GPU texture in the future, same as most good media player software. Just give them time.
DillonAstrophizz # Tuesday, May 25, 2010 8:39:35 PM
http://blog.foolip.org/2010/05/19/vp8-has-landed/#comment-742
ouzowtfouzoWTF # Tuesday, May 25, 2010 8:47:07 PM
Originally posted by Astrophizz:
Just what I said:
Originally posted by ouzoWTF:
Cutting Spoonhellspork # Tuesday, May 25, 2010 8:52:57 PM
DillonAstrophizz # Wednesday, May 26, 2010 3:11:01 AM
Originally posted by Astrophizz:
digitalinksmudge # Friday, May 28, 2010 5:59:17 PM
Originally posted by Cutting Spoon:
Maybe this will help and they'll push out some driver updates for our GMA's?
Cheers!
Cutting Spoonhellspork # Friday, May 28, 2010 6:52:45 PM
Some of the decoding steps in VP8 are very difficult to implement with current hardware decoding technology, but Intel has been pushing the idea of a graphics card built from x86 micro-cores. Intel's reasoning is that x86 and SSE are more flexible than purely graphical technology, and allow more complicated operations to be handled by just the graphics card.
So, Intel's Atom-based graphics chips are probably easier to customize for dedicated VP8 decoding. Most other companies will need to engineer entirely new configurations of decoding logic before they can even TEST hardware-based VP8. Don't expect to see any direct-to-webm camcorders in the near future.
FransFrenzie # Saturday, May 29, 2010 11:24:05 AM
Originally posted by Cutting Spoon:
I'd rather shoot in something a little less lossy.
Cutting Spoonhellspork # Saturday, May 29, 2010 5:30:55 PM
DillonAstrophizz # Thursday, August 26, 2010 7:35:39 PM
Basically the MPEG LA will allow video to be released online without licensing fees so long as the video itself is free. This basically renders all of the fears about what will happen in 2016 null.
Charles SchlossChas4 # Thursday, August 26, 2010 8:41:40 PM
Originally posted by Astrophizz:
So what does that make of online pay sites for video?
DillonAstrophizz # Thursday, August 26, 2010 9:07:11 PM
Charles SchlossChas4 # Thursday, August 26, 2010 9:20:14 PM
DillonAstrophizz # Thursday, August 26, 2010 10:13:01 PM