GPU encoder H.264/AVC

Fastvideo GPU h264 codec offers high speed compression of video streams on NVIDIA GPU. NVIDIA’s latest generation of GPUs based on the Kepler amd Maxwell architectures, contain a hardware-based H.264 video encoder. This encoder, being dedicated H.264 hardware on the GPU chip, does not use the GPU’s graphics engine and can work together with CUDA applications. The hardware is optimized to provide excellent quality at high performance, enabling a wide range of applications that require video encoding capabilities. Every GPU from NVIDIA’s Kepler and Maxwell families contains one engine (one session), which is independent of the graphics engine. The second generation of Maxwell contains two engines. On NVIDIA Quadro GPUs (starting from K5000) one can run up to 8 sessions of the codec. Currently maximum resolution for one session is Full HD (1920×1080).

Benchmarks for GPU H264 video encoder (High Performance Preset)

H264 video encoder on NVIDIA GeForce GTX 980 GPU is capable to compress image sequences with resolution 1920×1080 (24-bit) at frame rates up to 160 fps. For image resolution 1024×768 one could get up to 400 fps for High Performance Preset. For comparison, CPU-based x264 codec can compress the same image sequence with Full HD resolution at frame rate up to 34 fps on Intel(R) Core i5-3330 CPU @ 3.00 GHz 3.20 GHz with "ultrafast" preset.

Options for GPU H.264 video encoder

H.264 GPU-based encoder can be utilized together with image processing pipeline on NVIDIA GPU: we can start from raw data which we get from a camera and finish with compressed h264 stream. Both image processing and encoding could be done in parallel on GPU almost at the same time.

We can offer custom software design for the following image processing pipelines on GPU: