# Hardware Decoder

The system supports hardware video decoding of AVC(H.264), HEVC(H.265) and MJPEG video on NVIDIA (GeForce, Quadro, Jetson), Intel, and AMD (Linux only) platforms.

Up-to-date drivers are required for correct operation.

## Windows

### NVIDIA

Go to [https://www.nvidia.com/Download/index.aspx](https://www.nvidia.com/Download/index.aspx) and download the latest drivers for your GPU.

## Linux

### NVIDIA

Run the following commands to install the (at the time of writing) latest stable NVIDIA drivers.

```bash
sudo add-apt-repository restricted
sudo apt-update
sudo apt-get install nvidia-driver-580
```

### AMD

Follow the instructions at [https://www.amd.com/en/support/download/linux-drivers.html](https://www.amd.com/en/support/download/linux-drivers.html) for the latest drivers.

## Settings

There are some hardware decoder specific settings for supported video inputs.

Preferred Decoder

This setting is available if the computer has two GPUs, one internal and one external. This selects the GPU used for decoding, a restart of the software is necessary when changed!

Skip Frame

Makes the software drops the selected number of frames in a row before decoding, this will result in a slower frame rate but will ease the load on the decoder. The use case is when wanting to reduce latency from a camera by having the camera run in a higher framerate than is used for streaming (MJPEG only).

### NVIDIA (NVDEC)

Decode Device

The CUDA GPU device ID. 0 is the default device.

FPS Match

Matches the decode FPS to the render FPS. Useful in Producer only.

Min Queue

Minimum decode queue before starting to decode.

Max Queue

Maximum decode queue to keep.

Max Dec. Surfaces

Maximum number of decode surfaces (buffers) that NVDEC is allowed to hold in memory. More surfaces means better performance but requires more memory.

CUDA Buf. Depth

Only applicable if Decode Device > 0. More buffers means better performance and stability but requires more memory.

Decode Queue

The minimum decode queue length before starting to decode.
