Announcement

Collapse
No announcement yet.

WebM, Theora Acceleration Talked About For Gallium3D

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • WebM, Theora Acceleration Talked About For Gallium3D

    Phoronix: WebM, Theora Acceleration Talked About For Gallium3D

    Earlier this week I mentioned a student developer looking to partake in Google's Summer of Code was interested in creating an H.264 state tracker for Gallium3D whereby any graphics card with a Gallium3D driver could have H.264 video decoding support using VA-API / VDPAU and accelerating the operations in shaders on the GPU, where in theory at least it would be universally supported across all drivers on this architecture. It's still looking hopeful that this will be hacked on this summer, but a few interesting points have been expressed...

    http://www.phoronix.com/vr.php?view=OTI1Ng

  • #2
    can someone explain why the WebM format is being implemented using OpenCL (the github project and Veerappan) and they try to implement h264 using shaders???

    is it simply a different solution or there are technical reasons behind it?? from what i read many people say both formats are similar.

    Comment


    • #3
      Originally posted by 89c51 View Post
      can someone explain why the WebM format is being implemented using OpenCL (the github project and Veerappan) and they try to implement h264 using shaders???

      is it simply a different solution or there are technical reasons behind it?? from what i read many people say both formats are similar.
      Just different solutions. The shader approach would probably require less overall work, since there's a lot of work needed on clover before OpenCL itself works.

      Comment


      • #4
        Originally posted by 89c51 View Post
        can someone explain why the WebM format is being implemented using OpenCL (the github project and Veerappan) and they try to implement h264 using shaders???

        is it simply a different solution or there are technical reasons behind it?? from what i read many people say both formats are similar.
        I believe it is just different people approaching the problem in different ways based on their interests and comfort level with various technologies. Programming shaders directly in driver code makes it easier to integrate the resulting code into an efficient driver stack without having to copy buffers around more than necessary but results in a less portable solution -- programming in OpenCL allows to you focus more on getting the algorithms and implementation right without having to worry about hardware specifics and should give a more portable result.

        Programming in OpenGL with GLSL shaders would probably be somewhere in between but not sure if that would be best of both worlds or worst.

        Comment


        • #5
          thanks guys

          Comment


          • #6
            At the end of the day, both approaches end up running on shaders.

            Comment


            • #7
              In response to the VDPAU vs VA-api comments when I was speaking with some devs previously I was told this wasn't much of a big deal as a decent state tracker would be able to expose both api's without too much dificulty

              Comment


              • #8
                "- It was also mentioned there is someone working on WebM support over OpenCL (see the GitHub), but that's currently slower than a CPU-based solution and the open-source drivers currently don't have OpenCL support. "

                hmm dont you read your own message board Michael

                http://phoronix.com/forums/showthrea...458#post186458
                Veerappan

                also, i wonder why non of the devs in the [Mesa-dev] GSoC : Video decoding state tracker for Gallium3d thread mention using the ffmpeg xVP8 with it's optimisations by Jason Garrett-Glaser,Ronald S. Bultje etc being the fastest CPU VP8 code http://x264dev.multimedia.cx/archives/499 and good reference to the spec as a base for any Gsoc prototype

                http://git.libav.org/?p=libav.git&a=...t=commit&s=vp8
                it also seems Alexander Strange is now being employed full time at goggle to work on VP8 so also a good fit

                Comment


                • #9
                  Originally posted by 89c51 View Post
                  can someone explain why the WebM format is being implemented using OpenCL (the github project and Veerappan) and they try to implement h264 using shaders???

                  is it simply a different solution or there are technical reasons behind it?? from what i read many people say both formats are similar.
                  I decided on OpenCL purely for portability reasons. If I had written a Gallium state tracker specifically for WebM video, the state tracker would only really be useful with Mesa. By doing OpenCL, I don't have to write OpenGL/GLSL (I have basic familiarity with it, but I'm no expert), and I also get the ability to support Mac/Linux/Windows on any usable hardware. As a bonus, Mesa will be able to handle WebM over OpenCL as soon as the Clover project gets to a usable state.

                  Comment


                  • #10
                    hopefully there will be a gsoc project on clover and we might have something by the end of summer.

                    Also i assume that since the two codecs have many similarities it wont be a huuuge thing to add the other codec on one of the projects if someone wants to do that. (shader based webm and h264 on Opencl)

                    Comment


                    • #11
                      Originally posted by Veerappan View Post
                      I decided on OpenCL purely for portability reasons. If I had written a Gallium state tracker specifically for WebM video, the state tracker would only really be useful with Mesa. By doing OpenCL, I don't have to write OpenGL/GLSL (I have basic familiarity with it, but I'm no expert), and I also get the ability to support Mac/Linux/Windows on any usable hardware. As a bonus, Mesa will be able to handle WebM over OpenCL as soon as the Clover project gets to a usable state.
                      Veerappan , you might want to pop over to mesa-dev and comment on this to push your Clover wish i assume you do know that code base and can think of some generic 30 minute prototypes he might try out and add before thinking about speed and final code etc

                      the mesa-dev dev mentor's as relates to new GSOC code seem very reluctant to speak more than a few word's, to much tunnel vision for 2D/3D computer generated code perhaps and no real interest in core video playback OC.

                      but thumb's up for Marek speaking up http://lists.freedesktop.org/archive...ch/006253.html "BTW I haven't taken a look at the clover codebase, so some of my comments
                      might be a little off.

                      Marek"
                      and giving some practical examples of what to consider including and how one might think about extending the current frame work well done, a real mentor helping to prod push and inspire contribution.

                      Comment

                      Working...
                      X