add MPEG Audio Layer II decoder
[nihav.git] / nihav-registry / src / register.rs
index d4e2b028097d7c753533663b2ec31bc09f4afdb9..6d36449ffa29b055c913be7add60b4bf3e07fb28 100644 (file)
@@ -155,7 +155,7 @@ pub fn get_codec_description(name: &str) -> Option<&'static CodecDescription> {
     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"),
@@ -185,8 +185,14 @@ static CODEC_REGISTER: &'static [CodecDescription] = &[
     desc!(audio;    "atrac3",     "Sony Atrac3"),
     desc!(audio;    "sipro",      "Sipro Labs ADPCM"),
 
+
+    desc!(video-ll; "rawvideo",   "Raw video data"),
+    desc!(video-ll; "rawvideo-ms", "Raw video data"),
+
     desc!(video;    "cinepak",    "Cinepak"),
 
+    desc!(video-llp; "zmbv",      "Zip Motion Blocks Video"),
+
     desc!(video;    "msvideo1",      "MS Video 1"),
     desc!(video;    "msrle",         "MS RLE"),
     desc!(audio;    "ms-adpcm",      "MS ADPCM"),
@@ -197,6 +203,7 @@ static CODEC_REGISTER: &'static [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)"),
@@ -212,7 +219,8 @@ static CODEC_REGISTER: &'static [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"),
@@ -221,12 +229,29 @@ static CODEC_REGISTER: &'static [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;    "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;    "fable-imax",    "Fable IMAX video"),
+    desc!(video;    "fst-video",     "FutureVision video"),
+    desc!(audio;    "fst-audio",     "FutureVision audio"),
+    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"),
@@ -257,10 +282,11 @@ static CODEC_REGISTER: &'static [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),
 ];
 
-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"),
 
@@ -268,6 +294,8 @@ static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
     (b"MSVC", "msvideo1"),
     (b"WHAM", "msvideo1"),
 
+    (b"MJPG", "jpeg"),
+
     (b"IF09", "indeo1"),
     (b"RT21", "indeo2"),
     (b"IV31", "indeo3"),
@@ -278,6 +306,10 @@ static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
 
     (b"UCOD", "clearvideo"),
     (b"cvid", "cinepak"),
+    (b"ZMBV", "zmbv"),
+
+    (b"Ipma", "ipma"),
+    (b"Ip20", "ipma2"),
 
     (b"MVDV", "midivid"),
     (b"MV30", "midivid3"),
@@ -299,7 +331,7 @@ static AVI_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
     (b"VP70", "vp7"),
 ];
 
-static WAV_CODEC_REGISTER: &'static [(u16, &str)] = &[
+static WAV_CODEC_REGISTER: &[(u16, &str)] = &[
     (0x0000, "unknown"),
     (0x0001, "pcm"),
     (0x0002, "ms-adpcm"),
@@ -313,7 +345,7 @@ static WAV_CODEC_REGISTER: &'static [(u16, &str)] = &[
     (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"),
@@ -341,7 +373,7 @@ static MOV_VIDEO_CODEC_REGISTER: &'static [(&[u8;4], &str)] = &[
     (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"),
@@ -362,6 +394,8 @@ static MOV_AUDIO_CODEC_REGISTER: &'static [(&[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).