Friday, May 11, 2012

VP8 Codec SDK "Eider" Released

"Eider," the fifth named release of the VP8 Codec SDK (libvpx), is now available. You can download the Eider libvpx snapshot (version 1.1.0) from our Downloads page, or clone it from our Git repository.

In addition to a number of enhancements, this release fixes a decoder bug first introduced in v1.0.0, "Duclair," so all users of that release are encouraged to upgrade.

Note that the VP8 format definition has not changed, only the SDK. Eider is ABI and API compatible with Duclair. Code changes shouldn't be required in most applications, but please consult the "Upgrading" instructions in the CHANGELOG. In particular, use of the encoder's spatial denoiser has changed.

Enhancements

  • Eider adds a motion-compensated temporal denoiser, which gives higher quality than the older spatial denoiser. 
  • We've added support for new compilers and platforms, including improved Xcode support, Android x86 NDK build, OS/2 support and SunCC support. 
  • Input resolution may now be changed without re-initializing the codec. 
  • The vpxenc application has initial support for producing multiple encodes from the same input in one call. 

Performance Improvements

With Eider, our focus was on decoder speed and realtime encoder speed.
  • Large realtime encoding speed gains with little quality loss are possible using the on-the-fly bitpacking experiment. Video conferencing-style encodes can be up to 13% faster, depending on resource allocation, with loss in the range of 0.2dB.
  • Decoder speed improved 2.5% vs. Duclair. 
  • Two-pass encoding of slideshow-like material will see significant speed improvements. 
Quality is consistent with Duclair, but saw some useful tweaks:
  • Reduced blockiness in easy sections, by penalizing intra modes. 
  • Improved quality of static sections (like slideshows) with two-pass encoding. 
  • Improved keyframe sizing with multiple temporal layers. 
Many thanks to all who worked on Eider, and welcome to four new contributors:
  • KO Myung-Hun 
  • Marco Paniconi 
  • Priit Laes 
  • Takanori MATSUURA 
John Koleszar is a software engineer at Google.

Polite, on-topic comments are welcomed on the webm-discuss mailing list. Please link to this post when commenting.