• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting AMD AV1 Encoding

     
    • 0 Vote(s) - 0 Average

    AMD AV1 Encoding

    AMD AV1 Hardware Encoding Support With 780M
    conor
    Offline

    Junior Member

    Posts: 24
    Threads: 4
    Joined: 2023 Jun
    Reputation: 0
    #1
    2024-12-05, 01:56 PM
    I've an AMD Ryzen 7 8745H w/ Radeon 780M Graphics. This is an RDNA 3 GPU which supports AV1 encoding.

    However Jellyfin-ffmpeg is showing AV1 encoding as unsupported.

    As I understand it the driver should be provided by jellyfin-ffmpeg, so is that where the issue likely is?

    Code:
    sudo /usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
    Trying display: drm
    libva info: VA-API version 1.22.0
    libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/radeonsi_drv_video.so
    libva info: Found init function __vaDriverInit_1_22
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.22 (libva 2.22.0)
    vainfo: Driver version: Mesa Gallium driver 24.0.9 for AMD Radeon Graphics (radeonsi, gfx1103_r1, LLVM 16.0.6, DRM 3.49, 6.1.0-27-amd64)
    vainfo: Supported profile and entrypoints
          VAProfileH264ConstrainedBaseline: VAEntrypointVLD
          VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
          VAProfileH264Main              : VAEntrypointVLD
          VAProfileH264Main              : VAEntrypointEncSlice
          VAProfileH264High              : VAEntrypointVLD
          VAProfileH264High              : VAEntrypointEncSlice
          VAProfileHEVCMain              : VAEntrypointVLD
          VAProfileHEVCMain              : VAEntrypointEncSlice
          VAProfileHEVCMain10            : VAEntrypointVLD
          VAProfileHEVCMain10            : VAEntrypointEncSlice
          VAProfileJPEGBaseline          : VAEntrypointVLD
          VAProfileVP9Profile0            : VAEntrypointVLD
          VAProfileVP9Profile2            : VAEntrypointVLD
          VAProfileAV1Profile0            : VAEntrypointVLD
          VAProfileNone                  : VAEntrypointVideoProc
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-12-05, 03:44 PM
    While AMD's documentation states that VCN4/RDNA3 supports AV1 encoding, apparently there are TWO flippin' varieties of VCN4.

    https://github.com/torvalds/linux/commit...142452a9b7

    Code:
    static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_encode_array_vcn0[] = {
        {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
        {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
        {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)},
    };
    static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_encode_array_vcn1[] = {
        {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 2304, 0)},
        {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 2304, 0)},
    };

    It is possible that your hardware does support it, but the AMD drivers are not reporting accurately. But there isn't much we can do about that.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #3
    2024-12-05, 04:19 PM (This post was last modified: 2024-12-05, 04:23 PM by TheDreadPirate. Edited 2 times in total.)
    Circling back, it could also be your kernel.

    The kernel on your system was released prior to your CPU's release so it likely does not properly support all the CPU/GPU's capabilities.

    Update to a newer kernel and check the output of vainfo again.

    Confirmed that kernel 6.1 does not support AV1 encoding for AMD GPUs. That was first added in kernel 6.3.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    conor
    Offline

    Junior Member

    Posts: 24
    Threads: 4
    Joined: 2023 Jun
    Reputation: 0
    #4
    2024-12-05, 04:25 PM
    I had thought the kernel could be an issue but all other encoding on the GPU works fine and the driver is coming from jellyfin-ffmpeg.

    I might try to install a bookworm-backports kernel.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,374
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #5
    2024-12-05, 04:33 PM (This post was last modified: 2024-12-05, 04:33 PM by TheDreadPirate.)
    The driver is coming from Mesa.

    Code:
    vainfo: Driver version: Mesa Gallium driver 24.0.9 for AMD Radeon Graphics (radeonsi, gfx1103_r1, LLVM 16.0.6, DRM 3.49, 6.1.0-27-amd64)

    And the way that AMD handles things like codecs is to hard code it into the Linux kernel instead of in the Mesa driver. So kernel version does matter for AMD GPUs and codec support.

    So you will need to install a BPO kernel.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    gnattu
    Offline

    Team Member

    Posts: 336
    Threads: 0
    Joined: 2024 Feb
    Reputation: 17
    #6
    2024-12-05, 04:35 PM
    The AV1 encoding capability first appeared in linux 6.3 kernel and yours is 6.1. You need a more recent kerenl.
    conor
    Offline

    Junior Member

    Posts: 24
    Threads: 4
    Joined: 2023 Jun
    Reputation: 0
    #7
    2024-12-05, 04:41 PM
    The backports kernel has made AV1 encoding available, thanks.
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode