I am a relatively new starter with ffmpeg 8.0.1 libraries. I amworking on 
Windows 11 with Visual Studio 2026, building the librariesin MSYS2.


I have a source of uncompressed video frames inBGRA format which can be 
progressive or interlaced, and I want toencode them to H.264 using the ffmpeg 
libraries using any of thehardware encoders h264_qsv, h264_amf, h264_nvenc (or 
h264_mf as apossible software fallback). There is no decoding needed because 
theinput frames are already uncompressed.
The BGRA frames needto go through color conversion to NV12 (to keep the encoder 
happy),optional deinterlacing (if the frames are interlaced), and 
optionalresizing in a ffmpeg filter graph before being fed into the encoder.
I have the ffmpegfilter graph working fine on the CPU feeding the hardware 
encoder –so for example for interlaced source frames with resizing the 
filterstring is:
scale=interl=1:format=nv12,bwdif=mode=send_frame:parity=auto:deint=all,scale=%d:%d
But I would like thewhole filter graph to run on the GPU instead and feed the 
hardwareencoder so that everything is done on the GPU. Hopefully it will 
thenrun faster(?)
Web/AI searchessuggest that there is a “d3d11vpp” filter in ffmpeg that 
providesa single platform-agnostic method of doing all this on the GPU 
usingD3D11, rather than using different platform-specific filters.Suggested 
filter strings vary but look something like:
hwupload,d3d11vpp=format=nv12:deinterlace=2:rate=0:w=%d:h=%d
But I can’t findany evidence that d3d11vpp exists (at least in version 8.0.1 
offfmpeg), so it may just be an AI hallucination.


So, is there*really* a platform-agnostic way of running the filter graph on 
theGPU, or do you have to use filters specific to the PC’s actualhardware?
_______________________________________________
Libav-user mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to