add MCMP demuxer
[nihav.git] / nihav-registry / src / detect.rs
index c51936d3a3c4b22526f4d0317c25802fe3c76834..d32fac3e5081fd2851d080051fdef81d5530947b 100644 (file)
@@ -235,6 +235,18 @@ const DETECTORS: &[DetectConditions] = &[
         extensions: ".y4m",
         conditions: &[CheckItem{offs: 0, cond: &CC::Str(b"YUV4MPEG2 ") }],
     },
+    DetectConditions {
+        demux_name: "flv",
+        extensions: ".flv",
+        conditions: &[CheckItem{offs: 0, cond: &CC::Str(b"FLV") },
+                      CheckItem{offs: 3, cond: &CC::Le(Arg::Byte(1)) }],
+    },
+    DetectConditions {
+        demux_name: "ivf",
+        extensions: ".ivf",
+        conditions: &[CheckItem{offs: 0, cond: &CC::Str(b"DKIF\x00\x00")},
+                      CheckItem{offs: 6, cond: &CC::Ge(Arg::U16LE(32))}],
+    },
     DetectConditions {
         demux_name: "fcmp",
         extensions: ".cmp",
@@ -262,6 +274,25 @@ const DETECTORS: &[DetectConditions] = &[
         conditions: &[CheckItem{offs: 0, cond: &CC::Eq(Arg::U16LE(0x6839))},
                       CheckItem{offs: 2, cond: &CC::In(Arg::Byte(3), Arg::Byte(5))}],
     },
+    DetectConditions {
+        demux_name: "smush",
+        extensions: ".san",
+        conditions: &[CheckItem{offs: 0, cond: &CC::Str(b"ANIM")},
+                      CheckItem{offs: 8, cond: &CC::Str(b"AHDR")}],
+    },
+    DetectConditions {
+        demux_name: "smush-mcmp",
+        extensions: ".imc",
+        conditions: &[CheckItem{offs: 0, cond: &CC::Str(b"MCMP")},
+                      CheckItem{offs: 6, cond: &CC::Eq(Arg::Byte(0))},
+                      CheckItem{offs: 7, cond: &CC::Eq(Arg::Byte(0))}],
+    },
+    DetectConditions {
+        demux_name: "smush",
+        extensions: ".snm",
+        conditions: &[CheckItem{offs: 0, cond: &CC::Str(b"SANM")},
+                      CheckItem{offs: 8, cond: &CC::Str(b"SHDR")}],
+    },
     DetectConditions {
         demux_name: "realaudio",
         extensions: ".ra,.ram",