[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