]> git.sesse.net Git - ffmpeg/commitdiff
avformat/mov: improve timecode calculation
authorPaul B Mahol <onemda@gmail.com>
Thu, 22 Aug 2019 16:14:15 +0000 (18:14 +0200)
committerPaul B Mahol <onemda@gmail.com>
Wed, 28 Aug 2019 14:27:58 +0000 (16:27 +0200)
Fixes timecode calculation for NTSC frame rates.
Fixes ticket #5978.

libavformat/mov.c
tests/ref/fate/copy-trac236

index 8a4cdc4b43c0af7a974a1f02a1ca2b2340c3e268..675b915906ca422bd4a020ccdce3989713ff3857 100644 (file)
@@ -2304,8 +2304,8 @@ static int mov_parse_stsd_data(MOVContext *c, AVIOContext *pb,
             int val;
             val = AV_RB32(st->codecpar->extradata + 4);
             tmcd_ctx->tmcd_flags = val;
-            st->avg_frame_rate.num = st->codecpar->extradata[16]; /* number of frame */
-            st->avg_frame_rate.den = 1;
+            st->avg_frame_rate.num = AV_RB32(st->codecpar->extradata + 8); /* timescale */
+            st->avg_frame_rate.den = AV_RB32(st->codecpar->extradata + 12); /* frameDuration */
 #if FF_API_LAVF_AVCTX
 FF_DISABLE_DEPRECATION_WARNINGS
             st->codec->time_base = av_inv_q(st->avg_frame_rate);
index 2ac05e63e67b5e55bfbb8e8463eb36fb315ffa27..1583ae5704c65f62daa9f7b5118dc2d50f9d5f7e 100644 (file)
@@ -1,4 +1,4 @@
-959a4d78c6c11936e361fc3101a013eb *tests/data/fate/copy-trac236.mov
+984a33c6292e3d35e2cfdfbf66d8e82b *tests/data/fate/copy-trac236.mov
 630860 tests/data/fate/copy-trac236.mov
 #tb 0: 100/2997
 #media_type 0: video