Then how come this only works on 10.6.3 (after Apple shipped an update ) and only on the latest GPUs ?
http://developer.apple.com/mac/library/technotes/tn2010/tn2267.html
You're referencing the low-level API introduced in March, making your rhetorical question a circular one.
Note the prominent disclaimer on the page you link: "IMPORTANT: The Video Decode Acceleration framework only decodes video frame data and does not provide video playback or stream parsing capabilities. Using the QTKit QTMovie object with QTMovieOpenForPlaybackAttribute enabled is the recommended way for applications to automatically access GPU accelerated playback of H.264 encoded media."
QTMovie and related APIs have been hardware accelerated by the system as long as there has been hardware acceleration. H.264
specialized acceleration is relatively new, but also available through the system. H.264 specialized acceleration outside of QTKit was a bone tossed in their direction, but something other developers had long been able to use. "Apple doesn't provide the API" has always been demonstrably false.
If it existed long ago in the general Cocoa API why does Apple only support this on the latest bleeding edge OS drop and a limited subset of GPUs ?
Because "this" is a conflation on your part of two discrete APIs. VDADecode is new; QTMovie's system acceleration and GPU offloading is not. It's been available as long as CoreVideo has existed (10.4). You are also conflating general hardware acceleration with specialized codec acceleration. Adobe's performance problems are based on the fact that until 10.1, they took advantage of neither.
There is a huge difference between dragging in Quicktime and sticking an additional layer of abstraction (moving your software and the decoder farther apart ) and simply being able to pump data through
There is an equally
huge difference between letting system frameworks do the heavy lifting and reinventing the wheel without regard for those system frameworks. Adobe coded for Windows and then, when porting to other platforms like Linux, OS X, and Solaris, lost those advantages. There can be no denying that fact.
It's a perfectly valid choice, but not one that supports an argument that the reason there's no video acceleration is because no one else would
let you.
Not true. In order for Flash to support anything, the browser first has to support it in the plugin framework.
A red herring on two levels. First, Quartz plugins have been possible since Firefox 2's Leopard update (October 2007) and even longer for Safari.
Second, the plugin framework is just for the plugin executable itself--the associated processes and media can and do pass through separately if built correctly, just as the many PDF plugins from the early days of Firefox demonstrate. Even Firefox's QuickTime plugin triggered the system processes in 2005. If the limitation were the browser, that wouldn't have been possible.
Adobe was forced to wait on neither browser developers nor Apple. They waited until now because they chose to do so. It is as simple as that.