Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Need help understanding OSD ioctls, mostly SetColor and SetBlock.




There doesn't seem to be any documentation on the OSD ioctls (or 
library calls).  If there is, please point me there and I'll RTFM.

I've been looking at VDR's use of OSD, but it seems minimal.

VDR only calls "open" with 4bpp.  The libdvb OSD.c seems to limit bpp 
in the open call to 15.  "LoadBitmap" seems to have a limit of 8bpp. 
How big can the color palette be?

In calling OSDSetcolor, the last argument is "blend".  Is this an 
alpha blend?  The "blend" seems to only use the top 4 bits of the byte 
in the driver. What does the range mean (i.e. is 0xf0 or 0x00 all 
graphics or all video)?

In general, I don't seem to be able to set colors... as if some other 
setup is necessary before colors can be set.  Any ideas what I'm doing 
wrong?

Calling OSDSetBlock hangs the app and the driver.  I think it's in the 
LoadBitmap routine, but I need to investigate this further to be sure. 
  The driver needs to be reloaded to be usable again after a call to 
OSDSetBlock.

VDR has a comment:

      //XXX Workaround: apparently the bitmap sent to the driver 
always has to be a multiple
      //XXX of 8 bits wide, and (dx * dy) also has to be a multiple of 8.
      //TODO Fix driver (should be able to handle any size bitmaps!)

I've tried this with OSDSetBlock, but it doesn't help... the hang 
still occurs.  Are there other constraints with SetBlock that aren't 
documented?

I'm using the latest driver checked out of CVS on a SuSE 7.0 system.

Thanks,

Chris



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index