VP8
≈ 8 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
VP8 is an open and royalty-free video compression format released by On2 Technologies in 20081. Initially released as a proprietary successor to On2's previous VP7 format, VP8 was released as an open and royalty-free format in May 20101 after Google acquired On2 Technologies. Google provided an irrevocable patent promise on its patents for implementing the VP8 format, and released a specification of the format under the Creative Commons Attribution 3.0 license. That same year, Google also released libvpx, the reference implementation of VP8, under the revised BSD license. Opera, Firefox, Chrome, Pale Moon, and Chromium support playing VP8 video in HTML video tag. Internet Explorer officially supports VP8 if the user has the DirectShow filter installed. According to Google, VP8 is mainly used in connection with WebRTC and as a format for short looped animations, as a replacement for the Graphics Interchange Format (GIF). VP8 can be multiplexed into the Matroska-based container format WebM along with Vorbis and Opus audio. The image format WebP is based on VP8's intra-frame coding. VP8's direct successor, VP9, and the royalty-free AV1 codec from the Alliance for Open Media are based on VP8.
VP8 is an open and royalty-free video compression format released by On2 Technologies in 2008. Initially released as a proprietary successor to On2's previous VP7 format, VP8 was released as an open and royalty-free format in May 2010 after Google acquired On2 Technologies. Google provided an irrevocable patent promise on its patents for implementing the VP8 format, and released a specification of the format under the Creative Commons Attribution 3.0 license. That same year, Google also released libvpx, the reference implementation of VP8, under the revised BSD license. Opera, Firefox, Chrome, Pale Moon, and Chromium support playing VP8 video in HTML video tag. Internet Explorer officially supports VP8 if the user has the DirectShow filter installed. According to Google, VP8 is mainly used in connection with WebRTC and as a format for short looped animations, as a replacement for the Graphics Interchange Format (GIF). VP8 can be multiplexed into the Matroska-based container format WebM along with Vorbis and Opus audio. The image format WebP is based on VP8's intra-frame coding. VP8's direct successor, VP9, and the royalty-free AV1 codec from the Alliance for Open Media are based on VP8.
Features
VP8 only supports progressive scan video signals with 4:2:0 chroma subsampling and 8 bits per sample. In its first public version, On2's VP8 implementation supports multi-core processors with up to 64 cores simultaneously. At least in the implementation (from August 2011), VP8 is comparatively badly adapted to high resolutions (HD). With only three reference frame buffers needed, VP8 enables decoder implementations with a relatively small memory footprint. The format features a pure intra mode, i.e. using only independently coded frames without temporal prediction, to enable random access in applications like video editing.
Implementations
libvpx
The reference implementation of a VP8 (and VP9) codec is found in the programming library libvpx which is released as free software. It has a mode for one-pass and two-pass encoding, respectively, while the one-pass mode is known as being broken and not offering effective control over the target bitrate. Currently, libvpx is primary software library capable of encoding VP8 video streams, but at least one independent implementation exists in ffvp8enc.
Encoding
A Video for Windows wrapper of the VP8 codec based on the Google VP8 library (FourCC: VP80) is available. The WebM Project hardware team in Finland released an RTL hardware encoder for VP8 that is available at no cost for semiconductor manufacturers. The Nvidia Tegra mobile chipsets have full VP8 hardware encoding and decoding (since Tegra 4). Nexus 5 could use hardware encoding.
Decoding
libvpx is capable of decoding VP8 video streams. On July 23, 2010, Fiona Glaser, Ronald Bultje, and David Conrad of the FFmpeg Team announced the ffvp8 decoder. Through testing, they determined that ffvp8 was faster than Google's own libvpx decoder. The WebM Project hardware team released an RTL hardware decoder for VP8, that is releasable to semiconductor companies at zero cost. TATVIK Technologies announced a VP8 decoder that is optimized for the ARM Cortex-A8 processor. Marvell's ARMADA 1500-mini chipset has VP8 SD and HD hardware decoding support (used in Chromecast). Intel has full VP8 decoding support built into their Bay Trail chipsets. Intel Broadwell also adds VP8 hardware decoding support.
Related formats
WebM
Also on May 19, 2010, the WebM Project was launched, featuring contributions from "Mozilla, Opera, Google and more than forty other publishers, software and hardware vendors" in a major effort to use VP8 as the video format for HTML5. In the WebM container format, the VP8 video is used with Vorbis or Opus audio. Internet Explorer 9 will support VP8 video playback if the proper codec is installed. Android is WebM-enabled from version 2.3 - Gingerbread. Since Android 4.0, VP8 could be read inside mkv and WebM could be streamed. Adobe also announced that the Flash Player will support VP8 playback in a future release.
WebP
On September 30, 2010, Google announced WebP, their new image format, on the Chromium blog. WebP is based on VP8's intra-frame coding and uses a container based on Resource Interchange File Format (RIFF).
Comparison with H.264
While H.264/MPEG-4 AVC contains patented technology and requires licenses from patent holders and limited royalties for hardware, Google has irrevocably released the VP8 patents it owns under a royalty-free public license. According to a comparison of VP8 (encoded with the initial release of libvpx) and H.264 conducted by StreamingMedia, it was concluded that "H.264 may have a slight quality advantage, but it's not commercially relevant" and that "Even watching side-by-side (which no viewer ever does), very few viewers could tell the difference". They also stated that "H.264 has an implementation advantage, not a technology advantage." Google claims that VP8 offers the "highest quality real-time video delivery" and Libvpx includes a mode where the maximum CPU resources possible will be used while still keeping the encoding speed almost exactly equivalent to the playback speed (realtime), keeping the quality as high as possible without lag. On the other hand, a review conducted by streamingmedia.com in May 2010 concluded that H.264 offers slightly better quality than VP8. In September 2010 Fiona Glaser, a developer of the x264 encoder, gave several points of criticism for VP8, claiming that its specification was incomplete, and the performance of the encoder's deblocking filter was inferior to x264 in some areas. In its specification, VP8 should be a bit better than H.264 Baseline Profile and Microsoft's VC-1. Encoding is somewhere between Xvid and VC-1. Decoding is slower than FFmpeg's H.264, but this aspect can hardly be improved due to the similarities to H.264. Compression-wise, VP8 offers better performance than Theora and Dirac. According to Glaser, the VP8 interface lacks features and is buggy, and the specification is not fully defined and could be considered incomplete. Much of the VP8 code is copy-pasted , and since the source constitutes the actual specification, any bugs will also be defined as something that has to be implemented to be in compliance. In 2010, it was announced that the WebM audio/video format would be based on a profile of the Matroska container format together with VP8 video and Vorbis audio. Diary Of An x264 Developer: Announcing the world's fastest VP8 decoder
Text derived from https://en.wikipedia.org/w/index.php?oldid=1373384063 under CC BY-SA 4.0; modifications have been made.