Enum gstreamer_video::VideoTransferFunction[][src]

#[non_exhaustive]
pub enum VideoTransferFunction {
Show variants 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, also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM / ITU-R BT1361

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. IEC 61966-2-1 (sRGB or sYCC)

Gamma28

Gamma 2.8 curve, also ITU-R BT470BG

Log100

Logarithmic transfer characteristic 100:1 range

Log316

Logarithmic transfer characteristic 316.22777:1 range (100 * sqrt(10) : 1)

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
This is supported on crate feature v1_18 only.

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_BT601). Since: 1.18

Smpte2084
This is supported on crate feature v1_18 only.

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

AribStdB67
This is supported on crate feature v1_18 only.

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

Bt601
This is supported on crate feature v1_18 only.

also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC

Implementations

impl VideoTransferFunction[src]

pub fn from_iso(value: u32) -> VideoTransferFunction[src]

This is supported on crate feature v1_18 only.

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

This is supported on crate feature v1_18 only.

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

This is supported on crate feature v1_18 only.

Trait Implementations

impl Clone for VideoTransferFunction[src]

fn clone(&self) -> VideoTransferFunction[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for VideoTransferFunction[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

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

type Checker = GenericValueTypeChecker<Self>

Value type checker.

unsafe fn from_value(value: &'a Value) -> Self[src]

Get the contained value from a Value. Read more

impl Hash for VideoTransferFunction[src]

fn hash<__H: Hasher>(&self, state: &mut __H)[src]

Feeds this value into the given Hasher. Read more

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given Hasher. Read more

impl Ord for VideoTransferFunction[src]

fn cmp(&self, other: &VideoTransferFunction) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl PartialEq<VideoTransferFunction> for VideoTransferFunction[src]

fn eq(&self, other: &VideoTransferFunction) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &VideoTransferFunction) -> bool[src]

This method tests for !=.

impl PartialOrd<VideoTransferFunction> for VideoTransferFunction[src]

fn partial_cmp(&self, other: &VideoTransferFunction) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl StaticType for VideoTransferFunction[src]

fn static_type() -> Type[src]

Returns the type identifier of Self.

impl ToValue for VideoTransferFunction[src]

fn to_value(&self) -> Value[src]

Convert a value to a Value.

fn value_type(&self) -> Type[src]

Returns the type identifer of self. Read more

impl ValueType for VideoTransferFunction[src]

type Type = Self

Type to get the Type from. Read more

impl Copy for VideoTransferFunction[src]

impl Eq 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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

pub fn to_send_value(&self) -> SendValue[src]

Returns a SendValue clone of self.

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.