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

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #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.
        Test signature

        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

                Discussion of Mesa / Gallium3D components for Linux and other operating systems. This includes open-source 3D hardware drivers, state trackers, OpenCL, OpenGL, Vulkan, and SPIR-V support.

                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


                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

                    Working...
                    X