pub struct GainMapBundle {
pub metadata: Vec<u8>,
pub color_encoding: Option<Vec<u8>>,
pub alt_icc_compressed: Option<Vec<u8>>,
pub gain_map_codestream: Vec<u8>,
}Expand description
Parsed JXL gain map bundle from a jhgm container box.
The bundle contains the ISO 21496-1 metadata, an optional JXL ColorEncoding, an optional Brotli-compressed ICC profile for the alternate rendition, and the bare JXL codestream of the gain map image.
Fields§
§metadata: Vec<u8>ISO 21496-1 binary metadata blob (unparsed — caller parses with ultrahdr-core).
color_encoding: Option<Vec<u8>>JXL ColorEncoding for the gain map (optional, raw bytes — JXL-native bit-packed).
alt_icc_compressed: Option<Vec<u8>>Brotli-compressed ICC profile for alternate rendition (optional, not decompressed).
gain_map_codestream: Vec<u8>Bare JXL codestream of the gain map image (no container wrapper).
Implementations§
Source§impl GainMapBundle
impl GainMapBundle
Sourcepub fn parse(data: &[u8]) -> Result<Self>
pub fn parse(data: &[u8]) -> Result<Self>
Parse a gain map bundle from the raw payload of a jhgm box.
Wire format:
jhgm_version: u8 // must be 0x00
gain_map_metadata_size: u16 BE // size of ISO 21496-1 metadata
gain_map_metadata: [u8; N] // ISO 21496-1 binary metadata
color_encoding_size: u8 // 0 = absent; else byte count
color_encoding: [u8; M] // JXL ColorEncoding (optional)
alt_icc_size: u32 BE // size of Brotli-compressed ICC
alt_icc: [u8; K] // Brotli-compressed ICC (optional)
gain_map: [u8; *] // remaining bytes = bare JXL codestreamTrait Implementations§
Source§impl Clone for GainMapBundle
impl Clone for GainMapBundle
Source§fn clone(&self) -> GainMapBundle
fn clone(&self) -> GainMapBundle
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GainMapBundle
impl Debug for GainMapBundle
Source§impl PartialEq for GainMapBundle
impl PartialEq for GainMapBundle
impl Eq for GainMapBundle
impl StructuralPartialEq for GainMapBundle
Auto Trait Implementations§
impl Freeze for GainMapBundle
impl RefUnwindSafe for GainMapBundle
impl Send for GainMapBundle
impl Sync for GainMapBundle
impl Unpin for GainMapBundle
impl UnsafeUnpin for GainMapBundle
impl UnwindSafe for GainMapBundle
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more