libvpx Deprecation Plans for Older Features

This article provides an overview of the future deprecation plans for older features, architectures, and APIs within the libvpx library, the official software codec development kit for the VP8 and VP9 video formats. As the media industry shifts its focus toward next-generation codecs like AV1 (via libaom) and VVC, the WebM Project is actively streamlining the libvpx codebase. This process involves deprecating legacy build configurations, outdated hardware optimization paths, and redundant API controls to ensure long-term maintainability and security.

Maintenance Mode and the Status of VP8

The libvpx library is currently in a highly mature maintenance phase. Because the newer AV1 codec has succeeded VP8 and VP9 for most cutting-edge applications, active feature development on libvpx has largely ceased.

For VP8 specifically, the WebM Project has relegated the codec to critical security-fix-only status. While there are no immediate plans to completely remove VP8 support due to its deep integration into legacy WebRTC infrastructure and older web browsers, no new features, optimization paths, or API extensions will be developed for VP8. Users are actively encouraged to transition to VP9 or AV1.

Deprecation of Outdated Compiler and Build Configurations

To simplify the continuous integration (CI) pipeline and maintain high security standards, the maintainers of libvpx are phasing out support for legacy build environments and compilers.

Removal of Legacy Hardware Assembly Optimizations

Historically, libvpx contained handwritten assembly code to optimize performance on a wide variety of hardware architectures. As technology has evolved, several of these older optimization paths have become obsolete.

API and Control Parameter Cleanup

Over its lifespan, libvpx has accumulated a vast array of configuration parameters and codec controls. The maintainers plan to clean up the API by deprecating redundant or unsafe controls.