Libvpx
   HOME

TheInfoList



OR:

libvpx is a
free software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, n ...
video codec
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
from
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
and the Alliance for Open Media (AOMedia). It serves as the reference software implementation for the VP8 and VP9 video coding formats, and for AV1 a special
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tine (structural), tines with which one ...
named libaom that was stripped of backwards compatibility. As free software it is published also in
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
under the terms of the revised
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
. It ships with the commandline tools vpxenc/aomenc and vpxdec/aomdec that build on its functionality.


History

libvpx originates from the video codec company
On2 Technologies On2 Technologies, formerly known as The Duck Corporation, was a small publicly traded company (on the American Stock Exchange), founded in New York City in 1992 and headquartered in Clifton Park, New York, that designed video codec technology. It ...
that sold its first software codec in mid-90s. libvpx was released as free software by Google on May 19, 2010, after the acquisition of On2 Technologies for an estimate of over 120 million US dollars. In June 2010, Google amended the VP8 codec software license to the 3-clause BSD license after some contention over whether the original license was actually
open source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
. Google was criticised for dumping untidy code with bad documentation for the initial release of libvpx and developing behind closed doors without involving the community in the process. The development process was opened after the release of VP9. Preliminary support for VP9 was added to libvpx on June 17, 2013. It was officially introduced with the release of version 1.3 on December 2, which also supports
lossless compression Lossless compression is a class of data compression that allows the original data to be perfectly reconstructed from the compressed data with no loss of information. Lossless compression is possible because most real-world data exhibits statisti ...
. In April 2015, Google released a significant update to its libvpx library, with version 1.4.0 adding support for encoding VP9 with 10-bit and 12-bit bit depth, 4:2:2 and 4:4:4
chroma subsampling Chroma subsampling is the practice of encoding images by implementing less resolution for chroma information than for luma information, taking advantage of the human visual system's lower acuity for color differences than for luminance. It is u ...
(VP9 profiles 1, 2, and 3), and VP9 multithreaded decoding/encoding. Versions 1.5 (November 2015, 1.6 (July 2016), 1.7 (January 2018), and 1.8 (February 2019) delivered significant speedups, both for encoding and decoding.


Features

libvpx implements single-pass and two-pass encoding modes, with either bitrate or quality target settings. libvpx offers an asymmetric codec – with encoding taking much longer than decoding – and options for configuring encoding expense independently from decoding complexity. A lookahead of up to 25 frames can be configured, which improves compression efficiency but introduces latency and thereby hurts real-time performance. 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. libvpx supports
Rec. 601 ITU-R Recommendation BT.601, more commonly known by the abbreviations Rec. 601 or BT.601 (or its former name CCIR 601) is a standard originally issued in 1982 by the CCIR (an organization, which has since been renamed as the Internatio ...
, Rec. 709,
Rec. 2020 ITU-R Recommendation BT.2020, more commonly known by the abbreviations Rec. 2020 or BT.2020, defines various aspects of ultra-high-definition television (UHDTV) with standard dynamic range (SDR) and wide color gamut (WCG), including picture ...
, SMPTE-170, SMPTE-240, and
sRGB sRGB is a standard RGB (red, green, blue) color space that HP and Microsoft created cooperatively in 1996 to use on monitors, printers, and the World Wide Web. It was subsequently standardized by the International Electrotechnical Commission ...
color space A color space is a specific organization of colors. In combination with color profiling supported by various physical devices, it supports reproducible representations of colorwhether such representation entails an analog or a digital represen ...
s.


Performance

At high resolutions (e.g., UHD) VP9 encoded by libvpx for VOD applications provides a significant improvement over H.264 encoded by
x264 x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC video coding format. It is released under the terms of the GNU General Public License. Hi ...
. HEVC encoded by
x265 x265 is a software codec for creating digital video streams in the High Efficiency Video Coding (HEVC/H.265) video compression format developed by the Joint Collaborative Team on Video Coding (JCT-VC). It is available as a command-line app or ...
may achieve even better quality, but the royalty-free nature of VP9 makes it a compelling option for delivering high resolution video on supported platforms. Decoding performance is relatively slow, partially in order to keep the code base easier to maintain. Compared to the initial release of libvpx, ffvp8 from the FFmpeg project improved performance by 22 to over 66%. In 2016, alternative VP9 decoders still achieved 25–50% faster decoding.


Technology

libvpx is written in C and
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence b ...
. It does not have complete
SIMD Single instruction, multiple data (SIMD) is a type of parallel processing in Flynn's taxonomy. SIMD can be internal (part of the hardware design) and it can be directly accessible through an instruction set architecture (ISA), but it shoul ...
coverage as of 2015.


Usage

libvpx is used by major OTT video services including
YouTube YouTube is a global online video sharing and social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by Google, and is the second mo ...
,
Netflix Netflix, Inc. is an American subscription video on-demand over-the-top streaming service and production company based in Los Gatos, California. Founded in 1997 by Reed Hastings and Marc Randolph in Scotts Valley, California, it offers a ...
,
Amazon Amazon most often refers to: * Amazons, a tribe of female warriors in Greek mythology * Amazon rainforest, a rainforest covering most of the Amazon basin * Amazon River, in South America * Amazon (company), an American multinational technolog ...
,
JW Player JW Player is a New York based company that has developed a video player software of the same name. The player, for embedding videos onto web pages, is used by news, video hosting companies, and for self- hosted web videos. The company has also cr ...
, Brightcove, and Telestream, among which are the biggest sources of internet traffic with Netflix alone accounting for nearly a third of all internet traffic in the United States as of 2017. There are alternatives for decoding VP8 and VP9, both commercial and closed source as well as open source. For encoding there are only commercial alternatives and some unfinished experimental software for VP8 including xvp8 as of 2016.


References


External links

* {{Google FOSS Free video codecs C (programming language) libraries Free software programmed in C Free computer libraries Google software