OSDN Git Service

Fix PFR issue where there are different number of frames in 1st and 2nd pass.
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 28 Feb 2011 22:00:26 +0000 (22:00 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Mon, 28 Feb 2011 22:00:26 +0000 (22:00 +0000)
commitd624933d6d66444a469a6d64f89bb0bd993215eb
tree5d32ea3211352ca2bb947c894dd7748ef8de80f9
parent8296b674632d07820bdf2f62e8dc368afbe1d683
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://localhost/HandBrake/trunk@3819 b64f7644-9d1e-0410-96f1-a4d463321fa5
libhb/fifo.c