Memory-safe Video Decoders in Rust
Implementation of MPEG-2 and H.264 video decoders
Internet video streaming entertainment and videoconferencing systems rely on implementations of video and audio codecs that process a stream from a remote party. Mistakes in the implementation can lead to crashes or security vulnerabilities in the receivers. The memory-safe Rust language can avoid many of the common problems that cause these failures. This project will develop memory-safe sans-io standalone video decoder implementations for the widely-used MPEG-2 and H.264 video codecs in pure Rust, plus associated GStreamer elements, also written in Rust. For MPEG-2, both Simple Profile and Main Profile will be implemented; for H.264, the implementation will initially support Constrained Baseline Profile.
Run by Centricular Ltd
This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).