Mailing List archive

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

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



Chris Worley writes:
 > Klaus Schmidinger wrote:
 > 
 > > Chris Worley wrote:
 > > You can have 1, 2, 4 or 8 bpp. However, since OSD memory is very limited,
 > > using more than 4bpp leaves you with only a very small usable OSD area.
 > > 
 > > Another drawback of the DVB card's OSD is that it isn't very fast.
 > > Drawing a lot of text with many separate calls is way too slow to be
 > > useful. That's why VDR mainly uses the OSD_SetBlock call to transfer
 > > a bitmap (or parts of it) from VDR's memory to the OSD. This works fast
 > > enough to be useful (IMHO).
 > 
 > Klaus,
 > 
 > Thanks for responding.
 > 
 > 4bpp works, 8bpp doesn't (for SetPixel, FillBlock, or SetBlock).  The 
 > routines all return zero, but nothing is drawn.  I fill all 256 color 

That's because OSD commands are not handled in such a way in the
firmware to be able to return a value. So, you always get zero.


 > palette entries with a valid color (and 0xf0 blend), but no graphics. 
 >   It works fine if I switch to 4bpp (and make a 16 entry color table).
 > Where can I learn more about OSD memory (and what I need to handle 
 > 8bpp graphics correctly)?
 > 
 > Another reply to this post said DirectFB works for the DVB cards.  Is 
 > that true?  If so, then there should be some way to get a memory 
 > mapped pointer directly into the DVB-S cards graphics framebuffer memory?

No, we use DirectFB on the graphics card of the PC instead of the
OSD of the DVB card. The video of the DVB card is then overlayed with the 
video of the PCs VGA card. You will need a VGA card with TV-out of
course. Most "PC-Set-Top-Box" solutions use boards with on-board VGA 
with TV-out and this works very well. 


Ralph






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



Home | Main Index | Thread Index