[−][src]Struct jpegxl_sys::JpegxlColorProfileSource
Specifies how the color profile information of the image can be retrieved, Either through ICC profile, or through JpegxlColorEncoding.
The following scenarios are possible:
- The ICC profile is accurate and the color encoding is invalid. Only the ICC profile may be requested.
- the ICC profile is inaccurate and the color encoding is valid. Both can be requested, but only the color encoding correctly specifies the color, the ICC profile is an approximation that can be used when only ICC profile is supported.
- Both are valid and accurate, any can be used equally well.
Example: for PQ or HLG color, JpegxlDecoderGetColorEncoding describes the transfer function more correctly and the ICC profile will not be accurate. On the other hand, there exist transfer functions that can only be described by an ICC profile, in that case icc_profile_accurate is JPEGXL_TRUE and color_encoding_valid is JPEGXL_FALSE.
Fields
icc_profile_accurate: c_int
If JPEGXL_TRUE, the ICC profile describes the image color encoding, once the ICC profile has been decoded. If JPEGXL_FALSE, the ICC profile is not accurate and a JpegxlDecoderGetColorEncoding must be used instead to accurately describe the color profile of the image. An ICC profile can still be requested, but it will only be an approximation.
color_encoding_valid: c_int
If JPEGXL_TRUE, JpegxlDecoderGetColorEncoding describes the image color encoding, once its information is available. If JPEGXL_FALSE, only the ICC profile can be used.
icc_profile_size: size_t
ICC profile size in bytes.
Trait Implementations
impl Clone for JpegxlColorProfileSource
[src]
fn clone(&self) -> JpegxlColorProfileSource
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for JpegxlColorProfileSource
[src]
impl Debug for JpegxlColorProfileSource
[src]
impl NewUninit for JpegxlColorProfileSource
[src]
fn new_uninit() -> MaybeUninit<Self> where
Self: Sized,
[src]
Self: Sized,
Auto Trait Implementations
impl RefUnwindSafe for JpegxlColorProfileSource
impl Send for JpegxlColorProfileSource
impl Sync for JpegxlColorProfileSource
impl Unpin for JpegxlColorProfileSource
impl UnwindSafe for JpegxlColorProfileSource
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>,