[FFmpeg-cvslog] r17607 - trunk/libavformat/dv.c

bcoudurier subversion
Thu Feb 26 09:45:59 CET 2009


Author: bcoudurier
Date: Thu Feb 26 09:45:59 2009
New Revision: 17607

Log:
dv probe

Modified:
   trunk/libavformat/dv.c

Modified: trunk/libavformat/dv.c
==============================================================================
--- trunk/libavformat/dv.c	Thu Feb 26 03:41:53 2009	(r17606)
+++ trunk/libavformat/dv.c	Thu Feb 26 09:45:59 2009	(r17607)
@@ -474,12 +474,30 @@ static int dv_read_close(AVFormatContext
     return 0;
 }
 
+static int dv_probe(AVProbeData *p)
+{
+    unsigned state;
+    int i;
+
+    if (p->buf_size < 5)
+        return 0;
+
+    state = AV_RB32(p->buf);
+    for (i = 4; i < p->buf_size; i++) {
+        if ((state & 0xffffff7f) == 0x1f07003f)
+            return AVPROBE_SCORE_MAX*3/4; // not max to avoid dv in mov to match
+        state = (state << 8) | p->buf[i];
+    }
+
+    return 0;
+}
+
 #if CONFIG_DV_DEMUXER
 AVInputFormat dv_demuxer = {
     "dv",
     NULL_IF_CONFIG_SMALL("DV video format"),
     sizeof(RawDVContext),
-    NULL,
+    dv_probe,
     dv_read_header,
     dv_read_packet,
     dv_read_close,




More information about the ffmpeg-cvslog mailing list