On 17/01/2026 17:52, David Niklas via ffmpeg-user wrote:
On Sat, 17 Jan 2026 09:51:08 +0000
Peter van den Houten via ffmpeg-user<[email protected]> wrote:
On 16/01/2026 18:01, David Niklas via ffmpeg-user wrote:
Hello,
I'm trying to encode a 4K video with ffmpeg. The QSV encoder will not
initialize.
I've tried searching online, but all I can find is that my syntax
might be incorrect. I have tried to read the ffmpeg wiki, but it
doesn't explain what to use nor how to use it. The provided examples
in the wiki fail with the exact same errors as below.
Any ideas?
Thanks!
% ffprobe tmp.mp4
<snip reason=Duplicate version info.">
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tmp.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf62.3.100
Duration: 00:03:15.79, start: 0.000000, bitrate: 36078 kb/s
Stream #0:0[0x1](eng): Video: h264 (High) (avc1 / 0x31637661),
yuvj420p(pc, bt709, progressive), 3840x2160, 35970 kb/s, 30 fps, 30
tbr, 90k tbn (default) Metadata: handler_name : VideoHandle
vendor_id : [0][0][0][0]
Side data:
displaymatrix: rotation of -180.00 degrees
% ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -i tmp.mp4 -c:v
vp9_qsv -b:v 2M -preset veryslow vp9_qsv.webm ffmpeg version 8.0
Copyright (c) 2000-2025 the FFmpeg developers built with gcc 12
(Debian 12.2.0-14+deb12u1) configuration: --prefix=/usr/local
--enable-gpl --enable-version3 --enable-nonfree --enable-gray
--enable-doc --enable-alsa --enable-chromaprint --enable-frei0r
--enable-gmp --enable-ladspa --enable-lcms2 --enable-libaom
--enable-libaribb24 --enable-libass --enable-libbluray
--enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2
--enable-libdav1d --enable-libdavs2 --enable-libdvdnav
--enable-libdvdread --enable-libflite --enable-libfontconfig
--enable-libfreetype --enable-libharfbuzz --enable-libglslang
--enable-libgme --enable-libgsm --enable-libilbc --enable-libjack
--enable-libjxl --enable-libkvazaar --enable-libmodplug
--enable-libmp3lame --enable-liboapv --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg
--enable-libopenmpt --enable-libopus --enable-libqrencode
--enable-librabbitmq --enable-librav1e --enable-librist
--enable-librsvg --enable-librubberband --enable-librtmp
--enable-libshine --enable-libsnappy --enable-
libsoxr --enable-libspeex --enable-libsrt --enable-libssh
--enable-libsvtav1 --enable-libtesseract --enable-libtheora
--enable-libtwolame --enable-libuavs3d --enable-libv4l2
--enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libvvenc --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxeve --enable-libxevd --enable-libxavs
--enable-libxavs2 --enable-libxvid --enable-libxml2 --enable-libzimg
--enable-libzmq --enable-libzvbi --enable-lv2 --enable-lzma
--enable-libmysofa --enable-openal --enable-opencl --enable-opengl
--enable-openssl --enable-pocketsphinx --enable-sndio --enable-sdl2
--enable-vapoursynth --enable-libvpl --enable-v4l2-m2m
--disable-stripping --cpu=native --target-os=linux --enable-shared
libavutil 60. 8.100 / 60. 8.100 libavcodec 62. 11.100 /
62. 11.100 libavformat 62. 3.100 / 62. 3.100 libavdevice 62.
1.100 / 62. 1.100 libavfilter 11. 4.100 / 11. 4.100 libswscale
9. 1.100 / 9. 1.100 libswresample 6. 1.100 / 6. 1.100
[QSV @ 0x55c48ea44440] No supported child device type is enabled
Device creation failed: -38. Failed to set value 'qsv=hw' for option
'init_hw_device': Function not implemented Error parsing global
options: Function not implemented
Hey David
What version is your Intel CPU?
I gave you the model number in the title (265K), so I'm uncertain what
you're interested in, specifically. Here's the first listing of
/proc/cpuinfo, if it helps:
% less /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 198
model name : Intel(R) Core(TM) Ultra 7 265K
stepping : 2
microcode : 0x119
cpu MHz : 800.095
cache size : 30720 KB
physical id : 0
siblings : 20
core id : 0
cpu cores : 20
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 35
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb
rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology
nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl
vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe
popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch
cpuid_fault ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid
ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a rdseed adx
smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves
split_lock_detect user_shstk avx_vnni lam wbnoinvd dtherm ida arat pln pts hwp
hwp_notify hwp_act_window hwp_epp hwp_pkg_req hfi vnmi umip pku ospke waitpkg
gfni vaes vpclmulqdq rdpid bus_lock_detect movdiri movdir64b fsrm md_clear
serialize arch_lbr ibt flush_l1d arch_capabilities
vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad
ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid
unrestricted_guest vapic_reg vid ple shadow_vmcs pml ept_violation_ve
ept_mode_based_exec tsc_scaling usr_wait_pause notify_vm_exiting ipi_virt
bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs bhi
bogomips : 7759.00
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
I've not been able to solve this problem using the qsv API, only using
-hwaccel vaapi or -hwaccel cuda (if you have a Nvidia GPU). There
appears to be some confusion as to which Intel GPU version supports the
FFmpeg qsv API and how this is implemented.
Yeah, I kinda noticed that.
Also, the h.266 encoder, enabled via your libvvenc, will not encode
with Quick Sync and libvvdec will only work with the very latest Intel
CPU/GPUs.
Cheers Peter
Well, the 265K is the very latest -- unless you're referring to the
paper launched laptop CPUs from intel at CES.
Thanks,
David
Apologies for missing the Intel 265K in the subject line; my brain quickly tabbed to the
body of the email at "Cannot use QSV."
I use a Nvidia GPU for encoding workflows but since my Debian FFmpeg machine
(GIT build with --enable-libvpl, the latest Intel incantation) has a Xeon CPU
supporting QSV, I thought I might be able to add another decoding/encoding
instance using QSV.
Several years back, I successfully used FFmpeg with QSV on an old borrowed
_Windows_ laptop; this is making me think that the problem is Linux driver
related, as you are also having problems with a very modern CPU (albeit with a
different error message):
"No supported child device type is enabled Device creation failed: -38" vs my
"Error creating a MFX session: -9").
Another caveat is that HandBrake also reports that QSV is missing, although it
also uses some of the same libraries as FFmpeg, so that may still be a factor.
I don't have a physical Windows platform available to test the latest FFmpeg,
only Windows VMs and they do not pass through the Intel GPU.
This is the beginning of the command that I successfully used on the physical
Windows platform. Some of these options might not work/be invalid with the
latest FFmpeg:
ffmpeg -init_hw_device qsv=hw -filter_hw_device hw -hwaccel qsv
-hwaccel_output_format qsv
Lastly, according to the QSV encoding/decoding compatibility chart, your CPU
(Arrow Lake) is not supported for VVC. This chart may be out of date but there
are so many conflicting resources and no definitive answers, I'm not sure any
longer:
https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video
Excuse the above verbosity but on this list, I have found it to be useful.
_______________________________________________
ffmpeg-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]