Opened 18 years ago
Closed 18 years ago
#512 closed enhancement (fixed)
Chromakey OSD
Reported by: | danielk | Owned by: | danielk |
---|---|---|---|
Priority: | minor | Milestone: | 0.20 |
Component: | mythtv | Version: | head |
Severity: | low | Keywords: | |
Cc: | Ticket locked: | no |
Description
Implement Chromakey OSD. This will allow systems slower than 2.8 Ghz to view HDTV material using the proprietary nVidia drivers.
Attachments (4)
Change History (12)
comment:1 Changed 18 years ago by
comment:2 Changed 18 years ago by
Adds code to disable Chromakey OSD on cards/drivers that do not support chromakeying. This avoids using this OSD display method when it won't work. i.e. with the nvidia 6600+ cards with the latest closed source drivers, or with earlier cards when the user has XvmcUsesTextures? set to true in the xorg.conf file.
Changed 18 years ago by
Attachment: | xv_chromaosd.diff added |
---|
Attached file should allow chroma key to work for Xv as well as XvMC (ie PVR 350)
Changed 18 years ago by
Attachment: | log-r8396.gz added |
---|
log from r8396, using a nvidia geforce fx 5200 and driver 7174
comment:3 Changed 18 years ago by
I seem to still get prebuffering pauses with chromakey osd and mythtv from svn (r8396). I'm using a geforce fx 5200 with nvidia driver 7174. I've attached a log with -v libav,osd,playback -- let me know if thats enough or if you want a log with 'all'.
Is there anything I can do to help debugging the issue? The recent chromakey additions really have helped a ton and have made it nearly usable. The prebuffering pauses only happen every so often now, rather than all the time.
Changed 18 years ago by
Attachment: | log-8463.gz added |
---|
Log with same hardware as before, r8463 seems to be skipping more now, 'all' verbosity selected
comment:4 Changed 18 years ago by
I have tried turning this feature on and it does work great for video streams coming from my ATSC HDTV Air2PCI card, but when I switch back to my bttv card, the OSD is just junk lines across the picture. The garbage lines are related to the OSD because they come when I click the info button they appear, then fade away. When I bring up the menu, they appear, then when I escape from the menu they go away.
I went back into the database and remove the entry to turn on the setting, and everything is back to the way it was before. (HDTV studdering, and bttv working fine)
I am using svn r8625.
comment:5 Changed 18 years ago by
I have similar problem as the previous comment. I am using a Dvico ATSC DVD Fusion Lite. The Chromakey OSD works fine for HD content but it is junk for SD content (both ATSC). It is as if the font was scaled like 10 times too large and then written to every nth line of the video output.
comment:6 Changed 18 years ago by
(In [8906]) References #512. Apply John Harvey's patch for ChromaKey? OSD w/XVideo.
This doesn't effect anyone not using this experimental feature. But if you are using the ChromaKey? OSD and watch both MPEGs and non-MPEGs this should make the OSD work on those non-MPEGs. This may fail to draw the OSD if you use Xinerama and the XVideo only supports chromakey on a monitor other than the one which the window is on.
Changed 18 years ago by
Attachment: | osdcrash.diff added |
---|
fixes segfault by preventing the osd being drawn while embedding the video in the program guide
comment:7 Changed 18 years ago by
comment:8 Changed 18 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Closing ticket, chromakey osd is handled reasonably well in the mythtv-vid branch.
(In [7569]) References #512.
This implements a basic chromakey OSD.
For it to be enabled, you must have this in your xorg.conf "Devices" section:
And you have to insert a "UseChromaKeyOSD","1",hostname setting in the settings table.
This currently makes no claim to efficiency, this clears the a buffer to the chromakey color w/borders, and then plops the OSD on top of it; creating an RGB OSDSurface or creating a specialized, chromakey painting, OSD blend function would probably be much faster. What this does make a claim to is not being too disruptive to the rest of the code.