]> granicus.if.org Git - handbrake/commitdiff
libhb: fix interjob recalculation of framerate
authorjstebbins <jstebbins.hb@gmail.com>
Wed, 22 Jul 2009 16:20:55 +0000 (16:20 +0000)
committerjstebbins <jstebbins.hb@gmail.com>
Wed, 22 Jul 2009 16:20:55 +0000 (16:20 +0000)
there was loss of precision due to integer division.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2721 b64f7644-9d1e-0410-96f1-a4d463321fa5

libhb/work.c

index d0afb500db94c458a1f2a178fa5443e26ae66c11..752839bce0b7259dee24817f7462cb51ff60e630 100644 (file)
@@ -362,7 +362,8 @@ void correct_framerate( hb_job_t * job )
     interjob->vrate_base = job->vrate_base;
 
     real_frames = interjob->frame_count - interjob->render_dropped;
-    job->vrate = job->vrate_base * ( real_frames / ( interjob->total_time / 90000 ) );
+
+    job->vrate = job->vrate_base * ( (double)real_frames * 90000 / interjob->total_time );
 }