Struct mp4ra_rust::SampleEntryCode

source ·
pub struct SampleEntryCode(pub FourCC);
Expand description

Codes identifying sample entries registered with ISO.

The handler() method will give you the code for the handler specified for this kind of sample entry, if a single handler is defined for it by MP4RA.

For example, to test if the sample entry is audio or video,

use mp4ra_rust::HandlerCode;

let sample_entry1 = SampleEntryCode::AVC1;
assert_eq!(sample_entry1.handler(), Some(HandlerCode::VIDE));

let sample_entry2 = SampleEntryCode::MP4A;
assert_eq!(sample_entry2.handler(), Some(HandlerCode::SOUN));

See also,

Tuple Fields§

§0: FourCC

Implementations§

§

impl SampleEntryCode

pub fn handler(&self) -> Option<HandlerCode>

Return the identifier of a handler for this type of sample entry, if a single handler type is defined. For those sample entry types where MP4RA notes there are ‘various’ handlers, this method will return None

§

impl SampleEntryCode

pub const TWO_DCC: SampleEntryCode = _

2D cartesian coordinates

FourCC: 2dcc

Specification: Metrics

pub const THREE_GLO: SampleEntryCode = _

3GPP Location

FourCC: 3glo

Specification: 3GPP

pub const THREE_GOR: SampleEntryCode = _

3GPP Orientation

FourCC: 3gor

Specification: 3GPP

pub const THREE_GVO: SampleEntryCode = _

3GPP Video Orientation

FourCC: 3gvo

Specification: 3GPP

pub const A3D1: SampleEntryCode = _

3D-AVC track with 3D-AVC NAL units only

FourCC: a3d1

Specification: NALu Video

pub const A3D2: SampleEntryCode = _

3D-AVC track with 3D-AVC NAL units only

FourCC: a3d2

Specification: NALu Video

pub const A3D3: SampleEntryCode = _

3D-AVC track with 3D-AVC NAL units only

FourCC: a3d3

Specification: NALu Video

pub const A3D4: SampleEntryCode = _

3D-AVC track with 3D-AVC NAL units only

FourCC: a3d4

Specification: NALu Video

pub const A3DS: SampleEntryCode = _

Auro-Cx 3D audio

FourCC: a3ds

Specification: Auro

pub const AC_3: SampleEntryCode = _

AC-3 audio

FourCC: ac-3

Specification: ETSI AC-3

pub const AC_4: SampleEntryCode = _

AC-4 audio

FourCC: ac-4

Specification: ETSI AC-4

pub const ALAC: SampleEntryCode = _

Apple lossless audio codec

FourCC: alac

Specification: Apple

pub const ALAW: SampleEntryCode = _

a-Law

FourCC: alaw

Specification: QT

pub const AV01: SampleEntryCode = _

AOM Video Codec

FourCC: av01

Specification: AV1-ISOBMFF

pub const AVC1: SampleEntryCode = _

Advanced Video Coding

FourCC: avc1

Specification: NALu Video

pub const AVC2: SampleEntryCode = _

Advanced Video Coding

FourCC: avc2

Specification: NALu Video

pub const AVC3: SampleEntryCode = _

Advanced Video Coding

FourCC: avc3

Specification: NALu Video

pub const AVC4: SampleEntryCode = _

Advanced Video Coding

FourCC: avc4

Specification: NALu Video

pub const AVCP: SampleEntryCode = _

Advanced Video Coding Parameters

FourCC: avcp

Specification: NALu Video

pub const AVST: SampleEntryCode = _

2nd Generation Audio Video Coding Standard of China (AVS Two)

FourCC: avst

Specification: Avs2

pub const AVS3: SampleEntryCode = _

3nd Generation Audio Video Coding Standard of China

FourCC: avs3

Specification: Avs3

pub const CAMM: SampleEntryCode = _

Camera motion metadata track

FourCC: camm

Specification: CamMotion

pub const DAV1: SampleEntryCode = _

AV1-related Dolby Vision consistent with av01

FourCC: dav1

Specification: Dolby Vision

pub const DRA1: SampleEntryCode = _

DRA Audio

FourCC: dra1

Specification: DRA

pub const DRAC: SampleEntryCode = _

Dirac Video Coder

FourCC: drac

Specification: Dirac

pub const DTS_PLUS: SampleEntryCode = _

Enhancement layer for DTS layered audio

FourCC: dts+

Specification: DTS

