Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/intern/writeffmpeg.c')
-rw-r--r--source/blender/blenkernel/intern/writeffmpeg.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
index ae41b8f3272..fb8bfa1dfd9 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -589,8 +589,13 @@ static AVStream *alloc_video_stream(FFMpegContext *context,
c->time_base.num = (int)rd->frs_sec_base;
}
else {
- c->time_base.den = rd->frs_sec * 100000;
- c->time_base.num = ((double)rd->frs_sec_base) * 100000;
+ // This calculates a fraction (DENUM_MAX / num) which approximates the scene
+ // frame rate (frs_sec / frs_sec_base).
+ const double DENUM_MAX = 2147483647;
+ const double num = (DENUM_MAX / (double)rd->frs_sec) * rd->frs_sec_base;
+
+ c->time_base.den = (int)DENUM_MAX;
+ c->time_base.num = (int)num;
}
c->gop_size = context->ffmpeg_gop_size;