{"id":2400,"date":"2010-04-16T22:52:56","date_gmt":"2010-04-17T05:52:56","guid":{"rendered":"http:\/\/multimedia.cx\/eggs\/?p=2400"},"modified":"2011-01-18T20:45:26","modified_gmt":"2011-01-19T04:45:26","slug":"vp8-the-savior-codec","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/vp8-the-savior-codec\/","title":{"rendered":"VP8: The Savior Codec"},"content":{"rendered":"<p>This past week, the internet picked up &#8212; <a href=\"http:\/\/tech.slashdot.org\/story\/10\/04\/13\/0141208\/Google-to-Open-Source-the-VP8-Codec?from=rss\">and subsequently<\/a> <a href=\"http:\/\/www.theregister.co.uk\/2010\/04\/13\/reports_says_google_will_open_source_on2_codec_in_may\/\">sprinted like<\/a> <a href=\"http:\/\/arstechnica.com\/open-source\/news\/2010\/04\/google-planning-to-open-the-vp8-video-codec.ars\">a cheetah with<\/a> &#8212; <a href=\"http:\/\/newteevee.com\/2010\/04\/12\/google-to-open-source-vp8-for-html5-video\/\">an unsourced and highly unsubstantiated rumor that Google will open source the VP8 video codec<\/a>, recently procured through their <a href=\"http:\/\/multimedia.cx\/eggs\/on2-acquisition\/\">On2 acquisition<\/a>. I wager that the FSF is already working on their press release claiming full credit should this actually come to pass. I still retain my &#8220;I&#8217;ll believe it when I see it&#8221; attitude. However, I thought this would be a good opportunity to consolidate all of the public knowledge regarding On2&#8217;s VP8 codec.<\/p>\n<p><center><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2010\/04\/vp8vsh264.jpg\" alt=\"\" title=\"VP8 vs. H.264\" width=\"530\" height=\"264\" class=\"aligncenter size-full wp-image-2402\" srcset=\"https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2010\/04\/vp8vsh264.jpg 530w, https:\/\/multimedia.cx\/eggs\/wp-content\/uploads\/2010\/04\/vp8vsh264-300x149.jpg 300w\" sizes=\"auto, (max-width: 530px) 100vw, 530px\" \/><br \/>\n<em>Pictured: All the proof you need that VP8 is superior to H.264<\/em><br \/>\n<em>Update: The preceding comment is meant in sarcastic jest. Read on<\/em><br \/>\n<\/center><\/p>\n<p><strong>The Official VP8 Facts:<\/strong><br \/>\n<!--more--><\/p>\n<ul>\n<li>VP8 is superior to H.264. Source: <a href=\"http:\/\/www.on2.com\/index.php?603\">On2&#8217;s website, many PSNR graphs<\/a>.<\/li>\n<li>VP8 is free from patent worries. Source: <a href=\"http:\/\/www.on2.com\/index.php?599\">On2&#8217;s website<\/a> (&#8220;no patent-pool royalty hassles&#8221;).<\/li>\n<li>VP8 delivers objectively better visual quality than H.264 at the same bitrate. Source: <a href=\"http:\/\/www.on2.com\/index.php?599\">Video encoded in On2 VP6, created by On2, posted on On2&#8217;s website<\/a>.<\/li>\n<li>VP8 can be implemented on low-power hardware. Source: <a href=\"http:\/\/www.dspdesignline.com\/showArticle.jhtml?articleID=214303691\">DSP Design Line article authored by On2&#8217;s CTO<\/a>.<\/li>\n<li>VP8 uses golden frames (just like every On2 video codec since VP3). Source: <a href=\"http:\/\/www.on2.com\/index.php?602\">On2&#8217;s website<\/a>.<\/li>\n<li>VP8 uses loop filtering (another cornerstone of every On2 video codec since VP3). Source: <a href=\"http:\/\/www.on2.com\/index.php?601\">On2&#8217;s website<\/a>.<\/li>\n<li>VP8 is scalable to many cores. Source: <a href=\"http:\/\/www.on2.com\/index.php?604\">On2&#8217;s website<\/a>.<\/li>\n<li>VP8 produces objectively better results than even x264. Source: Again, <a href=\"http:\/\/www.on2.com\/index.php?603\">On2&#8217;s website<\/a>. Sorry, my <a href=\"http:\/\/x264dev.multimedia.cx\/\">x264 pals<\/a>, but <a href=\"http:\/\/www.stickergiant.com\/charts-and-graphs_d49.html\">they have charts and graphs to back them up, so, you know&#8230;<\/a><\/li>\n<\/ul>\n<p>That&#8217;s pretty much all we know about On2 VP8. Notice a common theme? That&#8217;s right: Everything we know about On2 VP8 comes from On2&#8217;s own publicity material. As of yet, we have no samples encoded in the format, and we certainly don&#8217;t have any public encoders or decoders.<\/p>\n<p>So, yeah, you can write me off as being consistently annoyed when the VP8 topic crops up. Take a look at the subtitle of this blog: &#8220;Topics on multimedia&#8230;&#8221; Codecs are my business (well, hobby, anyway) and my multimedia pals and I have <a href=\"http:\/\/wiki.multimedia.cx\/index.php?title=Category:Video_Codecs\">cataloged <strong>around 200 different video codecs<\/strong><\/a> on our little wiki. Call us codec snobs but we like to know technical details surrounding codecs. Or, failing that, we like to have samples we can study along with maybe a binary decoder and\/or encoder so we can evaluate the suitability of the codec for certain tasks. Thus far, all we have to go on is On2&#8217;s own word about how awesome their technology is. It&#8217;s a bit odd to see so many people taking a (non-Apple) company&#8217;s claims at face value.<\/p>\n<p>Do you believe the marketing material? As a baseline, you&#8217;re invited to read the <a href=\"http:\/\/multimedia.cx\/mirror\/vp6-white-paper.pdf\">VP6<\/a> and <a href=\"http:\/\/multimedia.cx\/mirror\/vp7-white-paper.pdf\">VP7 whitepapers<\/a> which provide similar objective proof of those algorithms&#8217; superiority over H.264 and other standard codecs.<\/p>\n<p><strong>Different Requirements<\/strong><br \/>\nFrom most of the stuff I have been reading (articles, blog posts, and ensuing comment debates), people are lapping up the marketing material. I was incredulous until I realized that most of these observers are simply interested in different things than I am.<\/p>\n<p>I &#8212; and, I suspect, many of my multimedia colleagues &#8212; are salivating for some more solid technical details surrounding this codec. It&#8217;s what we live for. I need to recognize that most outside observers take the view that a video codec is a video codec is a video codec, i.e., they&#8217;re all <a href=\"http:\/\/multimedia.cx\/eggs\/of-filesystems-and-codecs\/\">more or less the same and fairly interchangeable<\/a>. The hope is that On2 VP8 will, at long last, provide patent and license purity that all relevant stakeholders (Google, Apple, Microsoft, Mozilla) will be able to agree on. Quality? That would be nice too, but it seems to be a foregone conclusion that VP8 offers more than enough quality, especially when considering that Theora is based on VP3, which many consider good enough, and VP8 has a higher number than VP3. Ergo, VP8 must be 5 times better than VP3\/Theora. Or 5 more better. Or something. And besides, On2&#8217;s own marketing materials explicitly state that VP8 is better than H.264.<\/p>\n<p><strong>Flash-Killa<\/strong><br \/>\nIt would be disingenuous to omit the Flash-killer angle driving so much of the fervent anticipation surrounding the VP8 speculation. VP8 goes open source =&gt; all major browsers adopt it overnight as a standard video codec for HTML5 video =&gt; blight of Adobe Flash is eradicated the following week, since Flash&#8217;s only use is as a naive video player. Things move just that quickly. <a href=\"http:\/\/multimedia.cx\/eggs\/htmlol5-video\/\">I&#8217;ve covered this ground already<\/a>, i.e., how all of this HTML5 stuff is totally going to crush <a href=\"http:\/\/blogs.adobe.com\/penguin.swf\/\">the stuff I work on at my day job<\/a>.<\/p>\n<p><strong>What Is It, Really?<\/strong><br \/>\nThere&#8217;s too much speculation out there surrounding On2 VP8&#8230; but that won&#8217;t stop me from adding my own: Since, to my knowledge, VP8 has never actually been licensed or used outside of On2, the engineers could still be tweaking it behind the scenes, or even overhauling large segments of the algorithm. The list of publicly discussed features doesn&#8217;t explain a whole lot about the overall codec operation.<\/p>\n<p>Writing this article motivated me to re-read and carefully study that DSP Design Line article and I must confess that there are some interesting tidbits in there. One item that caught my attention was their concept of SIMD without dedicated SIMD instructions. It&#8217;s nice to see On2 getting back to their roots&#8211; this concept forms the basis of On2&#8217;s very first video codec, <a href=\"http:\/\/wiki.multimedia.cx\/index.php?title=Duck_TrueMotion_1\">Duck TrueMotion 1<\/a> (effectively VP1).<\/p>\n<p>The DSP Design Line article is far more fascinating than any of the literature on On2&#8217;s site. The article paints a picture of a powerful and flexible codec that is suitable for low, medium, and high bandwidth applications and whose decoding algorithm can be scaled to operate realtime on low power, mobile CPUs all the way up to beefy, multicore desktop machines, all while offering efficient and accurate compression. If the codec offers all of these technical benefits, plus truly free licensing terms and is satisfactorily patent-free (or indemnified), I look forward to singing VP8&#8217;s praises.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is VP8? What do you want it to be?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[223,2,7,219],"tags":[],"class_list":["post-2400","post","type-post","status-publish","format-standard","hentry","category-html5","category-multimedia-presswatch","category-on2duck","category-vp8"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/2400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=2400"}],"version-history":[{"count":14,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/2400\/revisions"}],"predecessor-version":[{"id":3104,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/2400\/revisions\/3104"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=2400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=2400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=2400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}