[mythtv-commits] Ticket #12004: Short seeks intolerably slow with HDPVR and vdpau

MythTV noreply at mythtv.org
Sun Jan 12 20:36:28 UTC 2014


#12004: Short seeks intolerably slow with HDPVR and vdpau
-------------------------------------+----------------------------
 Reporter:  mythtv@…                 |          Owner:  stichnot
     Type:  Bug Report - General     |         Status:  accepted
 Priority:  minor                    |      Milestone:  unknown
Component:  MythTV - Video Decoding  |        Version:  0.27-fixes
 Severity:  medium                   |     Resolution:
 Keywords:                           |  Ticket locked:  0
-------------------------------------+----------------------------
Changes (by stichnot):

 * owner:   => stichnot
 * status:  new => accepted
 * component:  MythTV - General => MythTV - Video Decoding


Comment:

 For background, MythTV seeking works by first quickly seeking to the
 nearest preceding keyframe, then decoding forward, frame by frame, until
 the desired frame is reached.  For an HD-PVR, that can be up to 127
 frames, and since some Nvidia hardware can decode HD-PVR recordings only
 slightly faster than real time (also true for CPU decoding), this can
 sometimes take several seconds.  If you try to take a shortcut and seek
 directly to the target frame, you end up with bad pixelation until the
 next keyframe is displayed.

 The current code tries to soften this delay by assuming that further-away
 seeks can tolerate higher inaccuracy.  When the tolerance allows, it snaps
 to the nearest keyframe and avoids slow frame-by-frame decoding.  This is
 an improvement much of the time, but the unpredictable long delays for
 some short seeks severely detracts from the user experience.

 I think this approach can be vastly improved by limiting the frame-by-
 frame decoding to a certain length of time - a fraction of a second - in
 most cases.  I attached a proof-of-concept patch that limits the search to
 100ms for all seeks.  (A real solution would probably use a higher limit,
 and would not enforce a time limit in certain cases like single-frame
 seeking, seeking to a bookmark, and mythpreviewgen seeking.)  Feedback
 appreciated.

--
Ticket URL: <http://code.mythtv.org/trac/ticket/12004#comment:1>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list