[mythtv-commits] Ticket #7964: Predictively skip frames to smooth out timestretch
MythTV
noreply at mythtv.org
Wed Jan 5 14:47:25 UTC 2011
#7964: Predictively skip frames to smooth out timestretch
-------------------------------------+--------------------------
Reporter: jppoet@… | Owner: tralph
Type: enhancement | Status: assigned
Priority: minor | Milestone: 0.25
Component: MythTV - Video Playback | Version: head
Severity: medium | Resolution:
Keywords: timestretch playback | Ticket locked: 0
-------------------------------------+--------------------------
Comment (by tralph):
Mark, I've committed the bulk of the changes and removed some dead code.
I'd like to get everything wrapped up but need some questions answered.
vsync change questions
1. For the hardware sync methods you changed the value of 'n' to a new
equation. Could you explain this? I have no way of testing these changes.
2. Also you are returning an 'int' for the WaitForFrame but it's only
effective for the hardware vsync methods. Could also explain why this is
needed?
3. Which hardware vsync methods have you tested? Only DRM works anymore.
4. Why do you avoid the negative trigger accumulation when doing
predictive skip in vsync.cpp. Specifically the line, "if (ret_val <
-m_frame_interval && m_frame_interval >= m_refresh_interval)"
mythplayer questions
1. We used to allow +/- 1.5 frame intervals of AV-sync slip before adding
compensation to the next trigger. Why did you change it +/- 1 refreshrate
interval?
2. Why do you use the avsync_used variable instead of avsync_avg for the
slip adjustment check?
3. You removed the 'lastsync = true' from the +/- 1 refreshrate interval
block. Is this because you want the changes to occur on every new frame.
It seems the old code would only make adjustments every other frame
because of this and maybe that shouldn't have been the case.
4. Why is the prevtc != 0 check needed?
5. It seems you've added a new function to retrieve currentaudiotime and
you update the variable in more instances. What's the reason for this?
I believe that covers everything. Thanks again for the patch. The bulk
that has been committed makes a substantial difference for time stretch of
60fps material.
--
Ticket URL: <http://code.mythtv.org/trac/ticket/7964#comment:24>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
More information about the mythtv-commits
mailing list