X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-registry%2Fsrc%2Fregister.rs;h=7bfd172196294f5969dac6e0005cc4fcb0a36aee;hb=e6aaad5c5273cd814b5748b7faf3751835a37217;hp=1a8e1eb04f98265103b1f2c7d229e940fc2b3a4f;hpb=d66e60559ac53f86a8e7a1c31b89a6cf320177d0;p=nihav.git diff --git a/nihav-registry/src/register.rs b/nihav-registry/src/register.rs index 1a8e1eb..7bfd172 100644 --- a/nihav-registry/src/register.rs +++ b/nihav-registry/src/register.rs @@ -147,12 +147,7 @@ macro_rules! desc { /// Returns codec description for the provided codec short name if it is found. pub fn get_codec_description(name: &str) -> Option<&'static CodecDescription> { - for reg in CODEC_REGISTER { - if reg.name == name { - return Some(reg); - } - } - None + CODEC_REGISTER.iter().find(|®| reg.name == name) } static CODEC_REGISTER: &[CodecDescription] = &[ @@ -165,6 +160,7 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(video; "indeo3", "Intel Indeo 3"), desc!(video; "indeo4", "Intel Indeo 4", CODEC_CAP_REORDER | CODEC_CAP_SCALABLE), desc!(video; "indeo5", "Intel Indeo 5", CODEC_CAP_REORDER | CODEC_CAP_SCALABLE), + desc!(video; "indeo5s", "Intel Indeo 5 Scalable", CODEC_CAP_SCALABLE), desc!(video; "intel263", "Intel I263", CODEC_CAP_REORDER), desc!(audio; "iac", "Intel Indeo audio"), desc!(audio; "imc", "Intel Music Coder"), @@ -203,6 +199,7 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(video; "apple-video", "Apple video"), desc!(video; "sorenson-video", "Sorenson Video"), desc!(video; "sorenson-video3", "Sorenson Video 3", CODEC_CAP_REORDER), + desc!(audio-ll; "alac", "Apple Lossless Audio Codec"), desc!(audio; "mace-3", "MACE 3:1"), desc!(audio; "mace-6", "MACE 6:1"), desc!(audio; "ima-adpcm-qt", "IMA ADPCM (Apple variant)"), @@ -218,7 +215,8 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(video; "vp4", "VP4"), desc!(video; "vp5", "VP5"), desc!(video; "vp6", "VP6"), - desc!(video; "vp6a", "VP6"), + desc!(video; "vp6f", "VP6 (in Flash)"), + desc!(video; "vp6a", "VP6 with alpha"), desc!(video; "vp7", "VP7"), desc!(video; "vp8", "VP8"), desc!(video; "vp9", "VP9"), @@ -227,8 +225,22 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(audio; "on2avc-500", "On2 AVC"), desc!(audio; "on2avc-501", "On2 AVC"), + desc!(video; "flv263", "Sorenson H.263"), + desc!(video-llp; "flashsv", "Flash Screen Video"), + desc!(video-llp; "flashsv2", "Flash Screen Video 2"), + desc!(audio; "asao", "N*llym*s*r ASAO"), + desc!(audio; "flv-adpcm", "Flash ADPCM"), + + desc!(audio; "mp1", "MPEG Audio Layer I"), + desc!(audio; "mp2", "MPEG Audio Layer II"), + desc!(audio; "mp3", "MPEG Audio Layer III"), + desc!(audio; "speex", "Speex"), + desc!(video; "gdv-video", "Gremlin Digital Video - video"), desc!(audio; "gdv-audio", "Gremlin Digital Video - audio"), + desc!(video-im; "arxel-video", "Arxel Tribe Video"), + desc!(video; "beam-fcp", "Beam Software Animation"), + desc!(video; "beam-video", "Beam Software Video"), desc!(video; "bmv-video", "BMV video"), desc!(audio; "bmv-audio", "BMV audio"), desc!(video; "bmv3-video", "DW Noir BMV video"), @@ -236,12 +248,17 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(video; "fable-imax", "Fable IMAX video"), desc!(video; "fst-video", "FutureVision video"), desc!(audio; "fst-audio", "FutureVision audio"), + desc!(video; "hl-fmv-video", "Highlander FMV video"), desc!(video-llp; "ipma", "Imagination Pilots Matte Animation"), desc!(video-llp; "ipma2", "Imagination Pilots Matte Animation v2"), desc!(video; "legend-q-video", "Legend Entertainment Q video"), desc!(video; "midivid", "MidiVid"), desc!(video; "midivid3", "MidiVid 3"), desc!(video-ll; "midivid-ll", "MidiVid Lossless"), + desc!(video; "smushv1", "SMUSH Video paletted"), + desc!(video; "smushv2", "SMUSH Video 16-bit"), + desc!(video; "smush-iact", "SMUSH IACT Audio"), + desc!(video; "smush-vima", "SMUSH VIMA Audio"), desc!(video; "vmd-video", "VMD video"), desc!(audio; "vmd-audio", "VMD audio"), desc!(video; "vxvideo", "Actimagine Vx"), @@ -269,7 +286,10 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(audio-ll; "tta", "True Audio codec"), desc!(audio-hyb; "wavpack", "WavPack"), + desc!(video-im; "jpeg", "JPEG"), desc!(video; "h264", "ITU H.264", CODEC_CAP_COMPLEX_REORDER | CODEC_CAP_HYBRID), + + desc!(video-im; "mwv1", "Aware MotionWavelets"), ]; static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ @@ -280,6 +300,8 @@ static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ (b"MSVC", "msvideo1"), (b"WHAM", "msvideo1"), + (b"MJPG", "jpeg"), + (b"IF09", "indeo1"), (b"RT21", "indeo2"), (b"IV31", "indeo3"), @@ -313,6 +335,8 @@ static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ (b"VP62", "vp6"), (b"VP6A", "vp6a"), (b"VP70", "vp7"), + + (b"MWV1", "mwv1"), ]; static WAV_CODEC_REGISTER: &[(u16, &str)] = &[ @@ -378,6 +402,8 @@ static MOV_AUDIO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ //(b".mp3", "mpeg-layer3"), (b"mp4a", "aac"), + + (b"alac", "alac"), ]; /// Returns video codec short name for provided FOURCC (used in AVI format).