English

News

High-Speed H.264/AVC Decoder edge264 Released, Implemented with C Vector Extensions

This article is a translation. Read the Japanese original

edge264 has evolved as a research project into new software engineering methodologies. Its defining characteristic is an approach that replaces hand-written assembly language code with C vector extensions. It is currently being gradually prepared for use in production environments, with a goal of release and API freeze by 2027.

Supported video profiles include specifications up to Level 6.2, such as Progressive High and MVC 3D. The runtime environments include macOS, Linux, Windows, and WebAssembly. Processor support depends on the GNU GCC or LLVM Clang compilers, with four backends available for selection. The final backend relies on Clang vector extensions to support all other little-endian CPUs.

The build system provides both a Makefile and CMakeLists.txt. By using the VARIANTS option, multiple builds can be bundled within a single library file. This allows the system to detect the host's ISA level at runtime and dispatch to the fastest implementation. This is designed for distribution packages that need to operate efficiently across a wide range of x86 CPUs.

The test suite includes custom verification tools. Verification was performed against compliance bitstream sets for AVCv1, FRExt, and MVC. Out of 224 files, 109 were decoded without errors, while the remainder failed due to the use of unsupported features.


Source: Edge264 – Minimalist, high-performance software decoder for H.264/AVC video (HN 160pt, 37 comments) (HN Search (backfill), 2025-10-02)