Slashdot Mirror


Adobe Goes To Flash 10.1, Forgoes Security Fix For 10

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."

25 of 320 comments (clear)

  1. Apple provided APIs by ryanw · · Score: 5, Informative

    Apple has provided the API's to do the hardware decoding, and Adobe has a beta called Gala which has Mac OSX Hardware Acceleration enabled.. Adobe will have a release out soon that will incorporate the hardware decoding in OSX. My guess is Adobe had to fast-track the release of 10.1 to compensate for the wide open security holes they had lingering, and weren't prepared to merge the beta and the final release trees.

    1. Re:Apple provided APIs by UnknowingFool · · 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.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    2. Re:Apple provided APIs by washu_k · · Score: 5, Informative

      No, the previous hardware acceleration APIs on OSX do NOT work. Check the problems VLC has had. Nothing except officially blessed Quicktime components could do H.264 acceleration on OSX until now despite Apple's claims. Even other plugins working through the Quicktime framework were denied access.

      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.

    3. Re:Apple provided APIs by washu_k · · Score: 5, Informative

      No, you're not getting it. The APIs like QTKit and CoreAnimation CLAIM to support video acceleration, but they don't. At least they don't to anything except what Apple allows.

      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.

    4. Re:Apple provided APIs by Anonymous Coward · · 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.

    5. Re:Apple provided APIs by washu_k · · Score: 5, Informative

      Perian is a pluggin for Quicktime. It most certainly is using Apple's media framework. All it does is pass the SAME video streams you might find in a MOV file to the Quicktime decoders. It doesn't have a H.264 decoder of it's own like VLC, it just passes the data to Quicktime's H.264 decoder. Yet Quicktime disables hardware decoding because it did not come from a "blessed" source.

      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?

  2. More like decelerated by Just+Some+Guy · · 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. 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.

    --
    Dewey, what part of this looks like authorities should be involved?
    1. Re:More like decelerated by by+(1706743) · · Score: 3, Informative

      But flash does more work than VLC! For instance, if you right-click on your VLC window, do you get an "About Adobe Flash Player XX..." option? Didn't think so. You'd be surprised how many CPU cycles that little bugger eats up.

    2. Re:More like decelerated by Per+Wigren · · Score: 5, Informative

      Linux has VA-API, the one true standard for hardware accelerated video decoding on Linux. Adobe should just use that and not struggle with the various proprietary vendor-specific APIs (VDPAU, XvBA, etc).

      --
      My other account has a 3-digit UID.
  3. Apple recently added an official API to access by thestudio_bob · · Score: 4, Informative

    and Mac OS X does not expose access to the required APIs.

    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

    --
    The real Sig captains the Northwestern. This one captains /.
  4. So much for 64-bit by innocent_white_lamb · · Score: 5, Informative

    No more 64-bit Linux version:

    http://labs.adobe.com/technologies/flashplayer10/64bit.html

    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.

    --
    If you're a zombie and you know it, bite your friend!
    1. Re:So much for 64-bit by Fnkmaster · · Score: 3, Informative

      The old 10.0.45 version of it appears to still be downloadable from here (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.

  5. "Direct rendering" != "Hardware acceleration" by Nahor · · Score: 4, 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).

  6. Re:New Apple API? by gyrogeerloose · · Score: 4, Informative

    I thought Apple published a new API in the latest Snow Leopard.

    They did. The summary is incorrect.

    --
    This ain't rocket surgery.
  7. Also by Sycraft-fu · · Score: 4, 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.

  8. Re:well, of course. by h4rr4r · · Score: 3, 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.

  9. Download Links by Anonymous Coward · · Score: 5, Informative

    If you don't like the 'Adobe Downloader', use this page:
    http://www.adobe.com/products/flashplayer/fp_distribution3.html

  10. Re:Direct Download? by Anonymous Coward · · Score: 5, Informative
  11. Re:!News by melstav · · 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

    From section 7.11.4.1 of chapter 13, which is titled "Multimedia Features"

    If a PDF file contains file specifications that refer to an external file and the PDF file is archived or transmitted, some provision should be made to ensure that the external references will remain valid. One way to do this is to arrange for copies of the external files to accompany the PDF file. Embedded file streams (PDF 1.3) address this problem by allowing the contents of referenced files to be embedded directly within the body of the PDF file.

    And worse yet, quoting from one of the descriptions of flags in table 44:

    (Optional; PDF 1.2) A flag indicating whether the file referenced by the file specification is volatile (changes frequently with time). If the value is true, applications shall not cache a copy of the file. For example, a movie annotation referencing a URL to a live video camera could set this flag to trueto notify the conforming reader that it should re-acquire the movie each time it is played. Default value: false.

    In other words, you can ALSO embed the LIVE feed from your webcam in a PDF document.

  12. Re:Apple Incompetence by washu_k · · Score: 3, Informative

    The problem is those previous APIs don't actually work. Read through the VLC forums sometime on the problems they've had implementing acceleration on OSX, it's quite enlightening. Nothing that Apple hasn't blessed can use the old APIs and actually have the hardware acceleration work.

    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.

  13. Indeed Apple did by Midnight+Thunder · · Score: 4, 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

    --
    Jumpstart the tartan drive.
  14. Re:Direct Download? by lyinhart · · Score: 4, Informative
    --
    Freedom is drinking a beer in the park when you're supposed to be at work.
  15. Re:Laptops turning into leaf blowers going bye bye by SimonTheSoundMan · · Score: 4, 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*

  16. Re:New Apple API? by 0100010001010011 · · Score: 4, Informative

    XBMC has it integrated. 10.6.3 came out on March 29th. and XBMC had it a week later. Come on Adobe.

    They also manage to have acceleration in linux with both VDPAU and VAAPI.

  17. Re:Laptops turning into leaf blowers going bye bye by ink · · Score: 5, Informative

    Adobe cant't do that, because Flash is not designed to play video. 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.

    --
    The wheel is turning, but the hamster is dead.