Thursday, April 22, 2010

Video Decode Acceleration Framework

Technical Note TN2267:

This reference describes the Video Decode Acceleration framework available on Mac OS X 10.6.3 and later […] 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.

Looks like this was provided so Adobe could make Flash more efficient.

26 Comments RSS · Twitter

I disagree. It looks to me like it was provided so Adobe would have no reason anymore to whine about how it's not their fault if Flash is a slimey slug.

"Looks like this was provided so Adobe could make Flash more efficient."

The Nuclear War is about mobile platforms, not OS X. Seriously, do people really think either Apple or Adobe cares much about Flash playback on OS X?

I'd say this is more relevant to folks like EyeTV and VLC and Perian, no? The ability to rely on the graphics chip for decode with hi-def material is where the rubber meets the road. Apple is just giving other fullscreen video developers the hooks that Quicktime is already using in Snowy.

Flash can already play back smoothly without hardware acceleration on new machines as long as it's just a tiny window in a web browser, which I'm guessing is how folks use Flash.

I could well be wrong here, but from my limited perspective, this framework is primarily about fullscreen players, not Flash. And if Adobe can leverage this to make folks' laptops run a little bit cooler, then that'd be a nice side benefit.

-----

An interesting tangent: I've installed Snowy on only one of my rigs - the Mini that drives my HDTV for audio/video playback using a homebrew Sofa Control setup for lean-back usage.

And voila, Snowy actually delivers on the promises of much better H.264 playback. The noticeable playback stutters in 720p that were present in Leopard are completely gone in Snowy. Playback is actually 100% smooth now.

Considering I bought the Mini last year on the vaporware promise that the upcoming release Snowy would cure all H.264 blues by unleashing the graphics chip, it was nice for me to see Apple actually deliver fully on a promise.

@Chucky There are lots of sites such as Hulu that offer higher resolution videos via Flash. It reflects poorly on Apple if these don’t play well on Macs. Also, it’s not just about smooth playback. Doing this in hardware will save battery power, reduce the need for the fans, allow more processing to happen in the background, etc. If this were about developers, I wouldn’t expect Apple to put this in a 0.0.1 update. They got it out sooner so that Adobe has no more excuses.

"They got it out sooner so that Adobe has no more excuses."

Assuming you are correct that this is all about Flash, it does become interesting to speculate on whether this is intended as a hostile or friendly gesture towards Adobe from Apple...

"NVIDIA GeForce 9400M, GeForce 320M or GeForce GT 330M"

These GPUs are only available on MacBooks. Why doesn't Apple support H.264 hardware decoding on desktop Macs?

"These GPUs are only available on MacBooks."

The exact same good NVIDIA integrated graphics chips are in the Mini and smaller iMac.

I'd guess the whole H.264 decode thing is a NVIDIA specific feature. I have no idea what the higher end ATI graphics chips do with H.264.

I see now that the Mac mini and the low-end iMac model (but not the high-end iMacs or Mac Pro) also have NVIDIA GeFore 9400M.

Hamranhansenhansen

>"NVIDIA GeForce 9400M, GeForce 320M or GeForce GT 330M"
>These GPUs are only available on MacBooks

Also Mac mini. The battery powered systems need this more to save battery and keep the fans off. On my MacBook Air, Flash is the one and only thing that starts the fans. Possibly support for iMac and Mac Pro will be forthcoming, but they're just starting where it's needed most.

Also, I believe more than 50% of the userbase is covered by just 9400M. It makes sense to start here.

[...] mer: Video Decode Acceleration Framework Glöm inte att följa Teknikveckan på Twitter Relaterade inlägg:John Gruber om Apple, Adobe [...]

[...] Apparently, this document went up March 29, so I’m surprised to only find out about it now. (via Michael Tsai) The Pixo OS-based one, that is. [...]

[...] has been asking for — it should provide a big improvement to Flash Player H.264 playback. (Via Michael Tsai.) [...]

I sure wouldn't mind if Apple enabled hardware decoding on slightly older models that support it. Say, hose with a GeForce 8600...

[...] Michael Tsai is reporting that Apple has released a note outlining how third-party developers can now enable the hardware-acceleration of H.264 video with compatible graphics cards. 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. [...]

Christopher Bort

now here is a surprise. installed the beta version of flash (http://labs.adobe.com/downloads/flashplayer10.html). in a terminal:

> hexdump -C /Library/Internet\ Plug-Ins/Flash\ Player.plugin/Contents/PlugIns/FlashPlayer-10.6.plugin/Contents/MacOS/FlashPlayer-10.6 | grep VDADecoder

009c4ec0 00 56 44 41 44 65 63 6f 64 65 72 43 72 65 61 74 |.VDADecoderCreat|
009c4ed0 65 00 56 44 41 44 65 63 6f 64 65 72 44 65 63 6f |e.VDADecoderDeco|
009c4ee0 64 65 00 56 44 41 44 65 63 6f 64 65 72 46 6c 75 |de.VDADecoderFlu|
009c4ef0 73 68 00 56 44 41 44 65 63 6f 64 65 72 44 65 73 |sh.VDADecoderDes|

so flash must be using this. i do not see any noticeable improvement.

[...] has been asking for — it should provide a big improvement to Flash Player H.264 playback. (Via Michael Tsai.) [...]

[...] Tsai, il primo a scavare tra le API e a riportare la notizia, fa notare le diverse implicazioni dell’accelerazione hardware per i video H.264. Non solo ora Flash ad alta risoluzione sarà molto più fluido, ma anche a livello di consumo [...]

[...] has been asking for — it should provide a big improvement to Flash Player H.264 playback. (Via Michael Tsai.) [...]

[...] Michael Tsai came across a technical note from Apple published on March 29 that describes how third-parties can now access hardware acceleration of H.264 video on the Mac: This reference describes the Video Decode Acceleration framework available on Mac OS X 10.6.3 and later […] 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.” [...]

[...] Michael Tsai is reporting that Apple has released a note outlining how third-party developers can now enable the hardware-acceleration of H.264 video with compatible graphics cards. 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. [...]

[...] base a quanto riporta MacRumors, Micheal Tsai ha pubblicato un post sul suo sito Internet nel quale si parla di una nuova nota tecnica emessa da Apple il 29 marzo scorso. Nel documento [...]

[...] Michael Tsai – Blog – Video Decode Acceleration Framework [...]

[...] — debería suponer una gran mejora para la reproducción de vídeos H.264 con Flash Player. (Visto a Michael Tsai). Buscar [...]

[...] encoded videos). Even if some of Flash’s performance problems on the Macintosh is related to Apple’s lag in exposing hardware acceleration APIs, people are simply not going to buy that Adobe shouldn’t shoulder some blame for crashing and [...]

[...] il recente aggiornamento a Mac OS X 10.6.3, Apple ha per la prima volta integrato un framework per la codifica video che consente di accelerare la riproduzione di filmati Flash. Le API sono [...]

Leave a Comment