Opened 14 years ago

Closed 14 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)

xv_chromaosd.diff (529 bytes) - added by John Harvey 14 years ago.
Attached file should allow chroma key to work for Xv as well as XvMC (ie PVR 350)
log-r8396.gz (19.6 KB) - added by dieman@… 14 years ago.
log from r8396, using a nvidia geforce fx 5200 and driver 7174
log-8463.gz (64.7 KB) - added by Scott Dier <dieman@…> 14 years ago.
Log with same hardware as before, r8463 seems to be skipping more now, 'all' verbosity selected
osdcrash.diff (422 bytes) - added by tralph11@… 14 years ago.
fixes segfault by preventing the osd being drawn while embedding the video in the program guide

Download all attachments as: .zip

Change History (12)

comment:1 Changed 14 years ago by danielk

(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:

Option "XvmcUsesTextures?" "false" # use 3d engine for overlays

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.

comment:2 Changed 14 years ago by danielk

(In [7677]) References #512.

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 14 years ago by John Harvey

Attachment: xv_chromaosd.diff added

Attached file should allow chroma key to work for Xv as well as XvMC (ie PVR 350)

Changed 14 years ago by dieman@…

Attachment: log-r8396.gz added

log from r8396, using a nvidia geforce fx 5200 and driver 7174

comment:3 Changed 14 years ago by dieman@…

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 14 years ago by Scott Dier <dieman@…>

Attachment: log-8463.gz added

Log with same hardware as before, r8463 seems to be skipping more now, 'all' verbosity selected

comment:4 Changed 14 years ago by tharding@…

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 14 years ago by chasejunk@…

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 14 years ago by danielk

(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 14 years ago by tralph11@…

Attachment: osdcrash.diff added

fixes segfault by preventing the osd being drawn while embedding the video in the program guide

comment:7 Changed 14 years ago by danielk

(In [9072]) References #512. Fixes a crash in experimental Chromakey OSD.

comment:8 Changed 14 years ago by danielk

Resolution: fixed
Status: newclosed

Closing ticket, chromakey osd is handled reasonably well in the mythtv-vid branch.

Note: See TracTickets for help on using tickets.