On 21/06/15 16:54, Petri Hintukainen wrote:
On pe, 2015-06-12 at 22:12 +0200, Richard Hulme wrote:
Hello,

How exactly should the BD_OVERLAY_CLEAR and BD_OVERLAY_WIPE commands be
implemented?

There's an example implementation in
player_wrappers/xine/input_bluray.c

The contents of the overlay are 8-bit indexes to a palette.  Each pixel
cannot do anything other than reference an entry in the palette but if
the contents of the palette can be set to anything, how can you ensure
that a pixel has been cleared?

The palette could be scanned to find a transparent entry, but is there a
guarantee that at least one entry will be transparent?  I could imagine
it's likely but not necessarily guaranteed.

Palette entry 0xff is reserved for (transparent) background. And yes,
this is clearly missing from API documentation.

Hi Petri,

Ah, excellent!  Thank you.  That makes everything slot into place.

I'd be very grateful for an explanation of the design considerations
behind these commands (or a pointer to any documentation).


<much good stuff snipped>

It is possible to patch the library to provide only complete ARGB
frames. This would simplify application side (=only one interface for
overlays).

<snip>

This feature is missing because of implementing both interfaces is quite
simple, and providing HDMV mode graphics as complete frames was never
requested ... But, I still have the code to convert everything to ARGB
inside libbluray if you think it would be useful feature.

Personally, I don't think it is necessary. Whilst having a library do everything for you is great from the application developer's point of view, I completely understand that this will either (potentially) drastically increase the required memory or the amount of work required on the library's side (and semi-continuous work at that).

Knowing that entry 0xff is guaranteed to be transparent basically clears up the conceptual problem I was having. Implementing init/clear/wipe is then trivial.

Many thanks for the clarification!

Richard.
_______________________________________________
libbluray-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/libbluray-devel

Reply via email to