pub const DTS_: SampleEntryCode = _

Dependent base layer for DTS layered audio

FourCC: dts-

Specification: DTS

pub const DTSC: SampleEntryCode = _

Core Substream

FourCC: dtsc

Specification: DTS-HD

pub const DTSE: SampleEntryCode = _

Extension Substream containing only LBR

FourCC: dtse

Specification: DTS-HD

pub const DTSH: SampleEntryCode = _

Core Substream + Extension Substream

FourCC: dtsh

Specification: DTS-HD

pub const DTSL: SampleEntryCode = _

Extension Substream containing only XLL

FourCC: dtsl

Specification: DTS-HD

pub const DTSX: SampleEntryCode = _

DTS-UHD profile 2

FourCC: dtsx

Specification: DTS-UHD

pub const DTSY: SampleEntryCode = _

DTS-UHD profile 3 or higher

FourCC: dtsy

Specification: DTS-UHD

pub const DVA1: SampleEntryCode = _

AVC-based Dolby Vision derived from avc1

FourCC: dva1

Specification: Dolby Vision

pub const DVAV: SampleEntryCode = _

AVC-based Dolby Vision derived from avc3

FourCC: dvav

Specification: Dolby Vision

pub const DVH1: SampleEntryCode = _

HEVC-based Dolby Vision derived from hvc1

FourCC: dvh1

Specification: Dolby Vision

pub const DVHE: SampleEntryCode = _

HEVC-based Dolby Vision derived from hev1

FourCC: dvhe

Specification: Dolby Vision

pub const EC_3: SampleEntryCode = _

Enhanced AC-3 audio

FourCC: ec-3

Specification: ETSI AC-3

pub const EC_PLUS_3: SampleEntryCode = _

withdrawn, unused, do not use (was enhanced AC-3 audio with JOC)

FourCC: ec+3

Specification: Deprecated

pub const ENCA: SampleEntryCode = _

Encrypted/Protected audio

FourCC: enca

Specification: ISO

pub const ENCF: SampleEntryCode = _

Encrypted/Protected font

FourCC: encf

Specification: ISO

pub const ENCM: SampleEntryCode = _

Encrypted/Protected metadata

FourCC: encm

Specification: ISO

pub const ENCS: SampleEntryCode = _

Encrypted Systems stream

FourCC: encs

Specification: ISO

pub const ENCT: SampleEntryCode = _

Encrypted Text

FourCC: enct

Specification: ISO

pub const ENCV: SampleEntryCode = _

Encrypted/protected video

FourCC: encv

Specification: ISO

pub const FDP: SampleEntryCode = _

File delivery hints

FourCC: fdp

Specification: ISO

pub const G719: SampleEntryCode = _

ITU-T Recommendation G.719 (2008)

FourCC: g719

Specification: ITU G.719

pub const G726: SampleEntryCode = _

ITU-T Recommendation G.726 (1990)

FourCC: g726

Specification: SDV

pub const HEV1: SampleEntryCode = _

High Efficiency Video Coding

FourCC: hev1

Specification: NALu Video

pub const HEV2: SampleEntryCode = _

High Efficiency Video Coding

FourCC: hev2

Specification: NALu Video

pub const HVC1: SampleEntryCode = _

High Efficiency Video Coding

FourCC: hvc1

Specification: NALu Video

pub const HVC2: SampleEntryCode = _

High Efficiency Video Coding

FourCC: hvc2

Specification: NALu Video

pub const HVT1: SampleEntryCode = _

HEVC tile tracks

FourCC: hvt1

Specification: NALu Video

pub const ICPV: SampleEntryCode = _

Incomplete video

FourCC: icpv

Specification: ISO

pub const IXSE: SampleEntryCode = _

DVB Track Level Index Track

FourCC: ixse

Specification: DVB

pub const J2KI: SampleEntryCode = _

Sequence of JPEG 2000 Contiguous Codestream boxes as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1

FourCC: j2ki

Specification: J2KHEIF

pub const JXSM: SampleEntryCode = _

Video and image sequences coded to the JPEG-XS coding format

FourCC: jxsm

Specification: JPXS

pub const LHE1: SampleEntryCode = _

Layered HEVC

FourCC: lhe1

Specification: NALu Video

pub const LHT1: SampleEntryCode = _

Layered HEVC tile tracks

FourCC: lht1

Specification: NALu Video

pub const LHV1: SampleEntryCode = _

Layered HEVC

