game: add Discworld Noir BMV demuxer and audio decoder
[nihav.git] / nihav-core / src / register.rs
index 5ab28bb94797cf0df7b9b73ffa3abb6bfb036e76..a03d7ca3477121eec288b63eb52d33709a5d7d67 100644 (file)
@@ -118,6 +118,8 @@ pub fn get_codec_description(name: &str) -> Option<&'static CodecDescription> {
 }
 
 static CODEC_REGISTER: &'static [CodecDescription] = &[
+    desc!(audio-ll; "pcm", "PCM"),
+
     desc!(video-im; "indeo1", "Intel Raw IF09"),
     desc!(video-im; "indeo2", "Intel Indeo 2"),
     desc!(video;    "indeo3", "Intel Indeo 3"),
@@ -142,6 +144,38 @@ static CODEC_REGISTER: &'static [CodecDescription] = &[
     desc!(audio;    "ac3",        "ETSI TS 102 366"),
     desc!(audio;    "atrac3",     "Sony Atrac3"),
     desc!(audio;    "sipro",      "Sipro Labs ADPCM"),
+
+    desc!(video;    "truemotion1",   "TrueMotion 1"), 
+    desc!(video-im; "truemotionrt",  "TrueMotion RT"), 
+    desc!(video;    "truemotion2",   "TrueMotion 2"), 
+    desc!(video;    "truemotion2x",  "TrueMotion 2X"),
+    desc!(video;    "vp3",           "VP3"),
+    desc!(video;    "vp4",           "VP4"),
+    desc!(video;    "vp5",           "VP5"),
+    desc!(video;    "vp6",           "VP6"),
+    desc!(video;    "vp7",           "VP7"),
+    desc!(video;    "vp8",           "VP8"),
+    desc!(video;    "vp9",           "VP9"),
+    desc!(audio;    "adpcm-dk3",     "Duck DK3 ADPCM"),
+    desc!(audio;    "adpcm-dk4",     "Duck DK4 ADPCM"),
+    desc!(audio;    "on2-avc-500",   "On2 AVC"),
+    desc!(audio;    "on2-avc-501",   "On2 AVC"),
+
+    desc!(video;    "gdv-video",     "Gremlin Digital Video - video"),
+    desc!(audio;    "gdv-audio",     "Gremlin Digital Video - audio"),
+    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;    "vmd-video",     "VMD video"),
+    desc!(audio;    "vmd-audio",     "VMD audio"),
+
+    desc!(video;    "smacker-video", "Smacker video"),
+    desc!(audio;    "smacker-audio", "Smacker audio"),
+    desc!(video;    "bink-video",    "Bink video"),
+    desc!(video;    "bink2-video",   "Bink2 video"),
+    desc!(audio;    "bink-audio-dct",   "Bink audio (DCT)"),
+    desc!(audio;    "bink-audio-rdft",  "Bink audio (RDFT)"),
 ];
 
 static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
@@ -154,14 +188,32 @@ static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
     (b"I263", "intel263"),
 
     (b"UCOD", "clearvideo"),
+
+    (b"DUCK", "truemotion1"),
+    (b"TR20", "truemotionrt"),
+    (b"TM20", "truemotion2"),
+    (b"TM2A", "truemotion2x"),
+    (b"TM2X", "truemotion2x"),
+    (b"VP30", "vp3"),
+    (b"VP31", "vp3"),
+    (b"VP40", "vp4"),
+    (b"VP50", "vp5"),
+    (b"VP60", "vp6"),
+    (b"VP61", "vp6"),
+    (b"VP62", "vp6"),
+    (b"VP70", "vp7"),
 ];
 
 static WAV_CODEC_REGISTER: &'static [(u16, &str)] = &[
     (0x0000, "pcm"),
     (0x0001, "pcm"),
     (0x0003, "pcm"),
+    (0x0061, "adpcm-dk4"),
+    (0x0062, "adpcm-dk3"),
     (0x0401, "imc"),
     (0x0402, "iac"),
+    (0x0500, "on2avc-500"),
+    (0x0501, "on2avc-501"),
 ];
 
 pub fn find_codec_from_avi_fourcc(fcc: &[u8;4]) -> Option<&'static str> {