Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: WebM, Theora Acceleration Talked About For Gallium3D

  1. #1
    Join Date
    Jan 2007
    Posts
    14,911

    Default 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. #2
    Join Date
    Jan 2009
    Posts
    1,687

    Default

    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.

  3. #3
    Join Date
    Jan 2008
    Posts
    299

    Default

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

  4. #4
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,463

    Default

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

  5. #5
    Join Date
    Jan 2009
    Posts
    1,687

    Default

    thanks guys

  6. #6
    Join Date
    Dec 2007
    Posts
    2,375

    Default

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

  7. #7
    Join Date
    Dec 2007
    Location
    Edinburgh, Scotland
    Posts
    580

    Default

    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

  8. #8
    Join Date
    Jan 2007
    Posts
    459

    Default

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

  9. #9
    Join Date
    Nov 2008
    Location
    Madison, WI, USA
    Posts
    874

    Default

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

  10. #10
    Join Date
    Jan 2009
    Posts
    1,687

    Default

    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)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •