FFmpeg integration with NVIDIA GPU
FFmpeg is widely used application. We have developed a set of GPU-accelerated FFmpeg filters for image and video processing. Also we have optimized FFmpeg memory manager for better integration with NVIDIA GPU.
List of GPU-accelerated FFmpeg filters
Using GPU-accelarated FFmpeg filters allows to free CPU for other tasks (for example video decoding) and to increase FFmpeg performance. Great result for FFmpeg performance optimization gives combined GPU-accelarated filters with NVENC encoding. NVENC encoding works on separate hardware and does not affect GPU performance.
For the best performance it is necessary to overlap CPU threads, GPU kernels and GPU-based NVENC sessions at the same time by running two or more transcoding processes in parallel. For GeForce GPUs only two NVENC sessions are supported by hardware. But even just two processes could be sufficient.
We have designed that software as a part of our GPU image and video processing SDK. Now our customers have opportunity to utilize GPU-accelerated components to boost transcoding in their applications as a part of video processing pipeline.