#[non_exhaustive]pub enum Profile {
Rec709,
Hdr,
DjiDlog,
DjiDlogVivid,
DjiDlogM,
DjiDlogMVivid,
CanonClog3,
AppleLog,
}Expand description
A source’s camera colour profile.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Rec709
Display-referred SDR: honour the tags.
Hdr
HLG / PQ / Dolby Vision or wide-gamut SDR: libplacebo tone and gamut mapping.
DjiDlog
DJI D-Log / D-Gamut (Osmo Pocket 4) through DJI’s neutral Rec.709 LUT, else analytic.
DjiDlogVivid
DJI D-Log through DJI’s vivid Rec.709 LUT.
DjiDlogM
DJI D-Log M (Osmo Pocket 3) through DJI’s neutral Rec.709 LUT.
DjiDlogMVivid
DJI D-Log M through DJI’s vivid Rec.709 LUT.
CanonClog3
Canon Log 3 (Cinema Gamut).
AppleLog
Apple Log (BT.2020).
Implementations§
Source§impl Profile
impl Profile
Sourcepub fn from_picture(p: PictureProfile) -> Option<Self>
pub fn from_picture(p: PictureProfile) -> Option<Self>
The camera profile for a container-level picture profile (crate::profile); None
where ffcine has none yet (D-Log2, unknown).
Sourcepub fn detect_file(info: &MediaInfo) -> Self
pub fn detect_file(info: &MediaInfo) -> Self
The profile for a probed file: crate::profile::detect on its ISO BMFF metadata (DJI’s
CAM meta colour mode, Canon and Apple tags; what the ingest catalog records) when that is
at least medium confidence, else Profile::detect on the probe.
Sourcepub fn camera_lut(self, dirs: &[PathBuf]) -> Result<Option<CameraLut>>
pub fn camera_lut(self, dirs: &[PathBuf]) -> Result<Option<CameraLut>>
The camera LUT for this profile, None for profiles libplacebo handles from the tags.
Vendor files are searched in dirs (see lut_dirs); Apple Log and Canon Log 3 fall
back to analytic LUTs, D-Log M has no published curve and needs DJI’s file.
Sourcepub fn camera_lut_hdr(self, peak: f64) -> Result<Option<CameraLut>>
pub fn camera_lut_hdr(self, peak: f64) -> Result<Option<CameraLut>>
The camera LUT for an HDR deliverable: log -> BT.2020 PQ, mastered to peak cd/m², from
the analytic curves; vendor LUTs only reach Rec.709. None for
profiles libplacebo maps from the tags; an error for D-Log M (no published curve).
Sourcepub fn vendor_names(self) -> &'static [&'static str]
pub fn vendor_names(self) -> &'static [&'static str]
File names a vendor LUT for this profile may have in a LUT dir, preferred first.
Trait Implementations§
impl Copy for Profile
impl Eq for Profile
impl StructuralPartialEq for Profile
Auto Trait Implementations§
impl Forget for Profile
impl Freeze for Profile
impl RefUnwindSafe for Profile
impl Send for Profile
impl Sync for Profile
impl Unpin for Profile
impl UnsafeUnpin for Profile
impl UnwindSafe for Profile
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.