[][src]Enum gstreamer_video::VideoTransferFunction

#[non_exhaustive]pub enum VideoTransferFunction {
    Unknown,
    Gamma10,
    Gamma18,
    Gamma20,
    Gamma22,
    Bt709,
    Smpte240m,
    Srgb,
    Gamma28,
    Log100,
    Log316,
    Bt202012,
    Adobergb,
    Bt202010,
    Smpte2084,
    AribStdB67,
    Bt601,
    // some variants omitted
}

The video transfer function defines the formula for converting between non-linear RGB (R'G'B') and linear RGB

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Unknown

unknown transfer function

Gamma10

linear RGB, gamma 1.0 curve

Gamma18

Gamma 1.8 curve

Gamma20

Gamma 2.0 curve

Gamma22

Gamma 2.2 curve

Bt709

Gamma 2.2 curve with a linear segment in the lower range

Smpte240m

Gamma 2.2 curve with a linear segment in the lower range

Srgb

Gamma 2.4 curve with a linear segment in the lower range

Gamma28

Gamma 2.8 curve

Log100

Logarithmic transfer characteristic 100:1 range

Log316

Logarithmic transfer characteristic 316.22777:1 range

Bt202012

Gamma 2.2 curve with a linear segment in the lower range. Used for BT.2020 with 12 bits per component. Since: 1.6

Adobergb

Gamma 2.19921875. Since: 1.8

Bt202010

Rec. ITU-R BT.2020-2 with 10 bits per component. (functionally the same as the values GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT2020_12). Since: 1.18

Smpte2084

SMPTE ST 2084 for 10, 12, 14, and 16-bit systems. Known as perceptual quantization (PQ) Since: 1.18

AribStdB67

Association of Radio Industries and Businesses (ARIB) STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system Since: 1.18

Bt601

Implementations

impl VideoTransferFunction[src]

pub fn from_iso(iso: u32) -> Result<VideoTransferFunction, BoolError>[src]

pub fn to_iso(&self) -> u32[src]

pub fn is_equivalent(
    &self,
    from_bpp: u32,
    to_func: VideoTransferFunction,
    to_bpp: u32
) -> bool
[src]

Trait Implementations

impl Clone for VideoTransferFunction[src]

impl Copy for VideoTransferFunction[src]

impl Debug for VideoTransferFunction[src]

impl Eq for VideoTransferFunction[src]

impl<'a> FromValue<'a> for VideoTransferFunction[src]

impl<'a> FromValueOptional<'a> for VideoTransferFunction[src]

impl Hash for VideoTransferFunction[src]

impl Ord for VideoTransferFunction[src]

impl PartialEq<VideoTransferFunction> for VideoTransferFunction[src]

impl PartialOrd<VideoTransferFunction> for VideoTransferFunction[src]

impl SetValue for VideoTransferFunction[src]

impl StaticType for VideoTransferFunction[src]

impl StructuralEq for VideoTransferFunction[src]

impl StructuralPartialEq for VideoTransferFunction[src]

Auto Trait Implementations

impl RefUnwindSafe for VideoTransferFunction

impl Send for VideoTransferFunction

impl Sync for VideoTransferFunction

impl Unpin for VideoTransferFunction

impl UnwindSafe for VideoTransferFunction

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToSendValue for T where
    T: ToValue + SetValue + Send + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.