Overlay support for AmigaOS4 (Radeon R100/R200)

Discuss any general programming issues here
samo79
Posts: 26
Joined: Wed Jul 18, 2012 2:12 pm

Overlay support for AmigaOS4 (Radeon R100/R200)

Post by samo79 »

@Andreas

Any chance to add a proper overlay support (AmigaOS4) for the next version of Hollywood ?

Overlay was supported since the old AmigaOS 4.0 Final Update:
Picasso96 and drivers
Radeon Overlay (PIP) support
Extended P96 PIP API (double/triple-buffering possibility allowing perfectly smooth animation)
However Hollywood videos in AmigaOS still slow because it seems you still doesn't support of it yet :cry:
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by airsoftsoftwair »

I'm afraid it's not possible because the old Picasso96 overlay APIs are not sufficient for Hollywood's needs but these APIs won't be updated because nobody at Hyperion invests any more time into overlay because it's clearly a thing of the past. So I'm afraid there won't be overlay support for OS4. The only way to get hardware acceleration on OS4 is to use a RadeonHD with hardware YUV conversion. The MorphOS version of Hollywood supports overlay, though, because the CyberGraphX overlay APIs are better and offer everything Hollywood needs.
samo79
Posts: 26
Joined: Wed Jul 18, 2012 2:12 pm

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by samo79 »

Mmm exactly what kind of extra API features you need for ?
Maybe we can rise a feature list to send to our OS's developers ...
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by airsoftsoftwair »

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.
samo79
Posts: 26
Joined: Wed Jul 18, 2012 2:12 pm

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by samo79 »

AFAIK since AmigaOS 4.1 Final the good old Picasso96 things turned as obsolete, it's all related to the graphics.library V54 now ... time permitted would be good if you can check this ...
For now i raised a request to Massimo Tantignone (he is pretty capable and one of the best Amiga developer out there) and i include your quote in my mail so i hope to receive somethings in reply, if not eventually i will open a thread in the Hyperion forum too, let's see if i got some reply first ! ;)
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by airsoftsoftwair »

samo79 wrote:AFAIK since AmigaOS 4.1 Final the good old Picasso96 things turned as obsolete, it's all related to the graphics.library V54 now ...
I know, but it's still the same old stuff. There's really nothing new... it's just old wine in new skins.
samo79
Posts: 26
Joined: Wed Jul 18, 2012 2:12 pm

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by samo79 »

I contacted Rwo (Renè Olsen) via PM in the Hyperion forum ... he doesn't promise anythings because actually he is busy with other things, but later i hope he will ;)
samo79
Posts: 26
Joined: Wed Jul 18, 2012 2:12 pm

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by samo79 »

airsoftsoftwair wrote:I know, but it's still the same old stuff. There's really nothing new... it's just old wine in new skins.
Posted an enhance request for you, please have a look to this thread:

http://forum.hyperion-entertainment.biz ... =36&t=3235
User avatar
Juan Carlos
Posts: 887
Joined: Mon Sep 06, 2010 1:02 pm

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by Juan Carlos »

Dammed overlay problems under AmigaOS 4 and MorphOS.
User avatar
airsoftsoftwair
Posts: 5433
Joined: Fri Feb 12, 2010 2:33 pm
Location: Germany
Contact:

Re: Overlay support for AmigaOS4 (Radeon R100/R200)

Post by airsoftsoftwair »

@samo79:
Tried P96PIP_ClipXXX but they don't seem to work at all on my Pegasos II with Radeon 9250. Or I am doing something wrong but that's hard to tell since there is no documentation on those P96PIP_ClipXXX tags at all.
Post Reply