Upcoming Industry Conferences
Streaming Media West [13-14 November 2018]
Live Streaming Summit [13-14 November 2018]
Streaming Forum [26 February 2019]
Past Conferences
Streaming Media East 2018 [8-9 May 2018]
Live Streaming Summit [8-9 May 2018]
Content Delivery Summit [7 May 2018]
Streaming Forum [27 February 2018]

Adobe to Enable Flash Hardware Acceleration on the Mac
New Apple API will let Adobe take advantage of hardware-accelerated video decoding for Flash Player on the Mac, though not in 10.1

We'll make this one short and sweet. Late last week, several outlets reported that Apple had released a new API called the Video Decode Acceleration framework. According to the document:

"The Video Decode Acceleration framework is a C programming interface providing low-level access to the H.264 decoding capabilities of compatible GPUs such as the NVIDIA GeForce 9400M, GeForce 320M or GeForce GT 330M. It is intended for use by advanced developers who specifically need hardware accelerated decode of video frames."

Several sites, including MacRumors, speculated that the new API would enable Adobe to port the hardware acceleration that debuted on Windows in Flash Player 10.1 to the Mac. Since I couldn't tell whether the new API would give Adobe the necessary programming "hooks" to do this, I sent the following email to our Adobe PR contact for Flash, with a link to the MacRumors article.

Does Adobe have any official response to this?
 
http://www.macrumors.com/2010/04/22/apple-opens-door-to-hardware-accelerated-decoding-of-h-264-in-flash-and-other-platforms/
 
Does it give you what you need?
 
Please let me know.

Jan


Shortly thereafter, I got the following response.

Hey Jan,

This is our statement for now.

"We will be enabling support for hardware accelerated video decoding for Flash Player on Mac. Now that the required APIs are available, we are working on an additional Flash Player release to follow shortly after Flash Player 10.1 to include this functionality for the hardware configurations supported by the new APIs."

I’ll ping you in a few days with more information...

Thanks

Analysis
At one level, this is a clear win/win for both companies, and most importantly for Mac users who have supported graphics cards, who should experience much more efficient playback of Flash video. Apple's exposing these APIs should also do a lot to cool the rhetoric flying about between the two companies, which while amusing, was pretty much a waste of everyone's time. It's also going to focus real attention on Adobe's efforts to make Flash more efficient on the Mac, since before and after comparisons of CPU usage, battery life and the like will likely be run by many technology magazines, websites and blogs. 

On the other hand, the soup du jour is the iPad, and obviously this new API will have no direct impact on whether Apple will allow Flash on that platform. That said, if hardware acceleration on the Mac helps Flash get rid of the "CPU hog" label, it eliminates one of the key publicly-stated reasons that Apple declined to allow Flash on the iPad and iPhone architecture. Frankly, I don't care to rehash the "Flash is also buggy and lacks security" or "Apple didn't allow Flash into the walled garden to protect their App store revenue," arguments, since we've already beaten them to death. 

Interesting things happen, though, when reality replaces supposition. If Flash on the Mac proves every bit as efficient as it is on Windows, it will have a powerful impact on the perception of why the iPad doesn't support Flash. Certainly Apple is more comfortable pointing fingers at Adobe than admitting that they de-featured their glittery new toy to protect revenue. On the other hand, if Mac-based Flash performance still trails Windows significantly, you won't need a hearing aid to perceive the "I told you so's" coming from Cupertino. 

Overall, it's a great move by Apple, and a wonderful opportunity for Adobe. Let's see how it plays out. 

Related Articles
Apple's Steve Jobs has been making headlines by slamming Flash as a "CPU Hog." Is it really?