[FFmpeg-devel] qt-faststart uuid top level atom support

Frank Barchard fbarchard
Thu Jun 25 12:25:20 CEST 2009


Adding uuid atom support.   2 movies with uuid.  faces.mp4 has the moov at
the end and benefits from qt-faststart

E:\mediatests>qt-faststart candles.mp4 bob.mov
ftyp          0 24
moov         24 58817
mdat      58841 35960979
uuid   36019820 14670
Last atom in file was not a moov or free atom.  Skipping.

E:\mediatests>qt-faststart faces.mp4 bob.mov
ftyp          0 28
uuid         28 148
mdat        176 43981826
moov   43982002 22107
 patching stco atom...
 patching stco atom...
 writing ftyp atom...
 writing moov atom...
 copying rest of file: 28..43982002


--- tools/qt-faststart.orig.c   2009-05-07 21:41:30.000000000 -0700
+++ tools/qt-faststart.c        2009-06-25 03:19:21.282979100 -0700
@@ -1,5 +1,5 @@
 /*
- * qt-faststart.c, v0.1
+ * qt-faststart.c, v0.2
  * by Mike Melanson (melanson at pcisys.net)
  * This file is placed in the public domain. Use the program however you
  * see fit.
@@ -64,6 +64,7 @@
 #define WIDE_ATOM QT_ATOM('w', 'i', 'd', 'e')
 #define PICT_ATOM QT_ATOM('P', 'I', 'C', 'T')
 #define FTYP_ATOM QT_ATOM('f', 't', 'y', 'p')
+#define UUID_ATOM QT_ATOM('u', 'u', 'i', 'd')

 #define CMOV_ATOM QT_ATOM('c', 'm', 'o', 'v')
 #define STCO_ATOM QT_ATOM('s', 't', 'c', 'o')
@@ -119,6 +120,7 @@ int main(int argc, char *argv[])
             (atom_type != SKIP_ATOM) &&
             (atom_type != WIDE_ATOM) &&
             (atom_type != PICT_ATOM) &&
+            (atom_type != UUID_ATOM) &&
             (atom_type != FTYP_ATOM)) {
             printf ("encountered non-QT top-level atom (is this a Quicktime
fil
e?)\n");
             break;



More information about the ffmpeg-devel mailing list