Enum AVFrameSideDataType

Source
#[non_exhaustive]
#[repr(u32)]
pub enum AVFrameSideDataType {
Show 28 variants AV_FRAME_DATA_PANSCAN = 0, AV_FRAME_DATA_A53_CC = 1, AV_FRAME_DATA_STEREO3D = 2, AV_FRAME_DATA_MATRIXENCODING = 3, AV_FRAME_DATA_DOWNMIX_INFO = 4, AV_FRAME_DATA_REPLAYGAIN = 5, AV_FRAME_DATA_DISPLAYMATRIX = 6, AV_FRAME_DATA_AFD = 7, AV_FRAME_DATA_MOTION_VECTORS = 8, AV_FRAME_DATA_SKIP_SAMPLES = 9, AV_FRAME_DATA_AUDIO_SERVICE_TYPE = 10, AV_FRAME_DATA_MASTERING_DISPLAY_METADATA = 11, AV_FRAME_DATA_GOP_TIMECODE = 12, AV_FRAME_DATA_SPHERICAL = 13, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL = 14, AV_FRAME_DATA_ICC_PROFILE = 15, AV_FRAME_DATA_S12M_TIMECODE = 16, AV_FRAME_DATA_DYNAMIC_HDR_PLUS = 17, AV_FRAME_DATA_REGIONS_OF_INTEREST = 18, AV_FRAME_DATA_VIDEO_ENC_PARAMS = 19, AV_FRAME_DATA_SEI_UNREGISTERED = 20, AV_FRAME_DATA_FILM_GRAIN_PARAMS = 21, AV_FRAME_DATA_DETECTION_BBOXES = 22, AV_FRAME_DATA_DOVI_RPU_BUFFER = 23, AV_FRAME_DATA_DOVI_METADATA = 24, AV_FRAME_DATA_DYNAMIC_HDR_VIVID = 25, AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT = 26, AV_FRAME_DATA_VIDEO_HINT = 27,
}
Expand description

@defgroup lavu_frame AVFrame @ingroup lavu_data

