Libvpx
   HOME

TheInfoList



OR:

libvpx is a
free software Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
video codec
library A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
from
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
and the Alliance for Open Media (AOMedia). It serves as the reference software implementation for the
VP8 VP8 is an open format, open and royalty-free Video coding format, video compression format released by On2 Technologies in 2008. Initially released as a Proprietary software, proprietary successor to On2's previous VP7 format, VP8 was released a ...
and VP9 video coding formats, and for AV1 a special fork 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 or source, is a plain text computer program written in a programming language. A programmer writes the human readable source code to control the behavior of a computer. Since a computer, at base, only ...
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 lic ...
. 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. ...
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 and view the source code, design documents, or content of the product. The open source model is a decentrali ...
. 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 Chrominance, chroma information than for luma (video), luma information, taking advantage of the human visual system's lower acuity for color differences t ...
(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, Rec. 709, Rec. 2020, SMPTE-170, SMPTE-240, and
sRGB sRGB (standard RGB) is a colorspace, for use on monitors, printers, and the World Wide Web. It was initially proposed by HP and Microsoft in 1996 and became an official standard of the International Electrotechnical Commission (IEC) as IEC 6 ...
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 represe ...
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. Histo ...
.
HEVC High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video compression standard designed as part of the MPEG-H project as a successor to the widely used Advanced Video Coding (AVC, H.264, or MPEG-4 Part 10). In co ...
encoded by x265 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 computing, assembly language (alternatively 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 bet ...
. It does not have complete
SIMD Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
coverage as of 2015.


Usage

libvpx is used by major OTT video services including
YouTube YouTube is an American social media and online video sharing platform owned by Google. YouTube was founded on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim who were three former employees of PayPal. Headquartered in ...
,
Netflix Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple lang ...
,
Amazon Amazon most often refers to: * Amazon River, in South America * Amazon rainforest, a rainforest covering most of the Amazon basin * Amazon (company), an American multinational technology company * Amazons, a tribe of female warriors in Greek myth ...
, JW Player, 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