[Cin] ffmpeg -hwaccel AV1 QSV encoding on Arc GPU executes rapid, but commands?

Terje J. Hanssen terjejhanssen at gmail.com
Thu Jun 20 14:33:16 CEST 2024



On 6/20/24 00:13, Andrew Randrianasulu wrote:
> ....skip

>
> so, may be after whole setup was verified to function correctly at 
> least in bare ffmpeg we can iterate back to vaapi for creating  cingg 
> profile  ? (if I understand correctly qsv adds additional 
> layer/library on top of vaapi driver - not something I wish to deal 
> with in appimage packaging ....)
>
>
>

Yes, Vaapi may also be of my interest next, when I (soon) have my legacy 
WS rebuild with working hw pieces, possibly also for my laptop with igpu.

I admit that I myself as a user have not yet a full overview over the 
HWA methods, software packages and drivers needed for each method.
So far reading the FFmpeg's HWAccel-Intro, Jellyfin pages, relevant 
Linux distro pages etc is an attempt.

What I have noticed is that

VA-API is an open-source library and API specification (originally 
developed by Intel) , which provides access to graphics hardware 
acceleration capabilities for video processing. It consists of a main 
library and driver-specific acceleration backends for each supported 
hardware vendor.

Libva is an implementation for VA-API (Video Acceleration API)
The Intel(R) Media Driver for VAAPI is a new VA-API (Video Acceleration 
API) user mode driver supporting hardware accelerated decoding, 
encoding, and video post processing for GEN based graphics hardware.
https://github.com/intel/libva?tab=readme-ov-file#libva-project
https://fuchsia.googlesource.com/third_party/github.com/intel/media-driver/+/bb769be340e49ed5e2ba393c12e294380ef827f3/README.md


Regarding QSV on Arc GPU it looked for me at first as Intel had drivers 
and repositories only available for Ubuntu
https://dgpu-docs.intel.com/driver/client/overview.html

However, I myself have simply just  installed and used the current 
ffmpeg-7 prebuild thanks to the Packman Team, beside other related 
multimedia and codecs packages for openSUSE Tw Slowroll:

     inxi -GS

    System:
       Host: localhost.localdomain Kernel: 6.9.5-1-default arch: x86_64
    bits: 64
       Desktop: GNOME v: 46.2 Distro: openSUSE Tumbleweed-Slowroll 20240605
    Graphics:
       Device-1: Intel DG2 [Arc A750] driver: i915 v: kernel
       Device-2: Microdia Camera driver: snd-usb-audio,uvcvideo type: USB
       Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 24.1.0
         compositor: gnome-shell driver: gpu: i915 resolution:
    2560x1440~60Hz
       API: OpenGL v: 4.6 vendor: intel mesa v: 24.0.8 renderer: Mesa
    Intel Arc
         A750 Graphics (DG2)
       API: EGL Message: EGL data requires eglinfo. Check --recommends.



    zypper se -is ffmpeg vaapi libva vulkan intel qsv svt vpl
    Loading repository data...
    Reading installed packages...

    S  | Name                      | Type    | Version                 
    | Arch   | Repository
    ---+---------------------------+---------+--------------------------+--------+-------------------------
    i+ | ffmpeg-7                  | package | 7.0-1699.3.pm.7         
    | x86_64 | Packman
    i+ | intel-cmt-cat             | package | 5.0.0.10.git+b26b31b-1.2
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | intel-gpu-tools           | package | 1.28-3.4                
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | intel-media-driver        | package | 24.1.3-1.2              
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | intel-opencl              | package | 24.13.29138.7-1.1       
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | intel-SINIT               | package | 2.3-88.11               
    | noarch | openSUSE-Slowroll-Oss
    i  | intel-vaapi-driver        | package | 2.4.1-5.13              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | kernel-firmware-intel     | package | 20240618-1.1            
    | noarch | openSUSE-Slowroll-Update
    i  | libdrm_intel1             | package | 2.4.121-1.1             
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libgstvulkan-1_0-0        | package | 1.24.0-4.1              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libheif-ffmpeg            | package | 1.17.6-1699.5.pm.9      
    | x86_64 | Packman
    i  | libheif-svtenc            | package | 1.17.6-1699.5.pm.9      
    | x86_64 | Packman
    i  | liblavplay-2_2-0          | package | 2.2.1-2.10              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libSvtAv1Dec0             | package | 2.1.0-1.1               
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libSvtAv1Enc2             | package | 2.1.0-1.1               
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libva-drm2                | package | 2.21.0-1.1              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libva-glx2                | package | 2.21.0-1.1              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libva-wayland2            | package | 2.21.0-1.1              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libva-x11-2               | package | 2.21.0-1.1              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libva2                    | package | 2.21.0-1.1              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libvpl2                   | package | 2.10.1-2.2              
    | x86_64 | openSUSE-Slowroll-Oss
    i  | libvulkan1                | package | 1.3.283.0-1.1           
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | libvulkan_intel           | package | 24.0.8-1699.384.pm.1    
    | x86_64 | Packman
    i+ | libze_intel_gpu1          | package | 24.13.29138.7-1.1       
    | x86_64 | openSUSE-Slowroll-Oss
    i  | Mesa-libva                | package | 24.0.8-1699.384.pm.1    
    | x86_64 | Packman
    i+ | Mesa-vulkan-device-select | package | 24.0.8-1699.384.pm.1    
    | x86_64 | Packman
    i+ | openvino-intel-cpu-plugin | package | 2024.1.0-1.1            
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | SVT-AV1                   | package | 2.1.0-1.1               
    | x86_64 | openSUSE-Slowroll-Oss
    i+ | ucode-intel               | package | 20240514-1.1            
    | x86_64 | openSUSE-Slowroll-Oss


    zypper info libva2 libvpl2
    Loading repository data...
    Reading installed packages...

    Information for package libva2:
    -------------------------------
    Repository     : openSUSE-Slowroll-Oss
    Name           : libva2
    Version        : 2.21.0-1.1
    Arch           : x86_64
    Vendor         : openSUSE
    Installed Size : 187.2 KiB
    Installed      : Yes (automatically)
    Status         : up-to-date
    Source package : libva-2.21.0-1.1.src
    Upstream URL   : https://01.org/linuxmedia
    Summary        : Video Acceleration API
    Description    :
         The libva library implements the Video Acceleration API.
         The library loads a hardware dependendent driver.

         This is the core runtime library.


    Information for package libvpl2:
    --------------------------------
    Repository     : openSUSE-Slowroll-Oss
    Name           : libvpl2
    Version        : 2.10.1-2.2
    Arch           : x86_64
    Vendor         : openSUSE
    Installed Size : 353.0 KiB
    Installed      : Yes (automatically)
    Status         : up-to-date
    Source package : libvpl-2.10.1-2.2.src
    Upstream URL   : https://github.com/oneapi-src/oneVPL
    Summary        : oneAPI Video Processing Library (oneVPL) dispatcher
    Description    :
         The oneAPI Video Processing Library (oneVPL) provides a single
    video processing
         API for encode, decode, and video processing that works across
    a wide range of
         accelerators.







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20240620/23c4b24c/attachment-0001.htm>


More information about the Cin mailing list