[FFmpeg-cvslog] avformat/mov: improve timecode calculation

Paul B Mahol git at videolan.org
Wed Aug 28 17:33:07 EEST 2019


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Thu Aug 22 18:14:15 2019 +0200| [428b4aacb1a91a267650de644519882a5f700388] | committer: Paul B Mahol

avformat/mov: improve timecode calculation

Fixes timecode calculation for NTSC frame rates.
Fixes ticket #5978.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=428b4aacb1a91a267650de644519882a5f700388
---

 libavformat/mov.c           | 4 ++--
 tests/ref/fate/copy-trac236 | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 8a4cdc4b43..675b915906 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -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);
diff --git a/tests/ref/fate/copy-trac236 b/tests/ref/fate/copy-trac236
index 2ac05e63e6..1583ae5704 100644
--- a/tests/ref/fate/copy-trac236
+++ b/tests/ref/fate/copy-trac236
@@ -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



More information about the ffmpeg-cvslog mailing list