On Mon, 2005-10-17 at 16:47 -0600, Chris Dos wrote: > Relevant System Componets: > AMD Sempron 64 1600+, overclocked to 2.0 ghz from 1.6 (lot of head room in > that > nVidia FX5200 DVI Card (Using XvMC, This outputs to my DLP HDTV) This is your real problem, the nvidia implementation of XvMC doesn't work with MythTV's blended OSD. I'm not sure if a Sempron 64 1600+ can do software decoding of HDTV. If it can, you should use that.
> It took me a good three weeks to the HD-3000 card to work properly. I kept > getting the "A/V diverged by 4.28889 frames, extending frame to keep audio in > sync" errors whenever I had the sound enabled on MythTV. Disable the sound > and > 720p and 1080i would play flawlessly. Enabled sound, and the dropping frames > would occur again. I think the A/V diverged code is somewhat broken, but that just amplifies the nVidia XvMC problem. > Nothing worked, until I changed the DVB recording buffer options. MythTV > defaults with 8192 for "Per PID driver buffer size" and "Packet buffer". I > changed this to 16464 and HDVD played flawlessly (well, as good as XvMC and > OSD > can play nice together). So the problem doesn't appear to be sound related, > just how much buffer was available to fit the signal. Hmm, interesting. I might just up the buffer by default... > Does SVN no longer use the buffer settings? It should still respect those settings. > Any insight into finding out what this problem is would be greatly > appreciated. Sure. The XvMC code used to cause machines to lock up and require a hard-reboot back in the 0.16 days, in 0.17 and 0.18 we added some X11 locking, preventing the Linux kernel lockups. We also reserved two surfaces for blending the OSD to the display frame, preventing the mythfrontend itself from locking up. This made XvMC safe to use, but also made it impractical to use it for HDTV, at least with the nVidia drivers/hardware. It works fine for HDTV on HDTV capable VIA XvMC hardware; but there you have 16 XvMC surfaces, rather than the 8 that nVidia gives you. If you think about it, after allocating one frame for display, two for blending, one for the last I/P frame, one for the next I/P frame, and one for the currently filling B frame, then you only have 2 frames left for buffering. You need really fast graphics hardware and a really fast main processor to make that work at 1920x1080... It is cheaper to buy a less fast main processor (2.8Ghz P4) and use software MPEG2 decoding, plus you get higher quality results. Someone had promised to implement a chromakey based XvMC OSD, which would free up the crucial blending surfaces and make HDTV viable with the limited nVidia drivers/hardware, but he didn't deliver. Anyway, implementing chromakey OSD is now on my MythTV TODO list for after the next MythTV release. Chromakey OSD wouldn't look as nice, it would in fact look like the mplayer OSD, but it would free up 2 XvMC surfaces. So you have a buffer of 4 frames rather than 2. My tests showed this is sufficient for non-sports programming @ 1920x1080 to work well on a P4 @ 1.8 Ghz. -- Daniel
_______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
