]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
fix gxf time code mark out value
authorbcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 20 Jan 2009 09:14:46 +0000 (09:14 +0000)
committerbcoudurier <bcoudurier@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Tue, 20 Jan 2009 09:14:46 +0000 (09:14 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@16697 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/gxfenc.c
tests/libav.regression.ref

index 587e0d61eab9a7024d5c1e4bbfaa0d2753bf5b7b..f483e31fd333b05cc7f9f7ab55ca42c5cd6e0fab 100644 (file)
@@ -353,13 +353,22 @@ static int gxf_write_flt_packet(ByteIOContext *pb, GXFContext *ctx)
 
 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 */
index 1826b893f968095760716d9e72fce3be35ddf83a..dd40b25feeda61a0f6b3e6d25b05770fdb80c3e9 100644 (file)
@@ -27,7 +27,7 @@ af78858062599fcbba049e4a02588a15 *./tests/data/b-libav.mov
 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