[mythtv-users] Poor HD Playback

Jay Foster jayf0ster at sbcglobal.net
Thu Apr 23 22:38:05 UTC 2009


> On Wed, Apr 22, 2009 at 10:37 AM, Jay Foster <jayf0ster at sbcglobal.net>
> wrote:
> >
> >> On Tue, Apr 14, 2009 at 4:49 PM, Jay Foster <jayf0ster at sbcglobal.net>
> >> wrote:
> >> >
> >> > I am new to MythTV, and have spent quite a
> bit of time
> >> resolving many other
> >> > issues.  I haven't been able to get much
> improvement
> >> with the HD playback,
> >> > and rather than continuing with the trial and
> error
> >> approach, I would like
> >> > some suggestions on what might work best to
> improve
> >> this.
> >> >
> >> >
> >> >
> >>
> >> ...one other thing to look into:  It's possible
> your
> >> problems are
> >> related to frame timing:
> >>
> >> http://www.mythtv.org/wiki/Frame_display_timing
> >>
> >> I'm currently using RTC which seems to work just
> >> fine.  I was using
> >> OpenGL which worked fine as well, but had a
> tendency to
> >> lock the the
> >> system up in combination with opengl screen
> savers.
> >>
> >> Tom
> >>
> > Thanks, Tom, that looks relevant.
> >
> > From my frontend log:
> >
> > 2009-04-21 18:50:23.865 Realtime priority would
> require SUID as root.
> > 2009-04-21 18:50:23.865 VDP: GetFilteredDeint() :
> xv-blit -> 'bobdeint'
> > 2009-04-21 18:50:23.865 Using deinterlace method
> bobdeint
> > 2009-04-21 18:50:23.968 nVidiaVideoSync: VBlank ioctl
> did not work, unimplemented in this driver?
> > 2009-04-21 18:50:23.968 DRMVideoSync: Could not open
> device /dev/dri/card0, No such file or directory
> > 2009-04-21 18:50:23.968 RTCVideoSync: Could not open
> /dev/rtc, Permission denied.
> > 2009-04-21 18:50:23.968 Set video sync frame interval
> to 33366
> > 2009-04-21 18:50:23.968 Video sync method can't
> support double framerate (refresh rate too low for bob
> deint)
> > 2009-04-21 18:50:23.968 Set video sync frame interval
> to 33366
> > 2009-04-21 18:50:23.969 VDP:
> GetFilteredDeint(onefield) : xv-blit -> 'onefield'
> > 2009-04-21 18:50:23.969 Using deinterlace method
> onefield
> > 2009-04-21 18:50:23.969 Using audio as timebase
> > 2009-04-21 18:50:23.969 Video timing method: USleep
> with busy wait
> > 2009-04-21 18:50:23.969 Refresh rate: 16702, frame
> interval: 33366
> >
> > So it's using USleep with busy wait.  I changed the
> permissions on /dev/rtc0 to be a+rw, but I still get a
> permission denied message, but no longer on the open().  It
> has also been my experience that changing the permissions of
> /dev devices is only temporary.  They seem to get reset
> after a reboot.
> >
> > 2009-04-22 05:55:51.580 RTCVideoSync: Could not set
> RTC frequency, Permission denied.
> > 2009-04-22 05:55:51.580 Set video sync frame interval
> to 33366
> > 2009-04-22 05:55:51.580 Video sync method can't
> support double framerate (refresh rate too low for bob
> deint)
> > 2009-04-22 05:55:51.580 Set video sync frame interval
> to 33366
> > 2009-04-22 05:55:51.581 VDP:
> GetFilteredDeint(onefield) : xv-blit -> 'onefield'
> > 2009-04-22 05:55:51.581 Using deinterlace method
> onefield
> > 2009-04-22 05:55:51.581 Using audio as timebase
> > 2009-04-22 05:55:51.581 Video timing method: USleep
> with busy wait
> > 2009-04-22 05:55:51.581 Refresh rate: 16702, frame
> interval: 33366
> >
> > It is also NOT using bob2x but the fallback of
> onefield.
> > I have also discovered that NVidia cards do not
> support XvMC:
> >
> > 2009-04-22 06:11:18.313 DPMS Deactivated
> > 2009-04-22 06:11:18.350 VideoOutputXv Error: XvMC
> output requested, but is not supported by display.
> > Xlib:  extension "XVideo-MotionCompensation" missing
> on display ":0.0".
> >
> > I tried checking the OpenGL Synch box, and the log
> showed it using it, but it made no difference in the display
> quality:
> >
> > 2009-04-22 05:52:11.084 DRMVideoSync: Could not open
> device /dev/dri/card0, No such file or directory
> > 2009-04-22 05:52:11.084 OpenGLVideoSync()
> > 2009-04-22 05:52:11.086 OpenGLVideoSync: x,y ->
> 640, 384
> > 2009-04-22 05:52:11.106 Using OpenGLVideoSync
> > 2009-04-22 05:52:11.106 Set video sync frame interval
> to 33366
> > 2009-04-22 05:52:11.106 Video sync method can't
> support double framerate (refresh rate too low for bob
> deint)
> > 2009-04-22 05:52:11.106 Set video sync frame interval
> to 33366
> > 2009-04-22 05:52:11.106 VDP:
> GetFilteredDeint(onefield) : xv-blit -> 'onefield'
> > 2009-04-22 05:52:11.107 Using deinterlace method
> onefield
> > 2009-04-22 05:52:11.109 Using audio as timebase
> >
> > I would think someone has gotten this to work.
>  Should I be looking for a different (non-NVidia) video
> card?  One that supports DRI?
> >
> > Jay
> 
> Since you were able to get opengl vsync enabled, and that
> didn't
> correct things, then that's not the issue apparently. 
> By the
> way...the permissions problems with RTC may be related to
> this:
> 
> http://www.mythtv.org/wiki/Frame_display_timing#Adjusting_the_RTC_Interrupt_Frequency
> 
> ...that is, it's probably trying to set the frequency
> higher than the
> max allowed...but again, I don't think RTC will change
> anything.
> 
> You're not going to be able to use Bob x2 or the new
> Interlaced x2
> without that 2903 patch.  The only "official" patch to
> that issue is
> very new and was actually only committed to trunk:
> 
> http://svn.mythtv.org/trac/changeset/20277
> 
> So the binary you have definitely won't have it.  I'm
> running under
> Gentoo with my own modified ebuild with that patch and
> others.  The
> only binary packages I'm aware of with that patch (as well
> as the new
> Interlaced x2 deinterlacer) are the ones Jean-Yves Avenard
> has built:
> 
Thanks, Tom.  I had already studied that RTC wiki and changed the value from 64 to 1024.  It made no difference.  Still get the permission denied error.  I would really like to get RTC to work to give that a try.  It is also a bit puzzling to me (from reading that wiki) why I would even need to change the max value from 64 to 1024, since I'm only using 60Hz anyway, not refresh rates higher than 64 referred to in the wiki.  I was not able to use the "echo 1024 > /proc/..." method of changing the value, since my /proc path (file system) is read-only for everyone (even root).  I used sysctl instead.

When I enable the OpenGL sync option, must I also be using OpenGL for the  filter, scaling, OSD, etc?  I tried that too, but the OpenGL stuff resulted in some gray lines on the bottom of the screen (1080i content) with the rest of the picture either squeezed or cropped of the top.  It also didn't change the frame timing problem I'm seeing.  For 720P content, I got a blank screen with audio.  I've gone back to the default (ffmpeg) as it works the best.

Even if I can get the frame timing problem fixed, I would still need to find a filter to deal with the intermixed progressive frames that NBC and CBS use in their 1080i content.  It causes a flicker/corrupted frame to flash on the screen periodically.

Jay 


More information about the mythtv-users mailing list