[−][src]Struct jpegxl_sys::JpegxlBasicInfo
Basic image information. This information is available from the file signature and first part of the codestream header.
Fields
have_container: c_int
Whether the codestream is embedded in the container format. If true, metadata information and extensions may be available in addition to the codestream.
signature_type: JpegxlSignatureType
Signature of the codestream.
xsize: u32
Width of the image in pixels, before applying orientation.
ysize: u32
Height of the image in pixels, before applying orientation.
bits_per_sample: u32
Original image color channel bit depth.
exponent_bits_per_sample: u32
Original image color channel floating point exponent bits, or 0 if they are unsigned integer. For example, if the original data is half-precision (binary16) floating point, bits_per_sample is 16 and exponent_bits_per_sample is 5, and so on for other floating point precisions.
intensity_target: f32
Upper bound on the intensity level present in the image in nits. For unsigned integer pixel encodings, this is the brightness of the largest representable value. The image does not necessarily contain a pixel actually this bright. An encoder is allowed to set 255 for SDR images without computing a histogram.
min_nits: f32
Lower bound on the intensity level present in the image. This may be loose, i.e. lower than the actual darkest pixel. When tone mapping, a decoder will map [min_nits, intensity_target] to the display range.
relative_to_max_display: c_int
See the description of relative_to_max_display.
linear_below: f32
The tone mapping will leave unchanged (linear mapping) any pixels whose brightness is strictly below this. The interpretation depends on relative_to_max_display. If true, this is a ratio [0, 1] of the maximum display brightness [nits], otherwise an absolute brightness [nits].
have_preview: c_int
Indicates a preview image exists near the beginning of the codestream. The preview itself or its dimensions are not included in the basic info.
have_animation: c_int
Indicates animation frames exist in the codestream. The animation information is not included in the basic info.
orientation: JpegxlOrientation
Image orientation, value 1-8 matching the values used by JEITA CP-3451C (Exif version 2.3).
num_extra_channels: u32
Number of additional image channels. Information of all the individual extra channels is not included in the basic info struct, except for the first alpha channel in the fields below. Information for other extra channels can be queried from the decoder at this point, however. TODO(lode): implement that feature
alpha_bits: u32
Bit depth of the encoded alpha channel, or 0 if there is no alpha channel.
alpha_exponent_bits: u32
Alpha channel floating point exponent bits, or 0 if they are unsigned integer.
alpha_premultiplied: c_int
Whether the alpha channel is premultiplied
Trait Implementations
impl Clone for JpegxlBasicInfo
[src]
fn clone(&self) -> JpegxlBasicInfo
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for JpegxlBasicInfo
[src]
impl Debug for JpegxlBasicInfo
[src]
impl NewUninit for JpegxlBasicInfo
[src]
fn new_uninit() -> MaybeUninit<Self> where
Self: Sized,
[src]
Self: Sized,
Auto Trait Implementations
impl RefUnwindSafe for JpegxlBasicInfo
impl Send for JpegxlBasicInfo
impl Sync for JpegxlBasicInfo
impl Unpin for JpegxlBasicInfo
impl UnwindSafe for JpegxlBasicInfo
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,