Expand description
Dolby Vision RPU (Reference Processing Unit) metadata parser and writer.
This crate provides metadata-only Dolby Vision support, respecting Dolby’s intellectual property. It can parse and generate RPU metadata structures but does not implement proprietary encoding algorithms.
§Supported Profiles
- Profile 5: IPT-PQ, backward compatible with HDR10
- Profile 7: MEL (Metadata Enhancement Layer) + BL (Base Layer), single track
- Profile 8: BL only, backward compatible with HDR10
- Profile 8.1: Low-latency variant of Profile 8
- Profile 8.4: HLG-based, backward compatible with HLG
§Examples
use oximedia_dolbyvision::{DolbyVisionRpu, Profile};
// Create new RPU for Profile 8.4
let rpu = DolbyVisionRpu::new(Profile::Profile8_4);
assert_eq!(rpu.profile, Profile::Profile8_4);Modules§
- ambient_
metadata - Ambient viewing environment metadata for Dolby Vision.
- cm_
analysis - Content mapping analysis for Dolby Vision
- compat
- Dolby Vision backward compatibility signaling.
- delivery_
spec - Dolby Vision delivery specification types and validation.
- display_
config - Dolby Vision display configuration profiles
- dm_
metadata - Dolby Vision display management metadata
- dv_
xml_ metadata - Dolby Vision XML metadata format: serialization, parsing, and validation.
- enhancement
- Dolby Vision enhancement layer structures and utilities.
- frame_
analysis - Frame-level RPU analysis and statistics for Dolby Vision.
- hlg_
constants - HLG (Hybrid Log-Gamma) OETF constants from ITU-R BT.2100.
- ipt_pq
- IPT-PQ color space transforms used in Dolby Vision Profile 5.
- level_
analysis - Dolby Vision level analysis – parses and reports which DV metadata levels are present in an RPU stream and validates their size requirements.
- level_
mapping - Dolby Vision level-based luminance mapping
- mapping_
curve - Tone mapping curve generation and interpolation for Dolby Vision.
- mastering
- Dolby Vision mastering display metadata.
- metadata_
block - Dolby Vision metadata block parsing and generation.
- metadata_
validator - Dolby Vision metadata validation.
- pq_
constants - PQ (Perceptual Quantizer) EOTF constants from SMPTE ST 2084.
- profile8
- Dolby Vision Profile 8 encoder.
- profile_
convert - Dolby Vision profile conversion utilities.
- profiles
- Dolby Vision profile management
- scene_
trim - Dolby Vision scene-level trim metadata
- shot_
boundary - Dolby Vision shot boundary detection and classification.
- shot_
metadata - Dolby Vision shot-level metadata management.
- shot_
metadata_ ext - Extended per-shot Dolby Vision metadata with luminance and color statistics.
- target_
display - Dolby Vision target display characterization.
- tone_
mapping - Dolby Vision tone mapping parameters.
- trim_
passes - Dolby Vision trim-pass management.
- validation
- Dolby Vision stream validation.
- xml_
metadata - Dolby Vision XML metadata structures (DolbyVision_RPU.xml / metadata sidecars).
Structs§
- Bilateral
Grid - Bilateral grid for edge-preserving tone mapping.
- Change
Flags - Change flags indicating which metadata blocks have changed.
- Color
Matrix - Color transformation matrix (3x3).
- Color
Volume Lut - 3D LUT for color volume transform.
- Color
Volume Transform - Color volume transform parameters.
- Compact
RpuHeader - Compact RPU header carrying transport and spatial flags.
- Content
Metadata Descriptor - CMD (Content Metadata Descriptor) for extended content information.
- Dolby
Vision Rpu - Main Dolby Vision RPU (Reference Processing Unit) structure.
- Extension
Block - Extension block for future use.
- HueVector
- Hue adjustment vector.
- Level1
Metadata - Level 1 metadata: Frame-level metadata.
- Level2
Metadata - Level 2 metadata: Trim passes for target display adaptation.
- Level3
Metadata - Level 3 metadata: Reserved for future use.
- Level4
Metadata - Level 4 metadata: Global dimming data.
- Level5
Metadata - Level 5 metadata: Active area (image area within frame).
- Level6
Metadata - Level 6 metadata: Fallback metadata for non-Dolby Vision displays.
- Level7
Metadata - Level 7 metadata: Source display color volume.
- Level8
Metadata - Level 8 metadata: Target display characteristics.
- Level9
Metadata - Level 9 metadata: Source display characteristics.
- Level10
Metadata - Level 10 metadata: Reserved for future use.
- Level11
Metadata - Level 11 metadata: Content type and description.
- Metadata
Block - Metadata block for generic extension.
- NlqParams
- NLQ (Non-Linear Quantization) parameters.
- Profile5
Data - Profile-specific RPU data for Profile 5.
- Profile7
Data - Profile-specific RPU data for Profile 7.
- Profile8
Data - Profile-specific RPU data for Profile 8.
- Profile8_
1Data - Profile-specific RPU data for Profile 8.1.
- Profile8_
4Data - Profile-specific RPU data for Profile 8.4.
- Reshaping
Curve - Reshaping curve for tone mapping.
- Reshaping
Lut - Reshaping LUT (Look-Up Table) for tone mapping.
- RpuHeader
- RPU header containing format and configuration information.
- RpuPayload
- RPU payload data accompanying a
CompactRpuHeader. - Saturation
Vector - Saturation adjustment vector.
- Tonemap
Params - Tone mapping parameters.
- Trim
Pass - Trim pass for display adaptation.
- VdrDm
Data - VDR DM (Vizio Display Management) data.
- VdrSeq
Info - VDR (Vizio Display Management) sequence information.
Enums§
- Colorimetry
Mode - Colorimetry encoding mode for the RPU data.
- Content
Type - Content type classification.
- Dolby
Vision Error - Errors that can occur during Dolby Vision RPU processing.
- Eotf
- EOTF (Electro-Optical Transfer Function) type.
- Mapping
Method - Mapping method for tone mapping.
- Profile
- Dolby Vision profile identifier.
- RpuType
- RPU transport container type.
Functions§
- apply_
dolbyvision_ tonemap - Apply Dolby Vision tone mapping to RGB pixel data.
- apply_
eotf - Apply EOTF (Electro-Optical Transfer Function).
- apply_
inverse_ eotf - Apply inverse EOTF (OETF - Opto-Electronic Transfer Function).
- bt1886_
to_ linear - Convert BT.1886 gamma signal to linear light.
- hlg_
to_ linear - Convert HLG signal (0-1) to linear light (0-1).
- linear_
to_ bt1886 - Convert linear light to BT.1886 gamma signal.
- linear_
to_ hlg - Convert linear light (0-1) to HLG signal (0-1).
- linear_
to_ pq - Convert linear light (0-1) to PQ code value (0-4095).
- parse_
se - Parse variable-length signed integer (Exp-Golomb coding).
- parse_
ue - Parse variable-length unsigned integer (Exp-Golomb coding).
- pq_
to_ linear - Convert PQ code value (0-4095) to linear light (0-1).
- write_
se - Write variable-length signed integer (Exp-Golomb coding).
- write_
ue - Write variable-length unsigned integer (Exp-Golomb coding).
Type Aliases§
- Result
- Result type for Dolby Vision operations.