OpenCL and hardware x264 accelleration

To drag out a tired old horse once more
From what I could see, one of the potentially best things mentioned in WWDC today was OpenCL. They were rabbiting on about it being a standard that would allow developers to tap into the GPU through while talking to a standard API (much like directX I assume).

Does this mean that it'll at least be possible to use the GPU for x264 decoding (ala Quicktime) without reverse engineering graphics drivers?

There may be life in the old mini yet ;)

my understanding is that openCL was similar to nvidia’s cuda (and whatever ati calls its graphics computing api this week) except that it is completely vendor/architecture/platform neutral and a completely open standard. as such it is designed for offloading general purpose computing to the massive teraflops available in the GPU, and not really inclined specifically towards video acceleration. i believe that openCL video acceleration would require the ffmpeg team code an openCL powered decoder. and even in the case that they did so, it would be quite benificial, but not nearly as much so as purevideo/vdpau are. that said even though the opencl specification has been final for a while now, there hasnt been any real interest in it over at ffmpeg yet, partly because snow leopard isnt here yet and opencl will only benefit mac users in the immediate future (probably eventually linux, but it will likely never come to windows in our our lifetimes) and partly because it would require writing a new video decoder core from scratch in opencl, adding vdpau acceleration was relatively simple, they used a well defined api made specifically for video to simply pass the stream to nvidia’s hardware decoders. personally i believe that opencl wont be particularly useful for video decoding (video encoding on the other hand would be an ideal field to apply it) and think our best chance of seeing open video acceleration on os x is praying that nvidia releases vdpau for us.



that said, all current gen macs are plenty capable of decoding 1080p x264 in software, so the only tangible benefit of hardware acceleration for me at least would be to free up the processor for other tasks and a significant reduction in power consumption while playing HD video and likely reduce heat output as well. but it would be helpful/necessary for the future once we start seeing 4k HD video and mainstream wavelet compression.



btw, the old minis (with intel gma graphics) will not support openCL, only the new minis with the nvidia 9400m.



Yes, ok....
But QTX in snow leopard appears to use h264 hardware acceleration with compatible graphic cards...
[link](http://www.apple.com/it/macosx/specs.html)


QuickTime has had hardware decoding for some time now - of course Apple won't open up the APIs to allow it for anything *but* their software, so we're somewhat buggered there.

Good points. But just a request. In the future, can you use capitalization when you write? It's really hard to read what you wrote. It all becomes a jumbled mess =)

Billy Joe,



Thanks for the very comprehensive response.



So - the upshot is, sounds good, doesn’t help us :frowning:



lets hope quicktimeX has some (more) reasonable hooks supporting external decoders/containers to conform to their "TimingProtocols"
it would be rather nice to use the CoreAnimation CAMovieLayer for anything else than .mov

And i guess that its not possible to limit openCL to certified Apple-only apps like quicktime did with hardware acceleration.

Oops, I missed that ‘X’ hiding there on the end of the QT… :unsure: