[mythtv] DVD playback AV sync issues: all solved (?)
taylor.ralph at gmail.com
Fri Feb 5 15:12:10 UTC 2010
On Fri, Feb 5, 2010 at 2:35 AM, Davin McCall <davmac at davmac.org> wrote:
> On 05/02/10 16:52, Taylor Ralph wrote:
>> I just found one issue so far. You've got the m_can_double comparison
>> backwards which causes 2x deinterlacing to be disabled.
> m_can_double = (frame_interval / 2 >
> videosync->getRefreshInterval() * 1.005);
> My head might not be screwed on right today, but: I don't think this is
> backwards ... it's checking the frame interval when halved is greater than
> the refresh interval. Or in other words, the frame rate when doubled is
> lower than the refresh rate.
Err, it was the tolerance put on the wrong side. That's what caused my
29.97i recordings to not be deinterlaced on my 60 fps display.
Since (1/29.97)/2 < 1/60 * 1.005 which calculates to 16.68 < 16.75
which causes m_can_double to be false.
So you actually have the tolerance on the wrong side.
So it should be
int tolerance = getRefreshInterval() * 1.005;
m_can_double = ((frame_interval / 2) + tolerance) >
which should make it equivalent to the prior code. The tolerance
should ease the requirement not make it more demanding.
More information about the mythtv-dev