FourCC: lhv1

Specification: NALu Video

pub const M2TS: SampleEntryCode = _

MPEG-2 transport stream for DMB

FourCC: m2ts

Specification: DMB-MAF

pub const M4AE: SampleEntryCode = _

MPEG-4 Audio Enhancement

FourCC: m4ae

Specification: MP4v2

pub const MEBX: SampleEntryCode = _

Timed metadata multiplex

FourCC: mebx

Specification: ISO

pub const METT: SampleEntryCode = _

Text timed metadata that is not XML

FourCC: mett

Specification: ISO

pub const METX: SampleEntryCode = _

XML timed metadata

FourCC: metx

Specification: ISO

pub const MHA1: SampleEntryCode = _

MPEG-H Audio (single stream, unencapsulated)

FourCC: mha1

Specification: MPEG-H

pub const MHA2: SampleEntryCode = _

MPEG-H Audio (multi-stream, unencapsulated)

FourCC: mha2

Specification: MPEG-H

pub const MHM1: SampleEntryCode = _

MPEG-H Audio (single stream, MHAS encapsulated)

FourCC: mhm1

Specification: MPEG-H

pub const MHM2: SampleEntryCode = _

MPEG-H Audio (multi-stream, MHAS encapsulated)

FourCC: mhm2

Specification: MPEG-H

pub const MJP2: SampleEntryCode = _

Motion JPEG 2000

FourCC: mjp2

Specification: MJ2

pub const MJPG: SampleEntryCode = _

JPEG image sequences

FourCC: mjpg

Specification: HEIF

pub const MLIX: SampleEntryCode = _

DVB Movie level index track

FourCC: mlix

Specification: DVB

pub const MLPA: SampleEntryCode = _

MLP Audio

FourCC: mlpa

Specification: Dolby MLP

pub const MP4A: SampleEntryCode = _

MPEG-4 Audio

FourCC: mp4a

Specification: MP4v1

pub const MP4S: SampleEntryCode = _

MPEG-4 Systems

FourCC: mp4s

Specification: MP4v1

pub const MP4V: SampleEntryCode = _

MPEG-4 Visual

FourCC: mp4v

Specification: MP4v1

pub const MVC1: SampleEntryCode = _

Multiview coding

FourCC: mvc1

Specification: NALu Video

pub const MVC2: SampleEntryCode = _

Multiview coding

FourCC: mvc2

Specification: NALu Video

pub const MVC3: SampleEntryCode = _

Multiview coding

FourCC: mvc3

Specification: NALu Video

pub const MVC4: SampleEntryCode = _

Multiview coding

FourCC: mvc4

Specification: NALu Video

pub const MVD1: SampleEntryCode = _

MVD stream

FourCC: mvd1

Specification: NALu Video

pub const MVD2: SampleEntryCode = _

MVD stream

FourCC: mvd2

Specification: NALu Video

pub const MVD3: SampleEntryCode = _

MVD stream

FourCC: mvd3

Specification: NALu Video

pub const MVD4: SampleEntryCode = _

MVD stream

FourCC: mvd4

Specification: NALu Video

pub const OKSD: SampleEntryCode = _

OMA Keys

FourCC: oksd

Specification: OMA DRM XBS

pub const OPUS: SampleEntryCode = _

Opus audio coding

FourCC: Opus

Specification: Opus

pub const PM2T: SampleEntryCode = _

Protected MPEG-2 Transport

FourCC: pm2t

Specification: ISO

pub const PRTP: SampleEntryCode = _

Protected RTP Reception

FourCC: prtp

Specification: ISO

pub const RAW: SampleEntryCode = _

Uncompressed audio

FourCC: raw

Specification: MJ2

pub const RESV: SampleEntryCode = _

Restricted Video

FourCC: resv

Specification: NALu Video

pub const RM2T: SampleEntryCode = _

MPEG-2 Transport Reception

FourCC: rm2t

Specification: ISO

pub const RRTP: SampleEntryCode = _

RTP reception

FourCC: rrtp

Specification: ISO

pub const RSRP: SampleEntryCode = _

SRTP Reception

FourCC: rsrp

Specification: ISO

pub const RTCP: SampleEntryCode = _

RTCP reception hint track

FourCC: rtcp

Specification: ISO

pub const RTMD: SampleEntryCode = _

Real Time Metadata Sample Entry(XAVC Format)

FourCC: rtmd

Specification: Sony

