Enum gstreamer_video::VideoAFDValue[][src]

#[non_exhaustive]
pub enum VideoAFDValue {
    Unavailable,
    _169TopAligned,
    _149TopAligned,
    GreaterThan169,
    _43Full169Full,
    _43Full43Pillar,
    _169Letter169Full,
    _149Letter149Pillar,
    _43Full149Center,
    _169Letter149Center,
    _169Letter43Center,
    // some variants omitted
}
This is supported on crate feature v1_18 only.

Enumeration of the various values for Active Format Description (AFD)

AFD should be included in video user data whenever the rectangular picture area containing useful information does not extend to the full height or width of the coded frame. AFD data may also be included in user data when the rectangular picture area containing useful information extends to the full height and width of the coded frame.

For details, see Table 6.14 Active Format in:

ATSC Digital Television Standard: Part 4 – MPEG-2 Video System Characteristics

https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf

and Active Format Description in Complete list of AFD codes

https://en.wikipedia.org/wiki/Active_Format_DescriptionComplete_list_of_AFD_codes

and SMPTE ST2016-1

Notes:

  1. AFD 0 is undefined for ATSC and SMPTE ST2016-1, indicating that AFD data is not available: If Bar Data is not present, AFD ‘0000’ indicates that exact information is not available and the active image should be assumed to be the same as the coded frame. AFD ‘0000’. AFD ‘0000’ accompanied by Bar Data signals that the active image’s aspect ratio is narrower than 16:9, but is not 4:3 or 14:9. As the exact aspect ratio cannot be conveyed by AFD alone, wherever possible, AFD ‘0000’ should be accompanied by Bar Data to define the exact vertical or horizontal extent of the active image.
  2. AFD 0 is reserved for DVB/ETSI
  3. values 1, 5, 6, 7, and 12 are reserved for both ATSC and DVB/ETSI
  4. values 2 and 3 are not recommended for ATSC, but are valid for DVB/ETSI

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.
Unavailable

Unavailable (see note 0 below).

_169TopAligned
_149TopAligned
GreaterThan169

For 4:3 coded frame, letterbox image with an aspect ratio greater than 16:9, vertically centered in the coded frame. For 16:9 coded frame, letterbox image with an aspect ratio greater than 16:9.

_43Full169Full
_43Full43Pillar
_169Letter169Full
_149Letter149Pillar
_43Full149Center
_169Letter149Center
_169Letter43Center

Trait Implementations

impl Clone for VideoAFDValue[src]

fn clone(&self) -> VideoAFDValue[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 VideoAFDValue[src]

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

Formats the value using the given formatter. Read more

impl<'a> FromValue<'a> for VideoAFDValue[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 VideoAFDValue[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 VideoAFDValue[src]

fn cmp(&self, other: &VideoAFDValue) -> 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<VideoAFDValue> for VideoAFDValue[src]

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

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

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

This method tests for !=.

impl PartialOrd<VideoAFDValue> for VideoAFDValue[src]

fn partial_cmp(&self, other: &VideoAFDValue) -> 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 VideoAFDValue[src]

fn static_type() -> Type[src]

Returns the type identifier of Self.

impl ToValue for VideoAFDValue[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 VideoAFDValue[src]

type Type = Self

Type to get the Type from. Read more

impl Copy for VideoAFDValue[src]

impl Eq for VideoAFDValue[src]

impl StructuralEq for VideoAFDValue[src]

impl StructuralPartialEq for VideoAFDValue[src]

Auto Trait Implementations

impl RefUnwindSafe for VideoAFDValue

impl Send for VideoAFDValue

impl Sync for VideoAFDValue

impl Unpin for VideoAFDValue

impl UnwindSafe for VideoAFDValue

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.