movenc: write avg_frame_rate as the framerate, not the codec timebase
authorAnton Khirnov <anton@khirnov.net>
Sun, 18 May 2014 11:49:46 +0000 (13:49 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 29 May 2014 06:01:23 +0000 (08:01 +0200)
libavformat/movenc.c

index cf0158b..dcd3294 100644 (file)
@@ -483,7 +483,13 @@ static int mov_write_dvc1_structs(MOVTrack *track, uint8_t *buf)
     put_bits(&pbc, 1, !slices); /* no slice code */
     put_bits(&pbc, 1, 0); /* no bframe */
     put_bits(&pbc, 1, 0); /* reserved */
-    put_bits32(&pbc, track->enc->time_base.den); /* framerate */
+
+    /* framerate */
+    if (track->st->avg_frame_rate.num > 0 && track->st->avg_frame_rate.den > 0)
+        put_bits32(&pbc, track->st->avg_frame_rate.num / track->st->avg_frame_rate.den);
+    else
+        put_bits32(&pbc, 0xffffffff);
+
     flush_put_bits(&pbc);
 
     av_free(unescaped);