$ v_frame

v0.5.2

Video Frame data structures, originally part of rav1e

Downloads: 24.1M
Recent: 7.2M
Versions: 24
Updated: April 17, 2026

Latest Update Summary

Crate

Name: v_frame New version: 0.4.0 Release date: 2026-01-05T19:31:36.736893Z

Crate readme

Short description A Rust library providing efficient data structures and utilities for handling YUV video frames and planes.

Long description v_frame is a Rust library that offers data structures and utilities to efficiently manage YUV video frames and planes. It supports type-safe pixel handling for both 8-bit and high bit-depth pixels and allows flexible plane structures with memory layouts optimized for SIMD operations. The library is compatible with various chroma formats and includes a builder pattern API. It supports WebAssembly environments and features zero-copy iterators for efficient pixel processing.

Features • Type-safe pixel handling • Flexible plane structure • Multiple chroma formats • Builder pattern API • SIMD-friendly alignment • WebAssembly support • Zero-copy iterators

Code Examples Add to Cargo.toml

 [dependencies]
v_frame = "0.4"

Basic usage

 let frame = FrameBuilder::new(
    NonZeroUsize::new(1920).unwrap(),
    NonZeroUsize::new(1080).unwrap(),
    ChromaSubsampling::Yuv420,
    NonZeroU8::new(8).unwrap(),
)
.build::<u8>()
.unwrap();

Creating a Grayscale Frame

 let frame = FrameBuilder::new(
    NonZeroUsize::new(1280).unwrap(),
    NonZeroUsize::new(720).unwrap(),
    ChromaSubsampling::Monochrome,
    NonZeroU8::new(8).unwrap(),
)
.build::<u8>()
.unwrap();

Linkshttps://docs.rs/v_framehttps://crates.io/crates/v_framehttps://github.com/rust-av/v_frame/blob/main/LICENSE

Release info

Release version: N/A

Release description N/A

Code Examples N/A

Patch update: 0.5.1 → 0.5.2

$ DOWNLOADS TREND

12.1M24.1M

$ VERSION HISTORY

v0.5.2April 17, 2026
v0.5.1February 27, 2026
v0.5.0January 7, 2026
v0.4.2January 7, 2026
v0.4.1January 6, 2026
v0.4.0January 5, 2026
v0.3.9June 9, 2025

$ LINKS

$ INSTALL

cargo add v_frame

Or add to Cargo.toml: v_frame = "0.5.2"