[mythtv] TV-out, interlacing & XvMC

Robert Clark mythtv at ratty.org.uk
Wed Sep 29 15:00:09 EDT 2004


  I have a PAL recording from DVB (720x576, 50Hz interlaced, 16:9) which
I'm playing back via the new Unichrome XvMC VLD driver to my TV. I have
everything set up to avoid deinterlacing but something in MythTV appears
to be breaking interlacing.

  I can play back the same nuv file through MPlayer with the Unichrome
patch and interlacing is definitely working. For example: if I pause
playback during fast motion the paused image flickers noticeably.
Pausing MythTV during fast motion gives a static image with no
flickering. I thought this might be some cleverness with MythTV
deinterlacing paused images so I tried a "killall -STOP mythfrontend" as
well with the same result.

  I've tried the obvious thing and changed videoout_xvmc.cpp to always
pass XVMC_FRAME_PICTURE to XvMCPutSurface but it doesn't seem to make a
difference.

  Here's a sample from mythfrontend's debug output:

2004-09-29 15:18:21 Using protocol version 13
2004-09-29 15:18:23 detectInterlace(Detect Scan, Detect Scan, 25, 576) ->Interlaced Scan
2004-09-29 15:18:23 Interlaced: Interlaced Scan  video_height: 576  fps: 25
2004-09-29 15:18:23 Estimated bitrate = 256000
2004-09-29 15:18:24 Position map filled from DB to: 5980
2004-09-29 15:18:24 SyncPositionMap prerecorded, from DB: 5780 entries
2004-09-29 15:18:24 detectInterlace(Ignore Scan, Interlaced Scan, 25, 576) ->Interlaced Scan
2004-09-29 15:18:24 Interlaced: Interlaced Scan  video_height: 576  fps: -1
2004-09-29 15:18:24 Position map found
2004-09-29 15:18:24 Opening OSS audio device '/dev/dsp'.
2004-09-29 15:18:24 Audio fragment size: 4096
2004-09-29 15:18:24 Over/underscan. V: 0, H: 0, XOff: 0, YOff: 0
Using XvMC version: 1.0
2004-09-29 15:18:24 XvMCSurfaceTypes::find(w 720, h 1, c 0, i 2, m 0,sw 0, sh 56, disp, p<= 56, 5760 <=p, port, surfNum)
2004-09-29 15:18:24 Trying XvMC port 56
2004-09-29 15:18:24 Found a suitable XvMC surface 0
XvMC found and using VLD surface
2004-09-29 15:18:24 Using XV port 56
ViaXvMC: RTC driver running at 8192 Hz.
2004-09-29 15:18:24 Image size. dispxoff 6, dispyoff: 0, dispwoff: 708, disphoff: 576
2004-09-29 15:18:24 Image size. imgx 0, imgy: 0, imgw: 720, imgh: 576
2004-09-29 15:18:26 Changing from None to WatchingPreRecorded
2004-09-29 15:18:26 nVidiaVideoSync: Could not open device /dev/nvidia0, No such file or directory
2004-09-29 15:18:26 Using realtime priority.
2004-09-29 15:18:26 Using video as timebase
2004-09-29 15:18:26 Video timing method: DRM
2004-09-29 15:18:26 Refresh rate: 19999, frame interval: 40000
2004-09-29 15:18:26 waiting for prebuffer...
2004-09-29 15:18:26 prebuffer wait timed out..
2004-09-29 15:18:26 waiting for prebuffer...
2004-09-29 15:18:26 prebuffer wait timed out..
2004-09-29 15:18:26 waiting for prebuffer...
2004-09-29 15:18:27 prebuffer wait timed out..
2004-09-29 15:18:27 waiting for prebuffer...
2004-09-29 15:18:27 prebuffer wait timed out..
2004-09-29 15:18:27 waiting for prebuffer...

  I'm running CVS from 2004-09-24 with qmatrix and jitter fixes posted
by Terry Barnaby to the Unichrome-devel list.

  There was some discussion of XvMC deinterlacing recently:

http://www.gossamer-threads.com/lists/mythtv/users/84224#84224

> > - if the video is interlaced and deinterlacing is turned off, it 
> > sends the first field (poor-man's deinterlacing, same idea as the 
> > 'onefield' deinterlacer. 
> 
> I've actually disabled this in latest CVS. =)

What I'm seeing does look like onefield deinterlacing, however.

  Where should I be looking in the code to track down the source of this
deinterlacing?

	Robert


More information about the mythtv-dev mailing list