I was thinking that you can already achieve it on Amiga by using current OpenGL functionality.
Right, that would indeed be possible. I'm not sure it would be particularly fast on current MiniGL implementations though. First of all, you'd probably have to do the YUV -> RGB conversion yourself. Then, the texture you'd generate would be converted to some underlying Warp3D format, which amongst other things, will impose a 2^n width and height restraint on it, which implies further software conversion (width modulus expansion for example). The hardware 3D driver may then expect the resulting texture to be formatted in some special manner intended for faster texturing (subpatching, for example), where what you really want in this case is to render the texture with the least amount of fuss, then replace it with the next frame ad infinitum. With the sole exception of output scaling, I can actually see it being a slower than a software only implementation at this stage.
Of course it doesnt have to be exposed via OpenGL (only). BVision and CVision boards expose overlay support using standard overlay API on Amiga and users dont have to know how it works under the hood.
Precisely. As I recall, it was cgxvirgin.library that supported it, if you enabled a LAYER=DESTRUCTIVE tooltype in the monitor driver or something (I don't recall exactly). You could tell it was a textured triangle fan when you made the window large enough, occasionally you could see the leading diagonal when the video wasn't properly synced.
Not really true, at least on Amiga. Overlay works with windowing and compositing just fine.
Then you aren't using an overlay (at least not a traditional one). A hardware overlay, by definition, is not part of the current frame buffer any more than a hardware mouse cursor is. Modern overlays, however, tend to be implemented in a manner not unlike the Permedia2 did and as such can integrate nicely into a proper windowing environment.
Heh, I just remember that good old never released Dragon2 even implemented overlay emulation so you could expose two mplayers with overlay simultaneously... it was only software based and quite slow but it worked
Sounds fun