[mythtv-users] Success with XvMC and interlacing (SD)

Cymen Vig cymenvig at gmail.com
Thu Mar 30 22:57:12 UTC 2006


I've noticed a number of posts discussing XvMC and interlacing. I'm
running MythTV SVN from  sometime before .19 was released (I don't
happen to know the SVN number -- anyone know of a way of telling from
the install/binaries?).

Until recently, I was happy with MythTV but I wasn't blown away with
the picture quality and assumed it was due to my hardware. This all
changed when 1) I enabled interlacing in X and switched the screen
resolution to 720x480 (from 640x480), 2) and started using the -ck2
kernel patch.


1) Enabling Interlacing

I used "cvt" to find a nice interlaced ModeLine to use with my Nvidia
GeForce4 MX 440 (with AGP8X using Nvidia AGP).

ModeLine:
Modeline "720x480_60.00i"  13.50  720 744 808 896  480 483 493 496 
Interlace  +HSync +Vsync

Refresh settings:
Option  "HorizSync"         "15.0 - 96.0"
Option  "VertRefresh"       "50.0 - 75.0"

Nvidia driver version:
NVRM version: NVIDIA Linux x86 NVIDIA Kernel Module  1.0-8178

I am using the SVideo out port on the video card to connect to a SD
TV. I do not have any Deinterlacing setup in MythTV but I am using
XvMC with RTC for the frame timing (I tired OpenGL for video sync a
while ago and it created a high CPU load on my Celeron D340 ~ 2.93
Ghz).

As far as I can tell, interlacing is now working properly. Before I
switched to interlaced mode in X, every other scan line on the TV was
black at all times. I did not realize this and wondered why my
tinkering with Deinterlacing never made a difference.

With X interlaced, all of the scan lines are showing up in the TV and
action (like panning) is much smoother. The picture quality is of
course much better with what basically amounts to twice the vertical
resolution (due to the odd issue described above).

2) Using the -ck2 kernel patch

Kernel: 2.6.15-ck2
Some discussion of the CK2 patch: http://lwn.net/Articles/167736/
Patch site: http://ck.kolivas.org/patches/2.6/

Using this has made it possible for me to set the frontend and backend
to real time priority. I am using some hacks to do this but all
stuttering has been eliminated and the occasional dropped frame in
backend recordings doesn't happen nearly as often (if at all). I also
set backend processes that are not time critical to SCHED_BATCH. This
helps a lot -- things like mythcommflag don't cause any notice
application slow downs.


Next Step

I hate to tinker with sucess so I am reluctant to change anything but
I do plan on trying OpenGL syncing again and upgrading. I want to try
OpenGL syncing as I am not 100% certain the interlacing working
properly but, to my eye, things appear much better. As mentioned, I
notice improvement in action scenes, panning, and in the display of
fine objects like hairs.


More information about the mythtv-users mailing list