Adobe Goes To Flash 10.1, Forgoes Security Fix For 10 320
An anonymous reader writes "The recent critical zero-day security flaw in Flash 10 may have fast-tracked the release of Flash 10.1 today. Adobe 10.1 boasts the much anticipated H.264 hardware acceleration. Except for Linux and Mac OS (PDF): 'Flash Player 10.1, H.264 hardware acceleration is not supported under Linux and Mac OS. Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs.' Your humble anonymous reporter, who is using Fedora Linux with a ATI IGP 340M, is very pleased that the developers of the OSS drivers have provided hardware acceleration for my GPU ('glxinfo : direct rendering: Yes,' 'OpenGL renderer string: Mesa DRI R100 (RS200 4337) 20090101 NO-TCL DRI2'), but even if Adobe did provide hardware acceleration for H.264 on Linux, they wouldn't provide it for me because they disable it for GPUs with SGI in the Client vendor string. Adobe 10.1, with all its goodness, now gives me around 95% CPU usage as opposed to about 75% with the previous release. Good times. I anticipate my Windows friends will have a much better experience."
Apple provided APIs (Score:5, Informative)
More like decelerated (Score:5, Informative)
Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs.
The Linux thing might be true. Even if there was one universally implemented GL desktop standard, that's not the same as having a universally implemented hardware decoding API. They're pretty much orthogonal. As far as OS X, though, nothing changes the fact that Flash uses 3x as much CPU as VLC to render the same video [flickr.com]. Spare me the apologist line of "Flash does more work than VLC!" - maybe that's their whole problem. You'd think something as widely used would have some optimized codepaths for the most common use case of playing Youtube videos.
Apple recently added an official API to access (Score:5, Informative)
Apple recently added an official API to access the H.264 decoding features of certain NVIDIA GPUs used in recent Macs. I'm sure Adobe was just rushing to get this out because of the zero-day.
Adobe will accelerate Flash video using new Apple API [arstechnica.com]
So much for 64-bit (Score:5, Informative)
No more 64-bit Linux version:
http://labs.adobe.com/technologies/flashplayer10/64bit.html [adobe.com]
The Flash Player 10.1 64-bit Linux beta is closed. We remain committed to delivering 64-bit support in a future release of Flash Player. No further information is available at this time.
"Direct rendering" != "Hardware acceleration" (Score:5, Informative)
"Direct rendering" != "Hardware acceleration".
Correct me if I'm wrong but:
- "Direct rendering" = decode the data directly to Video buffer. Otherwise the data needs to be decoded to a RAM buffer which then needs to be copied to the Video buffer to be actually displayed.
- "Hardware acceleration" = use the GPU for decoding (because a GPU is usually way faster than the CPU for this kind of work).
So you can have "direct rendering" without the "hardware acceleration" (and vice-versa though it's unlikely to happen in practice).
Re:More like decelerated (Score:3, Informative)
Re:Apple provided APIs (Score:3, Informative)
The whole hardware decoding was just a red herring anyways. Adobe is using this as an excuse as to why Flash on OS X sucks. The real problem for Adobe was that they wrote their own codecs instead of using Apple's APIs all this time. By doing so, any Flash content on Macs would require 100% CPU rendering instead of allowing the OS to use any available hardware like the GPU. I think the problem was that Adobe didn't move to the Cocoa framework which has these APIs but instead stayed on the Carbon framework which doesn't.
This is why Steve Jobs called Adobe "lazy" as Cocoa and Carbon were first released back in 2001. Adobe before CS5 of this year didn't migrate their flagship products to Cocoa. That's nine years. Adobe's side was that they were waiting for Carbon 64 which Apple canceled a few years back. I think Apple killed Carbon 64 because it would have been redundant as Cocoa was already 64 bit and more advanced already. That and Adobe may have been the only major developer who wanted it.
Re:New Apple API? (Score:5, Informative)
I thought Apple published a new API in the latest Snow Leopard.
They did. The summary is incorrect.
Re:Apple Incompetence (Score:3, Informative)
Also (Score:5, Informative)
Acceleration of H.264 is different than OpenGL acceleration. You can have a card with full GL acceleration that doesn't accelerate H.264 decoding. Indeed many older cards were like this. The original GeForce 8800s didn't have full H.264 acceleration, despite their massive amount of 3D hardware.
You have a separate API for that sort of thing, and near as I know Linux does not provide that. You could still implement it, of course, by implementing the lower level stuff needed to talk to the card in the correct way, but that is rather a lot of work and not really the place of a user mode app. Idea is the OS should provide the APIs/ABIs for that sort of thing. Driver makers then support it on the low end, apps plug in on the high end and it all works.
Re:well, of course. (Score:4, Informative)
Have you considered using FOG, which is free, do to images and just rolling out new images when this sort of PITA software updates?
FOG also includes the ability to deploy installations without doing a reimage, just seems like a good time to do it.
Re:Apple provided APIs (Score:5, Informative)
Flash is a piece of crap, but lack of hardware acceleration on OSX is 100% Apple's fault, not Adobe's. Even if you hate Adobe/Flash this new API access is a good thing because VLC and the like now have working hardware acceleration as well.
Download Links (Score:5, Informative)
If you don't like the 'Adobe Downloader', use this page:
http://www.adobe.com/products/flashplayer/fp_distribution3.html
Re:Also (Score:3, Informative)
It does, VA-API or VDPAU.
Re:Let's kill Flash (Score:3, Informative)
Apple's already working on it!
Re:So much for 64-bit (Score:4, Informative)
The old 10.0.45 version of it appears to still be downloadable from here [macromedia.com] (not sure if there was another version after that).
However, given the rate at which security issues crop up in Flash, you are probably better off using the nspluginwrapper thunking stuff or other method for your distro that makes the 32 bit plugin work on 64 bit Linux, rather than running an out of date Flash plugin.
Re:Apple provided APIs (Score:5, Informative)
For example:
- H.264 video in a Quicktime container played by an Apple player = Hardware acceleration enabled.
- The exact same H.264 stream repackaged in an non-Quicktime container (AVI, MKV etc) = Hardware acceleration disabled.
I'm sure the developers of VLC, Mplayer, Perrian and the like would have loved to use QTKit and CoreAnimation like you suggest. But they can't because those APIs simply do not work.
Re:Direct Download? (Score:5, Informative)
Re:Apple provided APIs (Score:3, Informative)
What bunch BS you are spreading. The Cocoa code migration problem is related to the desktop editing software like Photoshop and Illustrator. The Flash player code base is completely separate and have totally different issues. Most of them require changes in NPAPI and a lot of people at Adobe, Apple, Google and Opera are working on that as we speak. The other stupid comment you made about the codecs - how the hell you are supposed to call APIs that are not public? Apple just recently opened some of its internal video related API and made it available for 3rd parties. Mac fanbois like you are really getting on my nerves.
Re:More like decelerated (Score:2, Informative)
Re:!News (Score:5, Informative)
Who else would have to foresight to include embedded executable code and a javascript engine in a print document format?
It's even worse than that. Take a good look at version 1.7 of the PDF spec [adobe.com]
From section 7.11.4.1 of chapter 13, which is titled "Multimedia Features"
And worse yet, quoting from one of the descriptions of flags in table 44:
In other words, you can ALSO embed the LIVE feed from your webcam in a PDF document.
Re:More like decelerated (Score:5, Informative)
Re:Apple Incompetence (Score:3, Informative)
Now, Flash is a horribly programed pile of crap which is why it uses 3X the CPU of VLC to decode the same video on OSX. But neither of them are using hardware acceleration because it's impossible for a third party to do so on OSX, at least prior to this new API. Compare VLC on OSX to Windows or Linux on the same hardware. It still uses a massive amount more CPU on OSX than the others.
Indeed Apple did (Score:5, Informative)
Here is the relevant tech note for the "Video Decode Acceleration Framework" on MacOS X: http://developer.apple.com/mac/library/technotes/tn2010/tn2267.html [apple.com]
Re:Direct Download? (Score:5, Informative)
Re:Laptops turning into leaf blowers going bye bye (Score:5, Informative)
For a start, Adobe could at least try and do YUV to RGB using OpenGL, that would help, but they wont do it. Little things like this Adobe refuse to do, it will only take someone a day to write the code, this will make your computer go from a leaf blower to a vacuum cleaner. *sigh*
Re:Apple provided APIs (Score:3, Informative)
If I look at my cpu while viewing my company's homepage which has a large flash animation, I get the following results on OS X (imac 27" 4x core i7).
10.0: around 150% (1.5 cores)
10.1: around 75-80%
So, while an improvement this hardware acceleration doesn't really change the fact that flash on the Mac still sucks. It shouldn't take 80% of your CPU just to view a webpage.
Re:New Apple API? (Score:5, Informative)
XBMC has it integrated. [xbmc.org] 10.6.3 came out on March 29th. [apple.com] and XBMC had it a week later. Come on Adobe.
They also manage to have acceleration in linux with both VDPAU [wikipedia.org] and VAAPI [builditsolar.com].
Re:The new API is unusable (Score:3, Informative)
Why do we even need hardware accelerated h.264 decoding? My mac at work has it, and my ~6 year old mac at home doesn't have it. The only difference seems to be playing 1080p video.
For youtube quality... there's no reason to have hardware decoding except to conserve battery life. Adobe should be able to get 60 frames per second at low CPU usage on any processor released in the last 5 years, but they struggle even to achieve 20 frames per second at 100% cpu usage!
Adobe is the *only* video decoder with this problem. QuickTime, Windows Media Player, MPlayer, etc... they've all been decoding video perfectly fine for decades!
Re:Apple provided APIs (Score:5, Informative)
Still that misses the point. The so-called acceleration APIs are supposed to work outside of Quicktime too. Yet they don't. VLC has tried to use the official APIs and they just don't work. It's not a simple as calling the Quicktime code paths or not. Even basic things like video overlays don't work with the old APIs on OSX.
If the old APIs worked then why did Apple just release a "new" API that does?
If only there were a "video accelleration API"... (Score:3, Informative)
http://en.wikipedia.org/wiki/VaAPI [wikipedia.org]
Nvidia's wildly successful VDPAU implements VaAPI, as does:
-S3
-intel GMA500
-radeon UVD2
Re:Laptops turning into leaf blowers going bye bye (Score:5, Informative)
Adobe cant't do that, because Flash is not designed to play video [adobe.com]. Think about it. Flash mixes MovieClips with vector and timeline content, all with z-axis alpha-blended content. It must transfer video into RGB in order to mix it with the bitmap data from vector sources, bitmap sources and from the font renderer. Flash can use sophisticated codec helpers for some tasks, but it will never be as good as dedicated devices like the iPad, which can only play one video format with specific limitations. This isn't to say that Flash is some kind of failure -- only that it was designed to solve a different problem.
Re:Apple provided APIs (Score:3, Informative)
Re:Idiot (Score:2, Informative)
Re:Apple provided APIs (Score:2, Informative)
The Finder was originally written in Carbon (pre-OS X) when Apple first released Carbon to show that Carbon was a "serious" framework that people should take seriously and use. Apple had the problem that they were going to release a brand spanking new operating system and needed independent (third-party) devs to use an API that worked with the new OS, thus was Carbon born. It worked on both OS 9 and OS X, and Apple used the Finder as an "Eat your own dog food" sort of thing. It continued to do so until it was no longer going to support Carbon.
The only other "parts" of OS X are the DVD Player, Grapher, iTunes and Front Row. These are all user-level applications. iTunes continues to be Carbon because it eases cross-platform development. DVD Player, Grapher and Front Row are not exactly going to benefit from using Cocoa/going 64-bit, etc.
On the other hand, Adobe makes some of the slowest garbage around. Its Creative Suite is comparable to the different kinds of shits you have after eating different food.
Re:So much for 64-bit (Score:1, Informative)
Hulu is never going to use [hulu.com] HTML5 video.
When it comes to technology, our only guiding principle is to best serve the needs of all of our key customers: our viewers, our content partners who license programs to us, our advertisers, and each other. We continue to monitor developments on HTML5, but as of now it doesn’t yet meet all of our customers’ needs. Our player doesn’t just simply stream video, it must also secure the content, handle reporting for our advertisers, render the video using a high performance codec to ensure premium visual quality, communicate back with the server to determine how long to buffer and what bitrate to stream, and dozens of other things that aren’t necessarily visible to the end user. Not all video sites have these needs, but for our business these are all important and often contractual requirements.
Re:Apple provided APIs (Score:1, Informative)
>The real problem for Adobe was that they wrote their own codecs instead of using Apple's APIs all this time.
Please name the codecs that Adobe has developed.
You might find it hard as flash video uses the following codecs:
- Sorenson Spark
- On2 VP6
- H.264
None of which were developed by Adobe.
Please also explain why other software developers have had such huge problems with hardware video acceleration in OSX if the APIs that Apple provided were so great.