Announcement

Collapse
No announcement yet.

FFmpeg Can Now Make Use Of VDPAU VP9 Video Decoding

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

  • FFmpeg Can Now Make Use Of VDPAU VP9 Video Decoding

    Phoronix: FFmpeg Can Now Make Use Of VDPAU VP9 Video Decoding

    For those looking to make use of VP9 hardware accelerated video decoding with FFmpeg, that support has landed in its latest Git code...

    http://www.phoronix.com/scan.php?pag...PAU-VP9-Decode

  • #2
    Will it also work with AMD VCN (Video Core Next) based hardware since they support VP9 decode?

    Comment


    • #3
      I am also interested in vp9 decoding on AMD graphic cards. Polaris had a hybrid approach to vp9 hardware decoding but as far as I know that never worked on Linux. Is this correct? I heard there was an implementation but that had slow/bad code.

      So what's the status for AMD VCN in Firefox, Gstreamer and MPV?

      Comment


      • #4
        It works in mpv via VAAPI.

        Comment


        • #5
          So can that work around Chromium's refusal to support hardware accelerated video decoding on Linux since they use FFMPEG and this would be below them?

          Comment


          • #6
            Originally posted by carewolf View Post
            So can that work around Chromium's refusal to support hardware accelerated video decoding on Linux since they use FFMPEG and this would be below them?
            It's working just fine here...

            Comment


            • #7
              Originally posted by dc_coder_84 View Post
              So what's the status for AMD VCN in Firefox, Gstreamer and MPV?
              It would need to be added to Mesa's VDPAU driver. But with Mesa you have the choice of VAAPI too, and that one has had VP9 decoding for a while now. That's regarding AMD VCN.

              Gstreamer doesn't support VDPAU at all as far as I know, but there is VAAPI support. mpv hasn't yet added VP9 VDPAU support, but again, there's VAAPI.

              Originally posted by carewolf View Post
              So can that work around Chromium's refusal to support hardware accelerated video decoding on Linux since they use FFMPEG and this would be below them?
              No. ffmpeg is just one part of the puzzle, several other parts need to be implemented in the browser itself, most notably integrating the video into the webpage. Chromium has all these parts implemented for VAAPI (for use in ChromeOS), but it's deactivated by default and needs a bit of patching to actually work. There's chromium-vaapi in Arch AUR, you can check how it's done there: https://aur.archlinux.org/packages/chromium-vaapi/
              Last edited by Gusar; 27 October 2019, 08:57 AM.

              Comment


              • #8
                semi-related: It kinda pisses me off that google/Youtube seems to convert everything into VP9. That might decrease possible license costs (royalty free, self-developed) for them and might even deliver same quality at lower bandwidth, but I assume most of the hardware currently on the market does not support VP9 HW-accelerated decode (let alone encode). Most people (and not phoronix readers here with their Threadripping i9 GTX-bazillion Vega-128 computers ) do have machines that are likely 4 to 5 years old on average. Machines they bought and that still do the job fine.
                But it usually takes time for HW devs to decide if some upcoming codec is just a short lived hype or something worth to implement in an ASIC. Then, if the horizon oracles a "yes, going to be a big thing" they still have to develop, test and put it into mainstream GPUs / APUs and bring those out to the customers. So a lot of these machines don't have VP9 acceleration and thus we don't have nice acceleration on these videos.

                (Interestingly small tinker-boards sometimes have this stuff earlier, but I guess those are "more shortlived" and video acceleration is usually a big deal, they can't work as HTPCs with their low-end/power-saving CPUs.)
                Stop TCPA, stupid software patents and corrupt politicians!

                Comment


                • #9
                  Originally posted by Adarion View Post
                  semi-related: It kinda pisses me off that google/Youtube seems to convert everything into VP9. That might decrease possible license costs (royalty free, self-developed) for them and might even deliver same quality at lower bandwidth, but I assume most of the hardware currently on the market does not support VP9 HW-accelerated decode (let alone encode). Most people (and not phoronix readers here with their Threadripping i9 GTX-bazillion Vega-128 computers ) do have machines that are likely 4 to 5 years old on average. Machines they bought and that still do the job fine.
                  But it usually takes time for HW devs to decide if some upcoming codec is just a short lived hype or something worth to implement in an ASIC. Then, if the horizon oracles a "yes, going to be a big thing" they still have to develop, test and put it into mainstream GPUs / APUs and bring those out to the customers. So a lot of these machines don't have VP9 acceleration and thus we don't have nice acceleration on these videos.

                  (Interestingly small tinker-boards sometimes have this stuff earlier, but I guess those are "more shortlived" and video acceleration is usually a big deal, they can't work as HTPCs with their low-end/power-saving CPUs.)
                  All Intel Core CPUs starting with Sky Lake support HW accelerated VP9 decoding as well as all NVIDIA GPUs starting with Pascal. That means pretty much all Intel/NVIDIA PCs/laptops released in the past four years.

                  The fact that AMD is slow to adapt VP9 is their own issue.

                  Comment


                  • #10
                    Originally posted by Gusar View Post
                    No. ffmpeg is just one part of the puzzle, several other parts need to be implemented in the browser itself, most notably integrating the video into the webpage. Chromium has all these parts implemented for VAAPI (for use in ChromeOS), but it's deactivated by default and needs a bit of patching to actually work. There's chromium-vaapi in Arch AUR, you can check how it's done there: https://aur.archlinux.org/packages/chromium-vaapi/
                    AFAIK Chromium doesn't use FFMPEG for its VAAPI support. It has multiple decoding backends. The default on Linux is to send everything to FFMPEG for software decoding, the patches you can apply triggers the separate hardware decoding paths.

                    Comment

                    Working...
                    X