oximedia-dolbyvision
Dolby Vision RPU (Reference Processing Unit) metadata parser and writer for OxiMedia. Provides metadata-only support, respecting Dolby's intellectual property.
Part of the oximedia workspace — a comprehensive pure-Rust media processing framework.
Version: 0.1.7 — 2026-05-16 — 637 tests
Features
- RPU Parsing and Writing — Parse and generate Dolby Vision RPU metadata bitstreams
- Profile Support — Dolby Vision profiles 5, 7, 8, 8.1, 8.4
- Content Metadata Levels — Levels 1–11 (brightness, color, mastering display, etc.)
- Profile Conversion — Convert between compatible Dolby Vision profiles
- Scene Processing — Scene boundary detection and scene trim passes
- Shot Metadata — Shot-level and frame-level metadata extraction
- Tone Mapping — Tone mapping curve and enhancement layer representation
- Mastering Display — Mastering display metadata with primaries and luminance
- Target Display — Target display configuration and capabilities
- Ambient Metadata — Ambient viewing environment metadata
- XML Export — XML metadata export for delivery workflows
- Delivery Specification — Delivery spec validation for streaming/broadcast
- Display Configuration — Display configuration management
- Frame Analysis — Per-frame and level analysis
- Validation — Conformance validation for Dolby Vision compliance
- Optional serde — Feature-gated serde serialization/deserialization
Usage
Add to your Cargo.toml:
[]
= "0.1.7"
# With serde support:
= { = "0.1.7", = ["serde"] }
use ;
// Create new RPU for Profile 8.4
let rpu = new;
assert_eq!;
Feature Flags
| Feature | Description |
|---|---|
serde |
Serde serialization/deserialization for all metadata types |
API Overview
Core types:
DolbyVisionRpu— RPU metadata containerProfile— Dolby Vision profile enum (5, 7, 8, 8.1, 8.4)DolbyVisionError— Error typeLevel1Metadata–Level11Metadata— Content metadata levelsTrimPass,MetadataBlock— RPU structure typesTonemapParams,ReshapingLut,ColorVolumeLut— Tone mapping
Modules:
parser— RPU bitstream parser (private API)writer— RPU bitstream writer (private API)rpu— Core RPU data structures (private API)profiles— Profile-specific processingprofile_convert— Profile conversion between compatible profilestone_mapping— Tone mapping operationstonemap— Internal tone map implementation (private API)mastering— Mastering display metadatatarget_display— Target display configurationdisplay_config— Display configuration managementscene_trim— Scene trim pass handlingshot_boundary— Shot boundary detectionshot_metadata— Shot-level metadataframe_analysis— Per-frame analysislevel_analysis— Level-specific metadata analysislevel_mapping— Level mapping between profilesmapping_curve— Tone mapping curve representationmetadata_block— Metadata block typesdm_metadata— Display management metadatacm_analysis— Color management analysisenhancement— Enhancement layerambient_metadata— Ambient viewing metadatacompat— Compatibility helpersdelivery_spec— Delivery specification validationvalidation— Conformance validationxml_metadata— XML metadata exporttrim_passes— Trim pass processing
License
Apache-2.0 — Copyright 2024-2026 COOLJAPAN OU (Team Kitasan)