Ticket #4637: vsync.diff
File vsync.diff, 1.1 KB (added by , 16 years ago) |
---|
-
libs/libmythtv/vsync.cpp
117 117 m_frame_interval(frameint), m_refresh_interval(refreshint), 118 118 m_interlaced(halve_frame_interval) 119 119 { 120 if (m_interlaced && m_refresh_interval > m_frame_interval/2) 120 int tolerance = m_refresh_interval >> 6; 121 if (m_interlaced && m_refresh_interval > ((m_frame_interval/2) + tolerance)) 121 122 m_interlaced = false; // can't display both fields at 2x rate 122 123 123 124 //cout << "Frame interval: " << m_frame_interval << endl; … … 133 134 */ 134 135 void VideoSync::SetFrameInterval(int fr, bool intr) 135 136 { 137 int tolerance = m_refresh_interval >> 6; 136 138 m_frame_interval = fr; 137 139 m_interlaced = intr; 138 if (m_interlaced && m_refresh_interval > m_frame_interval/2)140 if (m_interlaced && m_refresh_interval > ((m_frame_interval/2) + tolerance)) 139 141 m_interlaced = false; // can't display both fields at 2x rate 140 142 141 143 VERBOSE(VB_PLAYBACK, QString("Set video sync frame interval to %1")