pub const CODEC_CAP_HYBRID:u32 = 0x0008;
/// Codec capability flag for codecs with scalability features.
pub const CODEC_CAP_SCALABLE:u32 = 0x0010;
+/// Codec capability flag for codecs with complex frame reordering.
+pub const CODEC_CAP_COMPLEX_REORDER:u32 = 0x0020;
/// Codec description structure.
#[derive(Clone)]
None
}
-static CODEC_REGISTER: &'static [CodecDescription] = &[
+static CODEC_REGISTER: &[CodecDescription] = &[
desc!(audio-ll; "pcm", "PCM"),
desc!(audio; "alaw", "A-law PCM"),
desc!(audio; "ulaw", "mu-law PCM"),
desc!(audio; "bmv-audio", "BMV audio"),
desc!(video; "bmv3-video", "DW Noir BMV video"),
desc!(audio; "bmv3-audio", "DW Noir BMV audio"),
+ desc!(video; "fable-imax", "Fable IMAX video"),
+ desc!(video; "fst-video", "FutureVision video"),
+ desc!(audio; "fst-audio", "FutureVision audio"),
desc!(video; "midivid", "MidiVid"),
desc!(video; "midivid3", "MidiVid 3"),
desc!(video-ll; "midivid-ll", "MidiVid Lossless"),
desc!(audio-ll; "flac", "Free Lossless Audio Codec"),
desc!(audio-ll; "tta", "True Audio codec"),
desc!(audio-hyb; "wavpack", "WavPack"),
+
+ desc!(video; "h264", "ITU H.264", CODEC_CAP_COMPLEX_REORDER | CODEC_CAP_HYBRID),
];
-static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
+static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[
(&[1, 0, 0, 0], "msrle"),
(&[2, 0, 0, 0], "msrle"),
(b"VP70", "vp7"),
];
-static WAV_CODEC_REGISTER: &'static [(u16, &str)] = &[
+static WAV_CODEC_REGISTER: &[(u16, &str)] = &[
(0x0000, "unknown"),
(0x0001, "pcm"),
(0x0002, "ms-adpcm"),
(0x0501, "on2avc-501"),
];
-static MOV_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
+static MOV_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[
(b"cvid", "cinepak"),
(b"jpeg", "jpeg"),
//(b"raw ", "raw"),
(b"VP30", "vp3"),
(b"VP31", "vp3"),
+
+ (b"avc1", "h264"),
];
-static MOV_AUDIO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
+static MOV_AUDIO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[
(b"NONE", "pcm"),
(b"raw ", "pcm"),
(b"twos", "pcm"),