pub const RTP: SampleEntryCode = _

RTP Hints

FourCC: rtp

Specification: ISO

pub const RV60: SampleEntryCode = _

RealVideo Codec 11

FourCC: rv60

Specification: RealHD

pub const S263: SampleEntryCode = _

ITU H.263 video (3GPP format)

FourCC: s263

Specification: 3GPP

pub const SAMR: SampleEntryCode = _

Narrowband AMR voice

FourCC: samr

Specification: 3GPP

pub const SAWB: SampleEntryCode = _

Wideband AMR voice

FourCC: sawb

Specification: 3GPP

pub const SAWP: SampleEntryCode = _

Extended AMR-WB (AMR-WB+)

FourCC: sawp

Specification: 3GPP

pub const SBTT: SampleEntryCode = _

Text subtitles

FourCC: sbtt

Specification: ISO

pub const SEVC: SampleEntryCode = _

EVRC Voice

FourCC: sevc

Specification: 3GPP2

pub const SEVS: SampleEntryCode = _

Enhanced Voice Services (EVS)

FourCC: sevs

Specification: 3GPP

pub const SM2T: SampleEntryCode = _

MPEG-2 Transport Server

FourCC: sm2t

Specification: ISO

pub const SQCP: SampleEntryCode = _

13K Voice

FourCC: sqcp

Specification: 3GPP2

pub const SRTP: SampleEntryCode = _

SRTP Hints

FourCC: srtp

Specification: ISO

pub const SSMV: SampleEntryCode = _

SMV Voice

FourCC: ssmv

Specification: 3GPP2

pub const STCP: SampleEntryCode = _

SRTCP reception hint track

FourCC: stcp

Specification: ISO

pub const STGS: SampleEntryCode = _

Subtitle Sample Entry (HMMP)

FourCC: STGS

Specification: Sony

pub const STPP: SampleEntryCode = _

Subtitles (Timed Text)

FourCC: stpp

Specification: ISO

pub const STXT: SampleEntryCode = _

Simple timed text

FourCC: stxt

Specification: ISO

pub const SVC1: SampleEntryCode = _

Scalable Video Coding

FourCC: svc1

Specification: NALu Video

pub const SVC2: SampleEntryCode = _

Scalable Video Coding

FourCC: svc2

Specification: NALu Video

pub const SVCM: SampleEntryCode = _

SVC metadata

FourCC: svcM

Specification: NALu Video

pub const TC64: SampleEntryCode = _

64 bit timecode samples

FourCC: tc64

Specification: Apple

pub const TMCD: SampleEntryCode = _

32 bit timecode samples

FourCC: tmcd

Specification: Apple

pub const TWOS: SampleEntryCode = _

Uncompressed 16-bit audio

FourCC: twos

Specification: MJ2

pub const TX3G: SampleEntryCode = _

Timed Text stream

FourCC: tx3g

Specification: 3GPP

pub const ULAW: SampleEntryCode = _

Samples have been compressed using uLaw 2:1.

FourCC: ulaw

Specification: QT

pub const UNID: SampleEntryCode = _

Dynamic Range Control (DRC) data

FourCC: unid

Specification: DRC

pub const URIM: SampleEntryCode = _

Binary timed metadata identified by URI

FourCC: urim

Specification: ISO

pub const VC_1: SampleEntryCode = _

SMPTE VC-1

FourCC: vc-1

Specification: SMPTE

pub const VP08: SampleEntryCode = _

VP8 video

FourCC: vp08

Specification: VPxx

pub const VP09: SampleEntryCode = _

VP9 video

FourCC: vp09

Specification: VPxx

pub const WVTT: SampleEntryCode = _

WebVTT data

FourCC: wvtt

Specification: ISO-Text

Trait Implementations§

source§

impl Clone for SampleEntryCode

source§

fn clone(&self) -> SampleEntryCode

Returns a copy 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 SampleEntryCode

source§

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

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

impl From<FourCC> for SampleEntryCode

source§

fn from(val: FourCC) -> Self

Converts to this type from the input type.
source§

impl From<SampleEntryCode> for FourCC

source§

fn from(val: SampleEntryCode) -> Self

Converts to this type from the input type.
source§

impl PartialEq for SampleEntryCode

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for SampleEntryCode

source§

impl Eq for SampleEntryCode

source§

impl StructuralPartialEq for SampleEntryCode

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> 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,

§

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>,

§

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>,

§

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.