]> git.nihav.org Git - nihav.git/blobdiff - nihav-registry/src/register.rs
avimux: do not record palette change chunks in OpenDML index
[nihav.git] / nihav-registry / src / register.rs
index 6d36449ffa29b055c913be7add60b4bf3e07fb28..09f53a3f3777132a24127710f7fd69c695aaf6b4 100644 (file)
@@ -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| 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,8 +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)] = &[
@@ -306,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"),
@@ -329,6 +373,21 @@ static AVI_VIDEO_CODEC_REGISTER: &[(&[u8;4], &str)] = &[
     (b"VP62", "vp6"),
     (b"VP6A", "vp6a"),
     (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)] = &[
@@ -337,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"),
@@ -370,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"),
 ];