Linked by Thom Holwerda on Thu 2nd Dec 2010 23:20 UTC
Multimedia, AV The sweet smell of competition is lingering in the air. That sweet smell which indicates that somewhere in the vicinity a company is working on actually improving a product so we can all benefit. This time around, it's Adobe, delivering the first Flash 10.2 beta. Prime feature? Complete hardware acceleration of the entire video pipeline - fully cross platform, cross-form factor. Cross-platform! There's a catch, though.
Thread beginning with comment 452080
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: Thank Apple
by kaiwai on Fri 3rd Dec 2010 13:51 UTC in reply to "RE[4]: Thank Apple"
kaiwai
Member since:
2005-07-06

I didn't mean to imply that they did use QTX merely that QTX uses the same framework as flash. But I wonder if the framework has been neutered, as I can only accelerate a VERY limited set of h264 vids in OSX versus VDPAU.

I would argue that flash performance is fairly craptacular in Safari (on OSX) too at least in comparison to windows. It is better than it used to be but still not good as of 10.1, haven't tried 10.2 because adobe fail with 64 bit. The flash codebase must be a wretched tangle if they can't recompile the source to 64 bits very easily.


They're hardware limitations and nothing to do with VPAU - the following lists the limitations:

http://en.wikipedia.org/wiki/Nvidia_PureVideo

There is little Apple can do in terms of the limitations apart from maybe creating a whole new framework that is based on top of GLSL rather than tapping into the video decoding part of the GPU. It would be more complex but it would also probably support a lot more video formats, sizes on more GPU's.

Regarding the codebase, it wouldn't surprise me if it was like a horror film - At some point I think Adobe need to clear out the crud, break backwards compatibility because it isn't just Adobe suffering but many developers having to work around bugs at the same time; it doesn't help anyone in the long run to have perpetual backwards compatibility if it comes at the expense of improvements in the future.

Reply Parent Score: 2

RE[6]: Thank Apple
by _txf_ on Fri 3rd Dec 2010 15:36 in reply to "RE[5]: Thank Apple"
_txf_ Member since:
2008-03-17



They're hardware limitations and nothing to do with VPAU - the following lists the limitations:

http://en.wikipedia.org/wiki/Nvidia_PureVideo

There is little Apple can do in terms of the limitations apart from maybe creating a whole new framework that is based on top of GLSL rather than tapping into the video decoding part of the GPU. It would be more complex but it would also probably support a lot more video formats, sizes on more GPU's.


Unfortunately files that work using VDPAU in linux don't work in OSX. These are only h264( I'm not including VC-1 and divx which are also accelerated under vdpau but not in osx). VDPAU works on everything thrown at it, QTX chokes on most things (in terms of bitstream acceleration).
Seeing as flash seemed to have a similar discrepancy between DXVA2 and the accel framework on osx suggests to me there is something wrong with the framework on osx. It would be interesting to see what the differences are between all the platforms now that bitstream acceleration is available to all.

Apple really needs to improve the acceleration framework and QTX. They really ought to do it fast, especially after they coasted on the old QT framework since the early 90s piling crap on top of it much the same way that adobe is doing to flash now.

Edited 2010-12-03 15:42 UTC

Reply Parent Score: 3

RE[7]: Thank Apple
by kaiwai on Sat 4th Dec 2010 02:20 in reply to "RE[6]: Thank Apple"
kaiwai Member since:
2005-07-06

Unfortunately files that work using VDPAU in linux don't work in OSX. These are only h264( I'm not including VC-1 and divx which are also accelerated under vdpau but not in osx). VDPAU works on everything thrown at it, QTX chokes on most things (in terms of bitstream acceleration).


VDPAU is only available on a small subset of video cards on Mac OS X with their justification that their desktops are already fast as it is and thus don't require the additional acceleration provided by VDPAU. I don't agree with their position but that is their position none the less.

Regarding QTX, I'm assuming you're talking about QuickTime X the application and not QtKit the framework (QuickTime X is based on QtKit, the old framework wouldn't have been updated for hardware acceleration) - it depends on whether they're still using their internal private API or whether they've moved to the VDPAU. It is all speculation at this point until someone at Apple gives us the heads up on what is happening but I wouldn't be surprised if the QtKit hasn't been moved over yet.

The hardware acceleration that people see in QuickTime X only came about with the launch of the early 2009 MacBook Pro/MacBook which had the 9400M GPU and preloaded with Mac OS X 10.5.6 but it was not until 10.6.4 that the VDPAU framework was added which I speculate was developed by by nVidia rather than Apple themselves given that it is pretty much mirrors VDPAU. Given that Apple doesn't develop the nVidia drivers themselves I'd say it is more likely than not that Apple got nVidia to develop a framework that taps into their drivers. With the gap between the Video Acceleration Framework making its appearance (and stabilising) and the delivering of hardware acceleration in QtKit (and in turn QuickTime X) I'd say that the QtKit is probably still using the private framework that originally appeared in 10.5.6.

It makes sense for them to use VDPAU for QtKit but it depends on whether they had enough time to make it so - and that is where the problem lies. As for VDPAU I really question whether having a vendor specific framework that taps into vendor specific hardware is actually useful in the long run when it would be better for Apple to recreate VDPAU using GLSL which would make it hardware agnostic. As long as the underlying hardware supports for example GLSL 1.30 then it will accelerate video decoding - yes I'm sure it would be complex in the initial design and implementation but if it means that Apple can design a framework once and for it to last over multiple generations of GPU hardware then it would be a move in the right direction.

Seeing as flash seemed to have a similar discrepancy between DXVA2 and the accel framework on osx suggests to me there is something wrong with the framework on osx. It would be interesting to see what the differences are between all the platforms now that bitstream acceleration is available to all.


Windows is a different kettle of fish because right now they're working to replace their spaghetti of API's with a single framework called 'Media Foundation':

http://en.wikipedia.org/wiki/Media_Foundation

According to the wikipedia article (which one takes with a grain of salt) it'll eventually replace a whole host of API's as the foundation features expand. I am assuming that with such a hardware agnostic framework that what Microsoft is doing is using their shader language as the basis of DXVA2 rather than it tapping into a specific part of the GPU. It will be interesting though what Windows 8 will deliver in terms of further Media Foundation development - whether there it will be completed or whether, like so many other frameworks, stay in a state of limbo until someone can be bothered finishing off an otherwise great idea on paper.

Apple really needs to improve the acceleration framework and QTX. They really ought to do it fast, especially after they coasted on the old QT framework since the early 90s piling crap on top of it much the same way that adobe is doing to flash now.


I think you're confusing the framework with the player. The framework itself has already been updated - QtKit which was provided in 10.5 and further enhanced in 10.6 is the completely Cocoa based QuickTime framework but the problem is that many developers aren't using it because they fear if they do then they'll cease supporting 10.4 customers.

Apple for example still uses the old QuickTime framework when it comes to iTunes for example which is one of the reasons why it hasn't become 64bit yet. Apple's professional tools are still using the old QuickTime carbon framework - again it is very difficult to get third parties moving forward when Apple isn't making the first move especially if you have a product that competes with Apple - if you move before Apple and thus you throw away 10.4 compatibility and Apple keeps to the old carbon API (thus supporting 10.4 customers) you could potentially lose customers.

As for accelerating the framework, the QtKit framework has already been highly optimised but the question is whether third parties are using the QtKit framework or whether they're using the old carbon one. I also note in my reply to the first paragraph that we don't know the internals of QtKit and what role VDPAU plays or whether they're still using an internal private API.

Edited 2010-12-04 02:34 UTC

Reply Parent Score: 4