Skip to main content

Crate oximedia_dolbyvision

Crate oximedia_dolbyvision 

Source
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§

BilateralGrid
Bilateral grid for edge-preserving tone mapping.
ChangeFlags
Change flags indicating which metadata blocks have changed.
ColorMatrix
Color transformation matrix (3x3).
ColorVolumeLut
3D LUT for color volume transform.
ColorVolumeTransform
Color volume transform parameters.
CompactRpuHeader
Compact RPU header carrying transport and spatial flags.
ContentMetadataDescriptor
CMD (Content Metadata Descriptor) for extended content information.
DolbyVisionRpu
Main Dolby Vision RPU (Reference Processing Unit) structure.
ExtensionBlock
Extension block for future use.
HueVector
Hue adjustment vector.
Level1Metadata
Level 1 metadata: Frame-level metadata.
Level2Metadata
Level 2 metadata: Trim passes for target display adaptation.
Level3Metadata
Level 3 metadata: Reserved for future use.
Level4Metadata
Level 4 metadata: Global dimming data.
Level5Metadata
Level 5 metadata: Active area (image area within frame).
Level6Metadata
Level 6 metadata: Fallback metadata for non-Dolby Vision displays.
Level7Metadata
Level 7 metadata: Source display color volume.
Level8Metadata
Level 8 metadata: Target display characteristics.
Level9Metadata
Level 9 metadata: Source display characteristics.
Level10Metadata
Level 10 metadata: Reserved for future use.
Level11Metadata
Level 11 metadata: Content type and description.
MetadataBlock
Metadata block for generic extension.
NlqParams
NLQ (Non-Linear Quantization) parameters.
Profile5Data
Profile-specific RPU data for Profile 5.
Profile7Data
Profile-specific RPU data for Profile 7.
Profile8Data
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.
ReshapingCurve
Reshaping curve for tone mapping.
ReshapingLut
Reshaping LUT (Look-Up Table) for tone mapping.
RpuHeader
RPU header containing format and configuration information.
RpuPayload
RPU payload data accompanying a CompactRpuHeader.
SaturationVector
Saturation adjustment vector.
TonemapParams
Tone mapping parameters.
TrimPass
Trim pass for display adaptation.
VdrDmData
VDR DM (Vizio Display Management) data.
VdrSeqInfo
VDR (Vizio Display Management) sequence information.

Enums§

ColorimetryMode
Colorimetry encoding mode for the RPU data.
ContentType
Content type classification.
DolbyVisionError
Errors that can occur during Dolby Vision RPU processing.
Eotf
EOTF (Electro-Optical Transfer Function) type.
MappingMethod
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.