I hate to disillusion you but I'd be very surprised if anyone at Hyperion still cared about anything overlay related, but try it if you want.
Here's what I wrote to Hyperion's invite-only OS4 developer mailing list back in August 2010 (that was the time when I implemented video support in Hollywood):
Hmm, I don't think the Picasso96 PIP APIs are sufficient to achieve what I
want. I'd need the following:
PIP window must be embedded in my main window. This means that clipping
must be done in case the PIP window exceeds the boundaries of my main
window. Consider the following case:
Main window is 800x600
PIP window is 352x288
Now the user moves the PIP window to offset (-100|-100) via Hollywood API
SetVideoPosition(vh, -100, -100) or something. This means that 100 columns
on the left and 100 rows on the top side of the PIP window must be cut off now,
and the factual size of the PIP window is now only 252x188 pixels, although I'm
still feeding 352x288 sized YUV data of course.
The same applies when the user moves the PIP window to offset (700|500).
This would mean that 252 columns on the right side and 188 rows on the bottom
side have to be cut off. The effective size of the PIP window will be 100x100
pixels now.
AFAICS, it's not possible to have Picasso96 API doing this automatically. Instead,
I'd have to do the YUV clipping on my own, then recreate the whole shebang using
the clipped coordinates. This will of course look very quirky when the user is
doing certain things, i.e. he could attach a playing video to the mouse pointer.
As long as no clipping needs to be done, the video will move very smoothly but
as soon as the user starts to move the mouse cursor in a way that the video is
only partly visible, it will get very flickery because the PIP window has to be
destroyed and recreated constantly. Not very good.
What I'd need is a new tag for p96PIP_OpenTagList() that allows me to set a
clipping rectangle. The PIP window should then only fetch YUV data that is
within this clipping rectangle. With such a new tag, translating a PIP window
by (-100|-100) outside of my main window's boundaries, could easily be achieved
by doing something like this:
struct Rect32 rc;
rc.MinX = 100;
rc.MinY = 100;
rc.MaxX = 351;
rc.MaxY = 287;
p96PIP_OpenTags(
P96PIP_SourceWidth, 352,
P96PIP_SourceHeight, 288,
P96PIP_ClipRect, &rc, // PROPOSAL!
P96PIP_Left, 0,
P96PIP_Top, 0,
P96PIP_Width, 252,
P96PIP_Height, 188,
TAG_DONE
...);
CyberGraphX 5 can do all this but I don't see any possibility to do it with
Picasso96 (prove me wrong). So for now, I'll keep the OS4 backend in
software drawing mode until the APIs are more flexible...
Got no reply. You can see that I really wanted to support this on OS4 right from the start but nobody at Hyperion could be bothered to even comment on it. Hence, on overlay support for OS4.