Announcement

Collapse
No announcement yet.

VDPAU Video Playback For The Radeon RX Vega On Linux

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

  • #41
    Originally posted by agd5f View Post

    That's OpenMAX, not VA-API. VA-API would need something similar.
    Now i remembered all complaints about VA-API in the passed for being a mess.
    I like to see the OMX support catch up both encode and decode, finally stepping away from bellagio is a good start.

    Comment


    • #42
      Originally posted by Masush5 View Post
      Would enabling this via a fw update even be possible? Doesn't video decode hw use fixed function blocks?
      Yes, they are fixed function blocks (UVD for decoding, VCE for encoding). Vega's UVD and VCE units have no support for VP9, as stated in the Vega whitepaper. They ues a "hybrid approach" on Windows which only makes sense using if your CPU can't handle playing the stream at all.

      Comment


      • #43
        Originally posted by Masush5 View Post

        No, vdpau is tied to X, i heard it works with xwayland though. VAAPI on the other hand does work with wayland, but currently only with intel hardware, AMD's gallium based vaapi implementation lacks the necessary egl interop.
        It appears to work for me, or at least vdpauinfo says it should. It just can't auto-detect the right driver, so you have to set VDPAU_DRIVER=radeonsi in your environment.

        Comment


        • #44
          Originally posted by zman0900 View Post

          It appears to work for me, or at least vdpauinfo says it should. It just can't auto-detect the right driver, so you have to set VDPAU_DRIVER=radeonsi in your environment.
          Yeah via xwayland.

          Comment


          • #45
            Originally posted by agd5f View Post
            X needs a pretty major rework to handle HDR. There are discussions on how to support it happening now on the xorg-devel mailing list. So at this point, DC can handle it, but we'd need to plumb the rest of the stack.
            Ok, thanks for the information.

            Are bit-depths of > 8bit per color without HDR (and its different EOTFs) supported by amdgpu?

            (I understand that X11 in general has had support for "ordinary"/non-HDR deep color for many years, it just seems to not be a very popular feature, even though many monitors seem to support it.)

            Comment


            • #46
              Originally posted by dwagner View Post
              Ok, thanks for the information.

              Are bit-depths of > 8bit per color without HDR (and its different EOTFs) supported by amdgpu?
              Yes, 10 bit support is available, but glamor and the ddx and gbm need patches to handle 1010102 surfaces. I think Nicolai sent the patches out a while back, but so far they haven't landed yet.

              Comment


              • #47
                Originally posted by agd5f View Post
                Yes, 10 bit support is available, but glamor and the ddx and gbm need patches to handle 1010102 surfaces. I think Nicolai sent the patches out a while back, but so far they haven't landed yet.
                Is it possible to implement at least partial Hi10P decoding for VA-API? AFAIK it's already work with OpenMax (content get decoded as 8-bit but since source for most of Hi10P media is also 8-bit it's ok) but VA-API willl require additional code. There is a lot HTPC devices and laptops with AMD APU that can't handle Hi10P with software decoder, and as you probably know getting OpenMax actually work on HTPC/desktop/laptop is impossible for most of users who need Hi10P.

                Comment


                • #48
                  Originally posted by RussianNeuroMancer View Post
                  Is it possible to implement at least partial Hi10P decoding for VA-API? AFAIK it's already work with OpenMax (content get decoded as 8-bit but since source for most of Hi10P media is also 8-bit it's ok) but VA-API willl require additional code. There is a lot HTPC devices and laptops with AMD APU that can't handle Hi10P with software decoder, and as you probably know getting OpenMax actually work on HTPC/desktop/laptop is impossible for most of users who need Hi10P.
                  I'm not too familiar with VA-API and what it needs for 10 bit.

                  Comment


                  • #49
                    Originally posted by RussianNeuroMancer View Post
                    Is it possible to implement at least partial Hi10P decoding for VA-API?
                    I am not sure what you mean with "Hi10P" (but I assume you mean a 10 bit profile for... which codec?), but I can positively assert you that decoding 10bit HEVC (HDR10 standard) does already work just fine in hardware, at least when using "mpv --hwdec=vaapi_copy -vo opengl" along with the current amdgpu driver and recent versions of Mesa etc.

                    Replaying even 4k videos this way only takes a few percent of one CPU core. (The GPU, however, requires a significant amount of its capacity to apply proper tone-mapping in this scenario, mpv handles this really nicely.)

                    Comment


                    • #50
                      Originally posted by dwagner View Post
                      I am not sure what you mean with "Hi10P" (but I assume you mean a 10 bit profile for... which codec?), but I can positively assert you that decoding 10bit HEVC (HDR10 standard) does already work just fine in hardware, at least when using "mpv --hwdec=vaapi_copy -vo opengl" along with the current amdgpu driver and recent versions of Mesa etc.

                      Replaying even 4k videos this way only takes a few percent of one CPU core. (The GPU, however, requires a significant amount of its capacity to apply proper tone-mapping in this scenario, mpv handles this really nicely.)
                      You can use "mpv --hwdec=vaapi --vo=opengl --opengl-hwdec-interop=vaapi-glx", this way you won't needlessly waste resources with copying.

                      vaapi-glx isn't enabled by default in mpv because it's a hack basically. vaapi-egl is the proper way to go, but changes to libva are required to be able to implement vaapi-egl on hardware other than Intel, so vaapi-glx is all you have currently on AMD.

                      Comment

                      Working...
                      X