Modify

Opened 13 years ago

Closed 12 years ago

#101 closed enhancement (invalid)

XVMC Colour OSD patch

Reported by: Ivor Hewitt <ivor@…> Owned by: danielk
Priority: minor Milestone: 0.20
Component: mythtv Version: head
Severity: medium Keywords: xvmc colour color osd
Cc: Ticket locked: no

Description

This is the current version of the xvmc colour osd patch. When used with the included xvmcosd theme, a 16 colour transparent on screen display is used. Still work in progress, but quite usable. Feedback welcome.

Attachments (3)

xvmcosd-6.diff (57.1 KB) - added by Ivor Hewitt <ivor@…> 13 years ago.
xvmcosd.tar.bz2 (51.7 KB) - added by Ivor Hewitt <ivor@…> 13 years ago.
OSD theme to go with patch
xvmcosd-cleanedup-v1.patch (66.9 KB) - added by danielk 12 years ago.
Ivors patch w/some cleanup

Download all attachments as: .zip

Change History (20)

Changed 13 years ago by Ivor Hewitt <ivor@…>

Changed 13 years ago by Ivor Hewitt <ivor@…>

OSD theme to go with patch

comment:1 Changed 13 years ago by sim@…

What revision is the patch against? I patched against 6831 and got the following error:

distcc g++ -c -pipe -Wall -W -Wall -Wno-switch -Os -fomit-frame-pointer `freetype-config --cflags` -D_REENTRANT -DPIC -fPIC  -DMMX -Di386 -DHAVE_DVDNAV -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr/local\" -D_LARGEFILE_SOURCE -DUSING_OSS -DUSING_XV -DUSING_XVMC -DUSING_XVMCW -DUSING_XVMC_VLD -DUSING_FRONTEND -DUSING_V4L -DUSING_DVB -DUSING_DVB_EIT -DUSING_BACKEND -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -I/usr/share/qt3/mkspecs/default -I. -I../../../../../include -I../../../../../../include -I../.. -I../libmyth -I.. -Idvbdev -Impeg -I../libavcodec -I../libmythmpeg2 -I../../../../../../include/qt3 -o osdsurface.o osdsurface.cpp
osdsurface.cpp: In function `void (* blendtoargb_8_init(const
   YUVSurface*))(const YUVSurface*, unsigned char*, unsigned char*, unsigned
   char*, unsigned char*, unsigned char*)':
osdsurface.cpp:406: error: invalid conversion from `void (*)(YUVSurface*,
   unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned
   char*)' to `void (*)(const YUVSurface*, unsigned char*, unsigned char*,
   unsigned char*, unsigned char*, unsigned char*)'
osdsurface.cpp: In member function `void I44Surface::BlendToI44(unsigned char*,
   bool, unsigned int, unsigned int) const':
osdsurface.cpp:918: warning: unused parameter `bool ifirst'
osdsurface.cpp:918: warning: unused parameter `uint stride'
osdsurface.cpp:918: warning: unused parameter `uint height'
distcc[11371] ERROR: compile osdsurface.cpp on hermes failed
make[2]: *** [osdsurface.o] Error 1
make[2]: Leaving directory `/usr/local/src/Myth/mythtv/libs/libmythtv'
make[1]: *** [sub-libmythtv] Error 2
make[1]: Leaving directory `/usr/local/src/Myth/mythtv/libs'
make: *** [sub-libs] Error 2

It's Ubuntu Hoary in case it matters.

comment:2 Changed 13 years ago by Ivor Hewitt <ivor@…>

  • Owner changed from ijr to ivor

Bah MMX.

Change line 306 of libs/libmythtv/osdsurface.cpp to:-

static inline void blendtoargb_8_mmx(const YUVSurface * /*surf*/, unsigned char *src,

comment:3 Changed 13 years ago by sim@…

Thanks, compiles now. I had a quick look and it does work.

comment:4 Changed 13 years ago by mythdev@…

Works perfectly for me to. When will it be included into svn?

comment:5 Changed 13 years ago by ijr

Haven't decided on it or not. The chroma-key OSD is a better approach, IMO.

comment:6 Changed 13 years ago by mfgalizi@…

Works great for me!

comment:7 Changed 12 years ago by danielk

  • Owner changed from ivor to danielk
  • Status changed from new to assigned

I'm going to look at this and implementing the chroma-key OSD in 0.20.

comment:8 Changed 12 years ago by danielk

  • Milestone set to 0.20

comment:9 Changed 12 years ago by ivor@…

Hi Daniel, Let me know before you do. I have a patch against current svn and with a few more tweaks/fixes. I'll tidy it up and attach.

Changed 12 years ago by danielk

Ivors patch w/some cleanup

comment:10 Changed 12 years ago by danielk

Ivor, a few things need to be addressed:

1/ Why break nVidia, Intel and ATI XvMC output? i.e. why break chromakeying? 2/ lots of formatting oddities, and un-needed formatting changes 3/ unrelated changes. It might be a good idea to do newline changes

earlier, but not in this patch...

4/ Compiler warning galore 5/ I marked some things with TODO that you might want to look at..

Also, if you broke this into smaller patches with as few dependencies as possible it would make my job much easier.

comment:11 Changed 12 years ago by ivor

Hi,

  1. I wasn't aware that it did. I had tried to write it to only kick in when you selected a matching theme. It should't break normal xvmc, I'll look into it.
  2. Well the patch has been lying around for nearly a year so naturally it's got a bit dusty.
  3. There shouldn't be any unrelated changes in there.
  4. Yup.
  5. Added to the bottom of my todo list. Need to sort out that palette code first. :)

Cheers,

comment:12 Changed 12 years ago by anonymous

LOL. ok I see the TODO is in fact on the palette code that I can't figure out at the moment! :) I'll raise the question on the dev list, basically I want a global palette on the osd/osdsurface available to all of the OSD components.

comment:13 Changed 12 years ago by will@…

has anyone got xvmcosd-cleanedup-v1.patch to apply against 0.19 ?

comment:14 Changed 12 years ago by anonymous

Actually, the Chromakey OSD fix (http://svn.mythtv.org/trac/changeset/7569) which is now in 0.19 allows a color OSD when using viaXvMC. The fix must be enabled by adding a setting to the database, which is described here

comment:15 Changed 12 years ago by anonymous

Sorry, the previous link should have been http://www.mythtv.org/wiki/index.php/XvMC

comment:16 Changed 12 years ago by anonymous

and that's got absolutely nothing to do with this ticket which is for rendering the osd using an XvMC surface.

comment:17 Changed 12 years ago by danielk

  • Resolution set to invalid
  • Status changed from assigned to closed

Ivor, if you feel inspired to work on this patch again, feel free to reopen the ticket with the updated patch. I'm closing the ticket for now since it looks like an effectively dead ticket...

Add Comment

Modify Ticket

Action
as closed The owner will remain danielk.
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.