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]
