[FFmpeg-cvslog] r16697 - in trunk: libavformat/gxfenc.c tests/libav.regression.ref

bcoudurier subversion
Tue Jan 20 10:14:47 CET 2009


Author: bcoudurier
Date: Tue Jan 20 10:14:46 2009
New Revision: 16697

Log:
fix gxf time code mark out value

Modified:
   trunk/libavformat/gxfenc.c
   trunk/tests/libav.regression.ref

Modified: trunk/libavformat/gxfenc.c
==============================================================================
--- trunk/libavformat/gxfenc.c	Tue Jan 20 09:08:32 2009	(r16696)
+++ trunk/libavformat/gxfenc.c	Tue Jan 20 10:14:46 2009	(r16697)
@@ -353,13 +353,22 @@ static int gxf_write_flt_packet(ByteIOCo
 
 static int gxf_write_umf_material_description(ByteIOContext *pb, GXFContext *ctx)
 {
+    // XXX drop frame
+    int fps = ctx->sample_rate / 2;
+    int frames = ctx->nb_frames / 2;
+    uint32_t timecode =
+        frames % fps             << 24 | // frames
+        frames / fps % 60        << 16 | // seconds
+        frames / fps * 60 % 60   <<  8 | // minutes
+        frames / fps * 3600 % 24 <<  3;  // hours
+
     put_le32(pb, ctx->flags);
     put_le32(pb, ctx->nb_frames); /* length of the longest track */
     put_le32(pb, ctx->nb_frames); /* length of the shortest track */
     put_le32(pb, 0); /* mark in */
     put_le32(pb, ctx->nb_frames); /* mark out */
     put_le32(pb, 0); /* timecode mark in */
-    put_le32(pb, ctx->nb_frames); /* timecode mark out */
+    put_le32(pb, timecode); /* timecode mark out */
     put_le64(pb, ctx->fc->timestamp); /* modification time */
     put_le64(pb, ctx->fc->timestamp); /* creation time */
     put_le16(pb, 0); /* reserved */

Modified: trunk/tests/libav.regression.ref
==============================================================================
--- trunk/tests/libav.regression.ref	Tue Jan 20 09:08:32 2009	(r16696)
+++ trunk/tests/libav.regression.ref	Tue Jan 20 10:14:46 2009	(r16697)
@@ -27,7 +27,7 @@ af78858062599fcbba049e4a02588a15 *./test
 913b6199765b1dcba196706574621c2f *./tests/data/b-libav.dv
 3600000 ./tests/data/b-libav.dv
 ./tests/data/b-libav.dv CRC=0x7787e173
-8a6452b105db3e112fb041a98eda7ea5 *./tests/data/b-libav.gxf
+a8d66ca88df1f6ba7806f11224d03adc *./tests/data/b-libav.gxf
 805992 ./tests/data/b-libav.gxf
 ./tests/data/b-libav.gxf CRC=0x9c06676e
 66a6584f9e83e8ea3af822a3ba71fbbe *./tests/data/b-libav.nut




More information about the ffmpeg-cvslog mailing list