Announcement

Collapse
No announcement yet.

MPV Player 0.28 Adds Initial Vulkan Support

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

  • #11
    Originally posted by Kano View Post
    Just compiled mpv git with installed vulkan dev files but did not see vulkan with --vo=help.
    That's because there's now a generic --vo=gpu with its various backends (opengl, vulkan, d3d11) selectable with the --gpu-api or --gpu-context options.

    Note that unless you're using the proprietary Nvidia driver, you also need shaderc (Google's C wrapper around glslang) prior to compiling mpv, it will be used to translate mpv's GLSL shaders into spirv.

    Originally posted by Kano View Post
    Mainly I wanted to test vaapi and nvdec with it.
    No vaapi interop yet, as I wrote above. No clue about nvdec, but I think that one too is limited to opengl interop.
    Last edited by Gusar; 26 December 2017, 11:04 AM.

    Comment


    • #12
      Originally posted by Gusar View Post
      That's because there's now a generic --vo=gpu with its various backends (opengl, vulkan, d3d11) selectable with the --gpu-api or --gpu-context options.

      Note that unless you're using the proprietary Nvidia driver, you also need shaderc (Google's C wrapper around glslang) prior to compiling mpv, it will be used to translate mpv's GLSL shaders into spirv.


      No vaapi interop yet, as I wrote above. No clue about nvdec, but I think that one too is limited to opengl interop.
      Is this a one-time translation during build time only?

      Comment


      • #13
        Originally posted by nanonyme View Post
        Is this a one-time translation during build time only?
        No, mpv generates a shader on-the-fly each frame (but only compiles it if it's different from the previous frame's shader). So the translation happens every time a new shader is generated, like when you change scaling options or do anything else that affects how the video is rendered. There is also a shader cache, though I think it's off by default, the manpage documents the option.
        Last edited by Gusar; 26 December 2017, 02:24 PM.

        Comment


        • #14
          Originally posted by Gusar View Post
          timofonic : VLC is a lot more popular for one simple reason - it has a GUI. That makes it much more user-friendly, particularly on Windows. mpv though is for video nerds, as you've said, and very popular among the anime crowd, due to its advanced scalers and filtering abilities (user shaders!)

          shmerl : There's no VAAPI/Vulkan interop yet, though considering how low-level Vulkan is, one could possibly import raw memory from the hardware decoder into a Vulkan context with the VK_KHR_external_memory extension and then go from there. But no one has been working on that yet.
          mpv doesn't include a GUI, that's true. I consider it positive, as they concentrate on other aspects of the software with a lot of potential.

          But YOU CAN have a GUI with mpv, and the project aims to make their code be as most reusable as possible:
          - mpv can be compiled as a library (libmpv).
          -The relicensing to LGPL is going to make it even a lot more easier. It has potential to even surpass GStreamer project because not onlyis becoming more multi-platform and more featured, but developed with efficiency and quality in mind.

          In fact, there's already many GUIs to choose from...

          GUI frontends
          • Baka MPlayer:
            A cross-platform media player based on libmpv.
          • Deepin Movies:
            Deepin movie is Deepin Desktop Environment Movie Player.
          • gnome-mpv:
            A simple GTK+ frontend for mpv.
          • IINA:
            A media player for macOS 10.10+ based on mpv.
          • Kawaii-Player:
            Multimedia player, Library Manager and portable media server based on python3 and pyqt5.
          • mpc-qt:
            A media player based on libmpv which aims to reproduce most of the interface and functionality of mpc-hc.
          • mpv-android:
            A media player for Android devices based on libmpv.
          • mpv.net:
            Simple dotnet based player built with libmpv.
          • OvoPlayer:
            Multi-platform audio player & manager using libmpv & other backends.
          • SMPlayer:
            A cross-platform graphical front-end for MPlayer and forks of Mplayer using GUI widgets offered by Qt.
          • xt7-player-mpv:
            A frontend to mpv with extra features.

          Please look here for more information
          Last edited by timofonic; 02 January 2018, 09:03 PM.

          Comment


          • #15
            As for Vulkan's native hardware decoding support, decoding directly to GPU textures is currently unimplemented in Vulkan but the copyback modes still work.

            Comment

            Working...
            X