Are there plans for FFV1 hardware encoding and decoding support

Hi,

I’m curious whether FFV1 hardware encoding and decoding is on the roadmap – it’s a very popular preservation codec in public archives because it’s lossless and openly licensed (FFV1 - Wikipedia), though I haven’t seen any fixed-function implementations despite its maturity at this point. In my professional life it is by far the most common codec that I encode to which is not currently supported by NVENC (in fact, virtually the only one), and it is often used for very, very large files that a hardware implementation would be very useful for. Compared to AV1 encoding, I believe it should be far easier to support, and I think there would be widespread interest in such a project at e.g. No Time To Wait and other venues.

Thanks!

2 Likes

Hi,

I would really interested by this as well. Had you the opportunity to study the algorithm? If yes, do you think it can take advantage of parallel computation?

Yes, this is now possible in ffmpeg, via Vulkan.
The latest git tip is required, and ffmpeg must be built with Vulkan enabled.

Awesome! I can see it here: FFmpeg/libavcodec/ffv1enc_vulkan.c at master · FFmpeg/FFmpeg · GitHub

Will be taking a look.