Splitting out topics from this thread…
I got an Intel Arc A750 which I intend to use for gaming and AV1 encoding using ffmpeg.
It works fine out of the box, apart from issues mentioned in the other post, and ffmpeg does not use it for encoding yet.
Normal libsvtav1 runs on the CPU only. Will have to see how I can get it to run on the GPU, or if I use a different encoder.
I found online that VAAPI or QSV should be used. I am not sure yet what these are and how they compare. Afaik VAAPI would be preferred on Linux?
I found this (portuguese) resource, which uses QSV. out of the box it produces errors, will see if I need the runtime vpl-gpu-rt.
As QSV is “higher tier” (or as some people might say “Just VAAPI with proprietary things added to it”), performance has been reported as up to 50% better.
I think adding vpl-gpu-rt to the hardware.graphics.extraPackages caused my system to compile the kernel from scratch, so well I am doing that now and will see.
From my short research and ffmpeg -h encoder=av1_qsv, I assembled this command for encoding
ffmpeg -i "$input_file" \
-c:v av1_qsv \
-preset veryslow \
-global_quality 24 \
-adaptive_i 1 -adaptive_b 1 -b_strategy 1 \
-extbrc 1 -look_ahead_depth 100 \
-vf "hqdn3d" \
-sn \
-an \
-map_metadata 0 \
-map 0 \
"$output_file"
to my knowledge, these encoders exist
# Software
libaom-av1 # first proof of concept, quite inefficient on my CPU
libsvtav1 # way faster on my CPU, 1.5x at max, I used this until now
# Hardware
av1_vaapi # standard VAAPI, simpler and open (I suppose) but less efficient than qsv
av1_qsv # QuickSync, supported by Intel and AMD, more advanced than just VAAPI
Denoising
Seems as if the GPU can use hqdn3d but not nlmeans (which is better). Using nlmeans immediately killed the speed completely!
I used no denoising at all and found -global_quality 22 to achieve near transparency, even when encoding 2K to 1080p! AV1 is amazing (even though AV2 soon being out makes me want to wait with the encoding, but well, hardware support will take time)