#[non_exhaustive]pub enum Codec {
UncompressedVideo,
H264,
Hevc,
Av1,
Vp8,
Vp9,
Aac,
Opus,
Vorbis,
}Expand description
Normalized codec identifiers used across containers and backends.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UncompressedVideo
H264
H.264/AVC video. MP4 passthrough only: crate::Mp4Demuxer reads
avc1/avc3 sample entries and crate::mp4::Mp4Muxer writes avc1,
with an avcC box as the decoder configuration. No encoder or decoder
factory accepts it.
Hevc
Av1
Vp8
VP8 video, as carried in WebM (V_VP8). It has no decoder
configuration record. crate::native_vp8_video_decoder_factory
decodes it; no encoder factory accepts it.
Vp9
VP9 video, carried in MP4 as a vp09 sample entry whose decoder
configuration is the complete vpcC box (see
crate::Vp9CodecConfig).
Aac
Opus
Opus audio (RFC 6716). MP4 carries it in an Opus sample entry whose
decoder configuration is a dOps box; Matroska and WebM carry the
RFC 7845 OpusHead identification header as CodecPrivate. See
crate::OpusHead.
Vorbis
Vorbis I audio. There is no widely supported MP4 mapping for Vorbis, so
it has no MP4 sample entry; Matroska and WebM carry its three setup
headers Xiph-laced as CodecPrivate. See crate::VorbisConfig.