[mythtv] [exp. patch] xv xvmc merge

Todd Tidwell artist at wildstar.net
Fri Apr 1 16:41:50 UTC 2005



> -----Original Message-----
> From: mythtv-dev-bounces at mythtv.org [mailto:mythtv-dev-bounces at mythtv.org]
> On Behalf Of Daniel Kristjansson
> Sent: Wednesday, March 30, 2005 4:51 PM
> To: Development of mythtv
> Subject: [mythtv] [exp. patch] xv xvmc merge
> 
> Ok, this is a big patch.
> 
> It merges the XVideo and XvMC video output implementations.
> 
> This allows is fallback from XvMC to XVideo to X w/shared memory,
> down to X without shared memory. I've added a "NO_XVMC" environment
> variable to go with the "NO_XV" and "NO_SHM" environment variables,
> so you can disable XvMC from the command line.
> 
> Of course, this also reduces redundancy since XvMC is just a special
> case of XVideo.
> 
> There are a couple bug fixes:
>   1/ If we run out of frames when blending the OSD in XvMC's
>      ProcessFrame call we no longer deadlock, but instead
>      simply don't render the OSD. (and print an error message.)
>   2/ If you change the letterbox mode to one that clips
>      the frame at the top, it no longer results in extra
>      vigorous bobbing.
>   3/ If you don't have "GuiSizeForTV" set and resolution
>      switching is enabled, the wrong size buffers were
>      allocated. This has been fixed.
> Some features:
>   A/ More fine grained locking. We now have a per-frame lock
>      which allows ffmpeg to call DrawSlice to send packets
>      to the video card, while an unrelated frame is being
>      shown on the screen. (This also allows removal of
>      "XXX Ugly hack" in the XvMC Show method).
>   B/ Fall back mentioned before. i.e. if you have XvMC
>      enabled, but no available adapter capable of it,
>      then MythTV will try to fall back to a less efficient
>      method instead of bailing.
> Some possible/probable new bugs:
>   a/ I've not yet added locking to the Init and tear-down rutines.
>      This may cause problems due to InputChanged() method.
>   b/ Some sections aren't finished and some changes tested and
>      those are marked with "// TODO"
>   c/ I may have missed a needed lock somewhere, or added a lock in
>      the wrong order. (See top of videoout_xv.h for proper lock order.)
>   d/ In avformatdecoder, I could not reset the stream completely I
>      started it with a CODEC_ID_MPEG2VIDEO codec. So instead I
>      start it with CODEC_ID_MPEG2VIDEO_XVMC[_VLD] and reset to
>      the normal CODEC_ID_MPEG2VIDEO later if XVMC mode is not
>      requested. This results in some "bad stream" messages, but
>      is otherwise harmless.
>   e/ something else...
> Some unfixed bugs
>   i/ Sometimes on "studder" when OSD is on screen.
> 
> Please test, especially on Epia and eith HDTV content, or if you are
> currently experiencing lockups with the XvMC code in CVS.
> 
> This is a first draft, so there are probably unneeded changes, ugly
> bits, etc.
> 
> -- Daniel

I applied this patch to CVS as of 7:30 AM PST and was unable to view any TS
file.  It just seems to be unable to read them after this patch is applied.
It just pauses and my screen goes blank afterwards and stays that way until
I kill mythfrontend.

-Todd




More information about the mythtv-dev mailing list