]> granicus.if.org Git - handbrake/commit
Fix PFR issue where there are different number of frames in 1st and 2nd pass.
authorjstebbins <jstebbins.hb@gmail.com>
Mon, 28 Feb 2011 22:00:26 +0000 (22:00 +0000)
committerjstebbins <jstebbins.hb@gmail.com>
Mon, 28 Feb 2011 22:00:26 +0000 (22:00 +0000)
commit00947a3779ae9c80909e305695b95d05e0f5d949
tree5d32ea3211352ca2bb947c894dd7748ef8de80f9
parentad9e448f337bee816fd1fa0c5942eec668451c04
Fix PFR issue where there are different number of frames in 1st and 2nd pass.

Waiting for a fill threshhold in the fifos causes some non-determinism
in finding the first PTS value.  Sometimes the fill level of one fifo
would not be reached until after another fifo is completely full, causing
an early exit in the loop that looks for the first PTS.  When the initial PTS
is different between passes, the duration of the first frame is different.
This affects the PFR algorithm and can cause it to drop a different number
of frames.

The fill level was initially intended as a way to prevent thrashing between
threads to improve performance.  But my testing indicates no degradation
when removing it.

git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3819 b64f7644-9d1e-0410-96f1-a4d463321fa5
libhb/fifo.c