[FFmpeg-user] init_hw_device qsv for hwaccel on Skylake iGPU + Nvidia GF GPU
Wang, Fei W
fei.w.wang at intel.com
Wed Sep 4 06:54:56 EEST 2024
On Tue, 2024-09-03 at 10:52 +0200, Terje Hanssen wrote:
>
>
> Den 03.09.2024 03:56, skrev Andrew Randrianasulu:
> >
> >
> > пн, 2 сент. 2024 г., 22:54 Terje Hanssen <terjejhanssen at gmail.com>:
> >
> >
> > Den 02.09.2024 15:58, skrev Wang, Fei W:
> > > On Mon, 2024-09-02 at 15:29 +0200, Terje J. Hanssen wrote:
> > >>
> > >>
> > >> On 9/2/24 07:01, Wang, Fei W wrote:
> > >>
> > >>> On Sun, 2024-09-01 at 10:53 +0200, Terje J. Hanssen wrote:
> > >>>
> > >>>> I have not succeeded yet to configure ffmpeg QSV access to
> > an
> > enabled
> > >>>> iGPU onboard an Intel Core i7-6700K (Skylake). This is a
> > legacy,
> > >>>> rebuilt workstation with additional, discrete Nvidia
> > GeForce
> > GTX 960
> > >>>> GPU
> > >>>> on a MSI-Z170-A Pro mobo.
> > >>>> Any suggestions how to solve this?
> > >>> You can use vainfo to find the Intel gpu device correctly:
> > >>> "vainfo --display drm --device /dev/dri/renderD12X"
> > >>> Then specify device in ffmpeg cmdline with "-qsv_device
> > >>> /dev/dri/renderD12X"
> > >>> BTW, for legacy platforms, suggest to use libvpl with Media
> > SDK for the
> > >>> runtime implementation:
> > >>> https://github.com/intel/libvpl
> > >>> https://github.com/Intel-Media-SDK/MediaSDK
> > >>> Thanks
> > >>> Fei
> > >> @Fei, thanks for your suggestion that hopefully will probe
> > me
> > in the
> > >> right direction.
> > >> Right now, I will be absent from my Skylake workstation a
> > week or
> > >> two, before I can test more directly on it. But I did
> > preserve
> > some
> > >> more output I will add and refer to below.
> > >>
> > >> In the meantime I also can do a bit indirectly tests on my
> > available
> > >> Kaby Lake XPS-13 with UHD 620 iGPU and a similar system
> > installation:
> > >>
> > >> vainfo --display drm --device /dev/dri/renderD12X
> > >> Trying display: drm
> > >> Failed to open the given device!
> > >>
> > >> As this don't find any device on Kaby Lake, I expect I
> > rather
> > have to
> > >> put in a number "8" instead of "X" as found on Kaby Lake(?)
> > >
> > > Yes, X stands for 8 or 9. To find the Intel device node if
> > vainfo
> > > shows the correct message.
> > >
> > >>
> > >> ls /dev/dri
> > >> by-path card1 renderD128
> > >>
> > >> When I try
> > >>
> > >>> vainfo --display drm --device /dev/dri/renderD12*
> > >> or
> > >>
> > >>> vainfo --display drm --device /dev/dri/renderD128
> > >> This simingly output just the same as "vainfo" alone on
> > KabyLake.
> > >>
> > >> And I have the latter preserved also from Skylake as
> > follows:
> > >>
> > >>> vainfo
> > >>> Trying display: wayland
> > >>> libva info: VA-API version 1.22.0
> > >>> libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
> > >>> libva info: Found init function __vaDriverInit_1_21
> > >>> libva info: va_openDriver() returns 0
> > >>> vainfo: VA-API version: 1.22 (libva 2.22.0)
> > >>> vainfo: Driver version: Intel iHD driver for Intel(R) Gen
> > Graphics -
> > >>> 24.1.5 ()
> > >>> vainfo: Supported profile and entrypoints
> > >>> VAProfileNone : VAEntrypointVideoProc
> > >>> VAProfileNone : VAEntrypointStats
> > >>> VAProfileMPEG2Simple : VAEntrypointVLD
> > >>> VAProfileMPEG2Simple : VAEntrypointEncSlice
> > >>> VAProfileMPEG2Main : VAEntrypointVLD
> > >>> VAProfileMPEG2Main : VAEntrypointEncSlice
> > >>> VAProfileH264Main : VAEntrypointVLD
> > >>> VAProfileH264Main : VAEntrypointEncSlice
> > >>> VAProfileH264Main : VAEntrypointFEI
> > >>> VAProfileH264Main : VAEntrypointEncSliceLP
> > >>> VAProfileH264High : VAEntrypointVLD
> > >>> VAProfileH264High : VAEntrypointEncSlice
> > >>> VAProfileH264High : VAEntrypointFEI
> > >>> VAProfileH264High : VAEntrypointEncSliceLP
> > >>> VAProfileVC1Simple : VAEntrypointVLD
> > >>> VAProfileVC1Main : VAEntrypointVLD
> > >>> VAProfileVC1Advanced : VAEntrypointVLD
> > >>> VAProfileJPEGBaseline : VAEntrypointVLD
> > >>> VAProfileJPEGBaseline : VAEntrypointEncPicture
> > >>> VAProfileH264ConstrainedBaseline: VAEntrypointVLD
> > >>> VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
> > >>> VAProfileH264ConstrainedBaseline: VAEntrypointFEI
> > >>> VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
> > >>> VAProfileVP8Version0_3 : VAEntrypointVLD
> > >>> VAProfileVP8Version0_3 : VAEntrypointEncSlice
> > >>> VAProfileHEVCMain : VAEntrypointVLD
> > >>> VAProfileHEVCMain : VAEntrypointEncSlice
> > >>> VAProfileHEVCMain : VAEntrypointFEI
> > >> ---------------
> > >>
> > >>
> > >> If /dev/dri/card2 and /dev/dri/renderD129 refer to the
> > Skylake HD
> > >> 530 iGPU
> > >> (and /dev/dri/card1 and /dev/dri/renderD128 refer to the
> > Nvidia GPU),
> > >> I cannot understand why the initial, second ffmpeg command
> > in
> > section
> > >> 2) below did report errors?
> > >>
> > >> Possibly syntax error or something else?
> > >
> >
> > > The command looks good. There are 2 run-time implementation
> > Media SDK
> > > and vpl-gpu-rt for libvpl(
> > > more details can be found on github of libvpl:
> > > https://github.com/intel/libvpl).
> > > While only Media SDK supported on Skylake. So you may check
> > if you
> > > installed Meida SDK on your Skylake
> > > but not vpl-gpu-rt.
> > >
> > > Thanks
> > > Fei
> > >
> > >>
> >
> > I only install and have installed related, pre-build
> > distribution
> > packages for openSUSE Tumbleweed Slowroll. Here they are sorted
> > in
> > two
> > lists, to get both the summary descriptions and version
> > numbers,
> > in case
> > something clarify if Media SDK RT is among them(?)
> >
> >
> > may be check also for libmfx?
> >
>
> Hi Andrew,
> Yes, I also noticed libmfx. But to check that on Skylake, I have to
> wait
> until next week.
> The triple boot menu on my XPS-13/9370 also died, so now I have only
> Ubuntu (from fabric) running and updated on it, as a base Thunderbird
> mail platform :)
Checked it on my Skylake with ubuntu 22.04 which can works. Need to
install libva-dev and libmfx-dev by apt-get, then configure ffmpeg with
"--enable-vaapi --enable-libmfx".
Full log:
root at skl1:/home/test# ffmpeg -v verbose -hwaccel qsv -
hwaccel_output_format qsv -qsv_device /dev/dri/renderD128 -c:v h264_qsv
-i avc.mp4 -f null -
ffmpeg version n4.4.5-5-gbd1619da10 Copyright (c) 2000-2024 the FFmpeg
developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --enable-libmfx --enable-vaapi --
prefix=/opt/yami_vpg/ffmpeg
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
[h264 @ 0x5618d3019580] Reinit context to 320x240, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'avc.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf61.3.100
Duration: 00:01:40.00, start: 0.000000, bitrate: 7 kb/s
Stream #0:0(und): Video: h264 (High), 1 reference frame (avc1 /
0x31637661), yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], 7 kb/s, 1 fps, 1
tbr, 16384 tbn, 2 tbc (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc61.5.103 h264_qsv
Stream mapping:
Stream #0:0 -> #0:0 (h264 (h264_qsv) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[AVHWDeviceContext @ 0x5618d303fe80] libva: VA-API version 1.14.0
[AVHWDeviceContext @ 0x5618d303fe80] libva: User requested driver 'iHD'
[AVHWDeviceContext @ 0x5618d303fe80] libva: Trying to open
/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[AVHWDeviceContext @ 0x5618d303fe80] libva: Found init function
__vaDriverInit_1_14
[AVHWDeviceContext @ 0x5618d303fe80] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x5618d303fe80] Initialised VAAPI connection:
version 1.14
[AVHWDeviceContext @ 0x5618d303fe80] VAAPI driver: Intel iHD driver for
Intel(R) Gen Graphics - 22.3.1 ().
[AVHWDeviceContext @ 0x5618d303fe80] Driver not found in known
nonstandard list, using standard behaviour.
[AVHWDeviceContext @ 0x5618d303f740] Initialize MFX session: API
version is 1.35, implementation version is 1.35
[AVHWDeviceContext @ 0x5618d3073580] VAAPI driver: Intel iHD driver for
Intel(R) Gen Graphics - 22.3.1 ().
[AVHWDeviceContext @ 0x5618d3073580] Driver not found in known
nonstandard list, using standard behaviour.
[h264_qsv @ 0x5618d3040740] Decoder: output is video memory surface
[graph 0 input from stream 0:0 @ 0x5618d30bb200] w:320 h:240 pixfmt:qsv
tb:1/16384 fr:1/1 sar:1/1
Output #0, null, to 'pipe:':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.76.100
Stream #0:0(und): Video: wrapped_avframe, 1 reference frame,
qsv(progressive, left), 320x240 (0x0) [SAR 1:1 DAR 4:3], q=2-31, 200
kb/s, 1 fps, 1 tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
encoder : Lavc58.134.100 wrapped_avframe
[h264_qsv @ 0x5618d3040740] A decode call did not consume any data:
expect more data at input (-10)
Last message repeated 2 times
No more output streams to write to, finishing.
frame= 100 fps=0.0 q=-0.0 Lsize=N/A time=00:01:40.00 bitrate=N/A
speed=2.4e+03x
video:52kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
Input file #0 (avc.mp4):
Input stream #0:0 (video): 100 packets read (94364 bytes); 100 frames
decoded;
Total: 100 packets (94364 bytes) demuxed
Output file #0 (pipe:):
Output stream #0:0 (video): 100 frames encoded; 100 packets muxed
(53600 bytes);
Total: 100 packets (53600 bytes) muxed
[AVIOContext @ 0x5618d3020580] Statistics: 129548 bytes read, 2 seeks
Thanks
Fei
>
> Terje
>
>
> >
> >
> >
> > zypper se -i nvidia vulkan mesa nouveau intel
> > Laster pakkebrønndata...
> > Leser installerte pakker...
> >
> > S | Name | Summary | Type
> > ---+--------------------------------+--------------------------
> > -----------------------------------------------+------
> > i+ | intel-gpu-tools | Collection of tools for
> > development and testing of the Intel DRM driver | pakke
> > i+ | intel-media-driver | Intel Media Driver for
> > VAAPI | pakke
> > i | kernel-firmware-intel | Kernel firmware files for
> > Intel-platform device drivers | pakke
> > i | kernel-firmware-nvidia | Kernel firmware files for
> > Nvidia
> > Tegra and graphics drivers | pakke
> > i | libdrm_intel1 | Userspace interface for
> > Kernel DRM
> > services for Intel chips | pakke
> > i | libdrm_nouveau2 | Userspace interface for
> > Kernel DRM
> > services for NVIDIA chips | pakke
> > i | libgstvulkan-1_0-0 | GStreamer Streaming-Media
> > Framework Plug-Ins | pakke
> > i | libnvidia-egl-wayland1 | The EGLStream-based
> > Wayland
> > external platform | pakke
> > i+ | libvdpau_nouveau | VDPAU state tracker for
> > Nouveau | pakke
> > i | libvulkan1 | The Vulkan 3D graphics
> > and
> > compute
> > API | pakke
> > i+ | libvulkan_intel | Mesa vulkan driver for
> > Intel
> > GPU | pakke
> > i | Mesa | System for rendering 3-D
> > graphics | pakke
> > i | Mesa-demo-x | GLX-based
> > demos |
> > pakke
> > i | Mesa-dri | DRI plug-ins for 3D
> > acceleration | pakke
> > i | Mesa-gallium | Mesa Gallium GPU
> > drivers | pakke
> > i | Mesa-libEGL1 | EGL API
> > implementation
> > |
> > pakke
> > i | Mesa-libGL1 | The GL/GLX runtime of the
> > Mesa 3D
> > graphics library | pakke
> > i | Mesa-libglapi0 | Free implementation of
> > the GL
> > API | pakke
> > i | Mesa-libva | Mesa VA-API
> > implementation |
> > pakke
> > i | Mesa-vulkan-device-select | Vulkan layer to select
> > Vulkan
> > devices provided by Mesa | pakke
> > i | nvidia-compute-G06 | NVIDIA driver for
> > computing
> > with
> > GPGPU | pakke
> > i | nvidia-compute-G06-32bit | 32bit NVIDIA driver for
> > computing
> > with GPGPU | pakke
> > i+ | nvidia-driver-G06-kmp-default | NVIDIA graphics driver
> > kernel
> > module for GeForce 700 series and newer | pakke
> > i | nvidia-gl-G06 | NVIDIA OpenGL libraries
> > for
> > OpenGL
> > acceleration | pakke
> > i | nvidia-gl-G06-32bit | 32bit NVIDIA OpenGL
> > libraries for
> > OpenGL acceleration | pakke
> > i | nvidia-video-G06 | NVIDIA graphics driver
> > for
> > GeForce
> > 700 series and newer | pakke
> > i | nvidia-video-G06-32bit | 32bit NVIDIA graphics
> > driver
> > for
> > GeForce 700 series and newer | pakke
> > i+ | openSUSE-repos-Slowroll-NVIDIA | openSUSE NVIDIA
> > repository
> > definitions | pakke
> > i+ | ucode-intel | Microcode Updates for
> > Intel
> > x86/x86-64 CPUs | pakke
> > i+ | vulkan-tools | Diagnostic utilities for
> > Vulkan | pakke
> >
> >
> > zypper se -is nvidia vulkan mesa nouveau intel
> > Laster pakkebrønndata...
> > Leser installerte pakker...
> >
> > S | Name | Type |
> > Version |
> > Arch | Repository
> > ---+--------------------------------+-------+------------------
> > -----+--------+------------------------
> > i+ | intel-gpu-tools | pakke | 1.28-
> > 3.4 |
> > x86_64 | repo-oss
> > i+ | intel-media-driver | pakke | 24.1.5-
> > 1.1 |
> > x86_64 | repo-oss
> > i | kernel-firmware-intel | pakke | 20240809-
> > 1.1 |
> > noarch | update-slowroll
> > i | kernel-firmware-nvidia | pakke | 20240809-
> > 1.1 |
> > noarch | update-slowroll
> > i | libdrm_intel1 | pakke | 2.4.122-
> > 1.1 |
> > x86_64 | repo-oss
> > i | libdrm_nouveau2 | pakke | 2.4.122-
> > 1.1 |
> > x86_64 | repo-oss
> > i | libgstvulkan-1_0-0 | pakke | 1.24.6-
> > 1.1 |
> > x86_64 | repo-oss
> > i | libnvidia-egl-wayland1 | pakke | 1.1.15-
> > 1.1 |
> > x86_64 | update-slowroll
> > i+ | libvdpau_nouveau | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i+ | libvdpau_nouveau | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | libvulkan1 | pakke | 1.3.290-
> > 1.1 |
> > x86_64 | repo-oss
> > i+ | libvulkan_intel | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i+ | libvulkan_intel | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-demo-x | pakke | 9.0.0-
> > 3.3 |
> > x86_64 | repo-oss
> > i | Mesa-dri | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-dri | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-gallium | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-gallium | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libEGL1 | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libEGL1 | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libGL1 | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libGL1 | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libglapi0 | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libglapi0 | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libva | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-libva | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-vulkan-device-select | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | Mesa-vulkan-device-select | pakke | 24.1.5-
> > 1699.393.pm.1 |
> > x86_64 | Packman
> > i | nvidia-compute-G06 | pakke | 550.100-
> > 25.1 |
> > x86_64 | repo-non-free
> > i | nvidia-compute-G06 | pakke | 550.100-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i | nvidia-compute-G06-32bit | pakke | 550.100-
> > 25.1 |
> > x86_64 | repo-non-free
> > i | nvidia-compute-G06-32bit | pakke | 550.100-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i+ | nvidia-driver-G06-kmp-default | pakke | 550.100_k6.9.7_1-
> > 25.1 |
> > x86_64 | repo-non-free
> > i+ | nvidia-driver-G06-kmp-default | pakke | 550.100_k6.9.7_1-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i | nvidia-gl-G06 | pakke | 550.100-
> > 25.1 |
> > x86_64 | repo-non-free
> > i | nvidia-gl-G06 | pakke | 550.100-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i | nvidia-gl-G06-32bit | pakke | 550.100-
> > 25.1 |
> > x86_64 | repo-non-free
> > i | nvidia-gl-G06-32bit | pakke | 550.100-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i | nvidia-video-G06 | pakke | 550.100-
> > 25.1 |
> > x86_64 | repo-non-free
> > i | nvidia-video-G06 | pakke | 550.100-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i | nvidia-video-G06-32bit | pakke | 550.100-
> > 25.1 |
> > x86_64 | repo-non-free
> > i | nvidia-video-G06-32bit | pakke | 550.100-
> > 25.1 |
> > x86_64 | nVidia Graphics Drivers
> > i+ | openSUSE-repos-Slowroll-NVIDIA | pakke | 20240712.dd8c2eb-
> > 1.1 |
> > x86_64 | repo-oss
> > i+ | ucode-intel | pakke | 20240813-
> > 1.1 |
> > x86_64 | update-slowroll
> > i+ | vulkan-tools | pakke | 1.3.290-
> > 1.1 |
> > x86_64 | repo-oss
> >
> > --------------
> >
> >
> > Beyond sdk/vainfo, I also preserved and add the following
> > ffmpeg test
> > with Vulkan and Vulkan-info output, in case they throw more
> > light
> > on the
> > issue:
> >
> > Skylake (i7-6700K/Nvidia)
> > ffmpeg -hide_banner -init_hw_device "vulkan=vk:0" -hwaccel
> > vulkan
> > -hwaccel_output_format vulkan -i h264_8bit_yuv420p.mp4 -f
> > null -
> >
> > Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe
> > (native))
> > Press [q] to stop, [?] for help
> > [h264 @ 0x55921d474200] Device does not support the
> > VK_KHR_video_decode_queue extension!
> > [h264 @ 0x55921d474200] Failed setup for format
> > vulkan:
> > hwaccel
> > initialisation returned error.
> > frame= 1780 fps=430 q=-0.0 Lsize=N/A time=00:01:11.20
> > bitrate=N/A
> > speed=17.2x
> >
> >
> > vulkaninfo | egrep 'GPU|driver'
> > VK_LUNARG_direct_driver_loading : extension revision 1
> > GPU id = 0 (Intel(R) HD Graphics 530 (SKL GT2))
> > GPU id = 1 (NVIDIA GeForce GTX 960)
> > GPU id = 0 (Intel(R) HD Graphics 530 (SKL GT2))
> > GPU id = 1 (NVIDIA GeForce GTX 960)
> > GPU id : 0 (Intel(R) HD Graphics 530 (SKL GT2)):
> > GPU id : 1 (NVIDIA GeForce GTX 960):
> > GPU id : 0 (Intel(R) HD Graphics 530 (SKL GT2)):
> > GPU id : 1 (NVIDIA GeForce GTX 960):
> > GPU0:
> > driverVersion = 24.1.5 (100667397)
> > deviceType =
> > PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
> > driverUUID =
> > cc628f46-3d02-8624-0c8a-e98e0420c4f6
> > driverID =
> > DRIVER_ID_INTEL_OPEN_SOURCE_MESA
> > driverName =
> > Intel
> > open-source Mesa driver
> > driverInfo = Mesa
> > 24.1.5
> > VK_KHR_driver_properties : extension
> > revision 1
> > GPU1:
> > driverVersion = 550.100.0.0 (2308505600)
> > deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
> > driverUUID =
> > 63390c76-60ef-5529-a6ac-99167eb42a9c
> > driverID =
> > DRIVER_ID_NVIDIA_PROPRIETARY
> > driverName =
> > NVIDIA
> > driverInfo =
> > 550.100
> > VK_KHR_driver_properties : extension
> > revision 1
> >
> >
> >
> >
> >
> > >>
> > >>>
> > >>>> My tested ffmpeg code lines and system information below.
> > >>>> 1) Tested first this simple ffmpeg decode bencmark code
> > line from
> > >>>>
> > https://trac.ffmpeg.org/wiki/Hardware/QuickSync#Decode-only
> > >>>> This works fine on single GPU Caby Lake/UHD 620 and on
> > Alder
> > Lake/Arc
> > >>>> A750, but on Skylake with dual iGPU HD 530 and a Nvidia
> > GeForce GTX
> > >>>> 960
> > >>>> card, these errors are reported:
> > >>>> ffmpeg -hide_banner -hwaccel qsv -
> > hwaccel_output_format
> > qsv -i
> > >>>> h264_8bit_yuv420p.mp4 -f null -
> > >>>> ....
> > >>>> [AVHWDeviceContext @ 0x55bed1a7c500] Error creating a
> > MFX
> > >>>> session: -9.
> > >>>> Device creation failed: -1313558101.
> > >>>> [vist#0:0/h264 @ 0x55bed1a656c0] [dec:h264_qsv @
> > 0x55bed1a64300]
> > >>>> No
> > >>>> device available for decoder: device type qsv needed
> > for
> > codec
> > >>>> h264_qsv.
> > >>>> [vist#0:0/h264 @ 0x55bed1a656c0] [dec:h264_qsv @
> > 0x55bed1a64300]
> > >>>> Hardware device setup failed for decoder: Unknown
> > error
> > occurred
> > >>>> [vost#0:0/wrapped_avframe @ 0x55bed1a63740] Error
> > initializing a
> > >>>> simple filtergraph
> > >>>> Error opening output file -.
> > >>>> Error opening output files: Unknown error occurred
> > >>>> bench: maxrss=59076KiB
> > >>>> 2) Additional tests where I experimented to apply
> > suggestions
> > from
> > >>>> https://trac.ffmpeg.org/wiki/Hardware/QuickSync#Transcode
> > >>>> -qsv_device is an qsv customized option can be used
> > to
> > specify
> > >>>> a
> > >>>> hardware device and avoid the default device
> > initialization
> > >>>> failure
> > >>>> when multiple devices usable (eg: an Intel integrated
> > GPU and an
> > >>>> AMD/Nvidia discrete graphics card).
> > >>>> ffmpeg -hide_banner -hwaccel qsv -qsv_device
> > /dev/dri/renderD128
> > >>>> -i
> > >>>> h264_8bit_yuv420p.mp4 -f null -
> > >>>> DRM_IOCTL_VERSION, unsupported drm device by media
> > driver: nvid
> > >>>> DRM_IOCTL_VERSION, unsupported drm device by media
> > driver: nvid
> > >>>> [AVHWDeviceContext @ 0x56330da80dc0] libva:
> > >>>> /usr/lib64/dri/iHD_drv_video.so init failed
> > >>>> [AVHWDeviceContext @ 0x56330da80dc0] Failed to
> > initialise VAAPI
> > >>>> connection: 18 (invalid parameter).
> > >>>> Device creation failed: -5.
> > >>>> Failed to set value '/dev/dri/renderD128' for option
> > >>>> 'qsv_device':
> > >>>> Input/output error
> > >>>> Error parsing global options: Input/output error
> > >>>> ffmpeg -hide_banner -hwaccel qsv -qsv_device
> > /dev/dri/renderD129
> > >>>> -i
> > >>>> h264_8bit_yuv420p.mp4 -f null -
> > >>>> [AVHWDeviceContext @ 0x55deafcbcec0] Error creating a
> > MFX
> > >>>> session: -9.
> > >>>> Device creation failed: -1313558101.
> > >>>> Failed to set value '/dev/dri/renderD129' for option
> > >>>> 'qsv_device':
> > >>>> Unknown error occurred
> > >>>> Error parsing global options: Unknown error occurred
> > >>>> ffmpeg -hide_banner -init_hw_device qsv=hw
> > -filter_hw_device hw
> > >>>> -hwaccel_output_format qsv -hwaccel qsv -qsv_device
> > >>>> /dev/dri/renderD128 -i h264_8bit_yuv420p.mp4 -f null
> > -
> > >>>> [AVHWDeviceContext @ 0x563f568e7e00] Error creating a
> > MFX
> > >>>> session: -9.
> > >>>> Device creation failed: -1313558101.
> > >>>> Failed to set value 'qsv=hw' for option
> > 'init_hw_device': Unknown
> > >>>> error occurred
> > >>>> Error parsing global options: Unknown error occurred
> > >
> > _______________________________________________
> > ffmpeg-user mailing list
> > ffmpeg-user at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
> >
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-user
mailing list