@{ AVFrame is an abstraction for reference-counted raw multimedia data.

Variants (Non-exhaustive)§

This enum is marked as 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.
§

AV_FRAME_DATA_PANSCAN = 0

The data is the AVPanScan struct defined in libavcodec.

§

AV_FRAME_DATA_A53_CC = 1

ATSC A53 Part 4 Closed Captions. A53 CC bitstream is stored as uint8_t in AVFrameSideData.data. The number of bytes of CC data is AVFrameSideData.size.

§

AV_FRAME_DATA_STEREO3D = 2

Stereoscopic 3d metadata. The data is the AVStereo3D struct defined in libavutil/stereo3d.h.

§

AV_FRAME_DATA_MATRIXENCODING = 3

The data is the AVMatrixEncoding enum defined in libavutil/channel_layout.h.

§

AV_FRAME_DATA_DOWNMIX_INFO = 4

Metadata relevant to a downmix procedure. The data is the AVDownmixInfo struct defined in libavutil/downmix_info.h.

§

AV_FRAME_DATA_REPLAYGAIN = 5

ReplayGain information in the form of the AVReplayGain struct.

§

AV_FRAME_DATA_DISPLAYMATRIX = 6

This side data contains a 3x3 transformation matrix describing an affine transformation that needs to be applied to the frame for correct presentation.

See libavutil/display.h for a detailed description of the data.

§

AV_FRAME_DATA_AFD = 7

Active Format Description data consisting of a single byte as specified in ETSI TS 101 154 using AVActiveFormatDescription enum.

§

AV_FRAME_DATA_MOTION_VECTORS = 8

Motion vectors exported by some codecs (on demand through the export_mvs flag set in the libavcodec AVCodecContext flags2 option). The data is the AVMotionVector struct defined in libavutil/motion_vector.h.

§

AV_FRAME_DATA_SKIP_SAMPLES = 9

Recommmends skipping the specified number of samples. This is exported only if the “skip_manual” AVOption is set in libavcodec. This has the same format as AV_PKT_DATA_SKIP_SAMPLES. @code u32le number of samples to skip from start of this packet u32le number of samples to skip from end of this packet u8 reason for start skip u8 reason for end skip (0=padding silence, 1=convergence) @endcode

§

AV_FRAME_DATA_AUDIO_SERVICE_TYPE = 10

This side data must be associated with an audio frame and corresponds to enum AVAudioServiceType defined in avcodec.h.

§

AV_FRAME_DATA_MASTERING_DISPLAY_METADATA = 11

Mastering display metadata associated with a video frame. The payload is an AVMasteringDisplayMetadata type and contains information about the mastering display color volume.

§

AV_FRAME_DATA_GOP_TIMECODE = 12

The GOP timecode in 25 bit timecode format. Data format is 64-bit integer. This is set on the first frame of a GOP that has a temporal reference of 0.

§

AV_FRAME_DATA_SPHERICAL = 13

The data represents the AVSphericalMapping structure defined in libavutil/spherical.h.

§

AV_FRAME_DATA_CONTENT_LIGHT_LEVEL = 14

Content light level (based on CTA-861.3). This payload contains data in the form of the AVContentLightMetadata struct.

§

AV_FRAME_DATA_ICC_PROFILE = 15

The data contains an ICC profile as an opaque octet buffer following the format described by ISO 15076-1 with an optional name defined in the metadata key entry “name”.

§

AV_FRAME_DATA_S12M_TIMECODE = 16

Timecode which conforms to SMPTE ST 12-1. The data is an array of 4 uint32_t where the first uint32_t describes how many (1-3) of the other timecodes are used. The timecode format is described in the documentation of av_timecode_get_smpte_from_framenum() function in libavutil/timecode.h.

§

AV_FRAME_DATA_DYNAMIC_HDR_PLUS = 17

HDR dynamic metadata associated with a video frame. The payload is an AVDynamicHDRPlus type and contains information for color volume transform - application 4 of SMPTE 2094-40:2016 standard.

§

AV_FRAME_DATA_REGIONS_OF_INTEREST = 18

Regions Of Interest, the data is an array of AVRegionOfInterest type, the number of array element is implied by AVFrameSideData.size / AVRegionOfInterest.self_size.

§

AV_FRAME_DATA_VIDEO_ENC_PARAMS = 19

Encoding parameters for a video frame, as described by AVVideoEncParams.

§

AV_FRAME_DATA_SEI_UNREGISTERED = 20

User data unregistered metadata associated with a video frame. This is the H.26[45] UDU SEI message, and shouldn’t be used for any other purpose The data is stored as uint8_t in AVFrameSideData.data which is 16 bytes of uuid_iso_iec_11578 followed by AVFrameSideData.size - 16 bytes of user_data_payload_byte.

§

AV_FRAME_DATA_FILM_GRAIN_PARAMS = 21

Film grain parameters for a frame, described by AVFilmGrainParams. Must be present for every frame which should have film grain applied.

§

AV_FRAME_DATA_DETECTION_BBOXES = 22

Bounding boxes for object detection and classification, as described by AVDetectionBBoxHeader.

§

AV_FRAME_DATA_DOVI_RPU_BUFFER = 23

Dolby Vision RPU raw data, suitable for passing to x265 or other libraries. Array of uint8_t, with NAL emulation bytes intact.

§

AV_FRAME_DATA_DOVI_METADATA = 24

Parsed Dolby Vision metadata, suitable for passing to a software implementation. The payload is the AVDOVIMetadata struct defined in libavutil/dovi_meta.h.

§

AV_FRAME_DATA_DYNAMIC_HDR_VIVID = 25

HDR Vivid dynamic metadata associated with a video frame. The payload is an AVDynamicHDRVivid type and contains information for color volume transform - CUVA 005.1-2021.

§

AV_FRAME_DATA_AMBIENT_VIEWING_ENVIRONMENT = 26

Ambient viewing environment metadata, as defined by H.274.

§

AV_FRAME_DATA_VIDEO_HINT = 27

Provide encoder-specific hinting information about changed/unchanged portions of a frame. It can be used to pass information about which macroblocks can be skipped because they didn’t change from the corresponding ones in the previous frame. This could be useful for applications which know this information in advance to speed up encoding.

Trait Implementations§

Source§

impl Clone for AVFrameSideDataType

Source§

fn clone(&self) -> AVFrameSideDataType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AVFrameSideDataType

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Hash for AVFrameSideDataType

Source§

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

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

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

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

impl PartialEq for AVFrameSideDataType

Source§

fn eq(&self, other: &AVFrameSideDataType) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for AVFrameSideDataType

Source§

impl Eq for AVFrameSideDataType

Source§

impl StructuralPartialEq for AVFrameSideDataType

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.