X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-registry%2Fsrc%2Fregister.rs;h=222d921c083943ba878d1457b6266072219a520b;hb=refs%2Fheads%2Fmaster;hp=0e3cc6403b118df470742b76a7a2b004f0d39a9f;hpb=549152963d868fc896287193b7ac7767e8794e01;p=nihav.git diff --git a/nihav-registry/src/register.rs b/nihav-registry/src/register.rs index 0e3cc64..09f53a3 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] = &[ @@ -161,10 +156,12 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(audio; "ulaw", "mu-law PCM"), desc!(video-im; "indeo1", "Intel Raw IF09"), - desc!(video-im; "indeo2", "Intel Indeo 2"), + desc!(video; "indeo2", "Intel Indeo 2"), + desc!(video; "ima-rtv2", "Intel RTV 2 (Indeo 2)"), 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"), @@ -211,6 +208,24 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(audio; "qdesign-music2", "QDesign Music v2"), desc!(audio; "qualcomm-purevoice", "Qualcomm PureVoice"), + desc!(video-ll; "arm_rawvideo", "Acorn Replay Movie raw video formats"), + desc!(audio; "arm_rawaudio", "Acorn Replay Movie raw audio formats"), + desc!(video; "movinglines", "Acorn Moving Lines"), + desc!(video; "movingblocks", "Acorn Moving Blocks"), + desc!(video; "movingblockshq", "Acorn Moving Blocks HQ"), + desc!(video; "supermovingblocks", "Acorn Super Moving Blocks"), + desc!(video; "linepack", "Henrik Pedersen's LinePack"), + desc!(video; "movie16_3", "Henrik Pedersen's Movie 16:3"), + desc!(video; "escape-any", "wrapper for Eidos Escape codecs"), + desc!(video; "escape100", "Eidos Escape 100"), + desc!(video; "escape102", "Eidos Escape 102"), + desc!(video; "escape122", "Eidos Escape 122"), + desc!(video; "escape124", "Eidos Escape 124"), + desc!(video; "escape130", "Eidos Escape 130"), + desc!(audio; "escape-adpcm", "Eidos Escape ADPCM"), + desc!(video-llp; "euclid", "Iota Euclid / The Complete Animation"), + desc!(audio; "iota-sound", "IotaSound"), + desc!(video; "truemotion1", "TrueMotion 1"), desc!(video-im; "truemotionrt", "TrueMotion RT"), desc!(video; "truemotion2", "TrueMotion 2"), @@ -242,19 +257,32 @@ static CODEC_REGISTER: &[CodecDescription] = &[ 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"), desc!(audio; "bmv3-audio", "DW Noir BMV audio"), + desc!(video; "dp-sga", "Digital Pictures SGA video"), 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; "kmvc", "Karl Morton's Video Codec"), 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-ll; "rbt-video", "Sierra Robot video"), + desc!(audio; "rbt-audio", "Sierra Robot audio"), + desc!(video; "seq-video", "Sierra Sequence video"), + 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"), @@ -282,10 +310,21 @@ static CODEC_REGISTER: &[CodecDescription] = &[ desc!(audio-ll; "tta", "True Audio codec"), desc!(audio-hyb; "wavpack", "WavPack"), + desc!(video-ll; "gif", "GIF"), desc!(video-im; "jpeg", "JPEG"), desc!(video; "h264", "ITU H.264", CODEC_CAP_COMPLEX_REORDER | CODEC_CAP_HYBRID), + desc!(video-modern; "mpeg4asp", "MPEG-4 ASP"), desc!(video-im; "mwv1", "Aware MotionWavelets"), + + desc!(video-llp; "pivideo", "PI-Video"), + + desc!(video-im; "pgvv", "Radius Studio Video"), + + desc!(video-llp; "qpeg-dvc", "QPEG video in DVC"), + + desc!(video; "teal-video", "TealMovie video"), + desc!(audio; "teal-audio", "TealMovie audio"), ]; static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ @@ -308,15 +347,18 @@ static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ (b"UCOD", "clearvideo"), (b"cvid", "cinepak"), + (b"savi", "cinepak"), (b"ZMBV", "zmbv"), (b"Ipma", "ipma"), (b"Ip20", "ipma2"), + (b"KMVC", "kmvc"), (b"MVDV", "midivid"), (b"MV30", "midivid3"), (b"MVLZ", "midivid-ll"), + (b"tmot", "truemotion1"), (b"DUCK", "truemotion1"), (b"TR20", "truemotionrt"), (b"TM20", "truemotion2"), @@ -333,6 +375,19 @@ static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ (b"VP70", "vp7"), (b"MWV1", "mwv1"), + + (b"pivc", "pivideo"), + + (b"azpr", "apple-video"), + (b"PGVV", "pgvv"), + + (b"ESCP", "escape-any"), + + (b"VXS1", "vxvideo"), + + (b"DX50", "mpeg4asp"), + (b"DIVX", "mpeg4asp"), + (b"XVID", "mpeg4asp"), ]; static WAV_CODEC_REGISTER: &[(u16, &str)] = &[ @@ -341,6 +396,7 @@ static WAV_CODEC_REGISTER: &[(u16, &str)] = &[ (0x0002, "ms-adpcm"), (0x0003, "pcm"), (0x0011, "ima-adpcm-ms"), + (0x0055, "mp3"), (0x0061, "adpcm-dk4"), (0x0062, "adpcm-dk3"), (0x0401, "imc"), @@ -374,6 +430,9 @@ static MOV_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[ (b"VP30", "vp3"), (b"VP31", "vp3"), + (b"ESCP", "escape-any"), + + (b"mp4v", "mpeg4asp"), (b"avc1", "h264"), ];