5 ms·
If Adobe wants access to h264 acceleration, use the QuickTime libraries. In fact, why isn't Adobe using QTKit? Why are they rolling out their own appalling h2
by coldnose 17y ago
If Adobe wants access to h264 acceleration, use the QuickTime libraries.
In fact, why isn't Adobe using QTKit? Why are they rolling out their own appalling h264 implementation?
- wmf 17y agoAdobe claims there's a mismatch between QTKit and Flash Player's rendering model, so using QTKit would either introduce more overhead or require a re-architecture of Flash Player.
- Anechoic 17y agoHow does Perian handle it?
- wmf 17y agoAFAIK Perian doesn't use hardware decoding either. Also, Perian isn't bound by the weird Flash rendering model. http://blogs.adobe.com/penguin.swf/2010/01/solving_different_problems.html http://blogs.adobe.com/penguin.swf/2010/01/solving_different...
- duskwuff 17y agoPerian is just a set of decoders for QuickTime, not a full video player pipeline.
- GeneralMaximus 17y agoYes. Perian mostly includes ffmpeg decoders that plug into the OS X Component Manager.
- yuvi 17y agoBy not overriding Apple's decoder for baseline and main profile H.264
- bobbyi 17y agoWell then, I guess they need to re-architect some of Flash Player. They've had more than three years to get this figured out.
- coldnose 17y agoI performed a little experiment on my MacBook (Core 2 Duo, no hardware acceleration). With flash, rendering 720p h264 routinely eats 100% of the cycles on one of my cores. That same video eats 10-20% in QuickTime. This isn't very scientific - ignoring cache and lots of other considerations - but memcpy()ing 30fps of 720p video from one buffer to another eats 5%. Decoding h264 in QT, and copying the buffer would take 15-25% total. 25% compares favorably to 100%. I'm aware that the problem is the way Flash writes into Safari's window. But if Adobe thinks that h264 acceleration would dramatically improve its performance, they'd still have to copy frames into Safari somehow. (Maybe they mean they want to write directly to the GPU's buffer...)
- kelnos 17y agoI may be misremembering, but I believe QTKit basically just lets you hand it encoded video data, and then it decodes and renders it to the screen (where you tell it to, of course). Because of how browser plugins work, Flash needs an API that will let them decode the video, get the decoded YUV data back, and then do something with them. I don't think QTKit provides this. This is why VDPAU on Linux is also unsuitable for in-browser video acceleration.
- bshep 17y agoThats what video compositing is for I am not a QTKit expert but just quick glance over the documentation they offer QTMovieLayer which allows you to have multiple layers of media which will be composited later ( i.e. one for video, one for the media controls, etc )
- kelnos 17y agoCool! I hadn't known about QTMovieLayer. Thanks for the correction.