gstreamer/sys/nvenc
Seungha Yang 74848770a5 nvenc: Ensure drain all frames on finish
To drain all queued encoding items, encoder should gracefully
wait the encoding thread without stealing queued items.
Otherwise, some input frames can be dropped.
2019-03-10 13:58:42 +09:00
..
gstnvbaseenc.c nvenc: Ensure drain all frames on finish 2019-03-10 13:58:42 +09:00
gstnvbaseenc.h nvenc: add "gop-size" property 2018-01-24 10:39:40 +00:00
gstnvenc.c nvenc: Add meson build with Windows support 2018-11-25 23:31:37 +00:00
gstnvenc.h nvenc: Add meson build with Windows support 2018-11-25 23:31:37 +00:00
gstnvh264enc.c nvenc: Fix GValue leaks 2019-03-09 15:17:30 +00:00
gstnvh264enc.h Add Nvidia based hardware encoder element 2015-09-29 15:32:17 +10:00
gstnvh265enc.c nvenc: Fix GValue leaks 2019-03-09 15:17:30 +00:00
gstnvh265enc.h nvh265enc: Add Nvidia GPU based HEVC encoder 2018-04-25 01:59:30 +10:00
Makefile.am build: Don't forget to add windows files to EXTRA_DIST 2019-01-18 13:13:09 +05:30
meson.build nvenc: Add meson build with Windows support 2018-11-25 23:31:37 +00:00
nvEncodeAPI.h nvdec/nvenc: Shipping NVIDA Codec SDK headers 2018-11-25 23:31:37 +00:00
README Add Nvidia based hardware encoder element 2015-09-29 15:32:17 +10:00
TODO Add Nvidia based hardware encoder element 2015-09-29 15:32:17 +10:00

This plugin is intended for use with NVIDIA hardware.  Specifically, the NVENC
block available in recent NVIDIA GPU hardware.  This is provided by a
libnvidia-encode library provided by NVIDIA graphic drivers.

Requirements
------------
Cuda > 6.5
NVENC 5.0

See https://developer.nvidia.com/nvidia-video-codec-sdk for a list of
supported GPU's.

Building
--------
1. Retrieve the NVENC SDK
from https://developer.nvidia.com/nvidia-video-codec-sdk
- http://developer.download.nvidia.com/compute/nvenc/v5.0/nvenc_5.0.1_sdk.zip
2. unzip this somewhere and retreive or note the location of the
nvEncodeAPI.h under nvenc_api-5.0.1/Samples/common/inc/
3. Retreive a version of cuda from
https://developer.nvidia.com/cuda-downloads and install somewhere noting
the installation prefix (typically /opt/cuda or /usr/local/cuda)
4. Now that the dependencies are sorted, there are a couple of
environment variables and/or or configure arguments that are needed to
detect the necessary libraries/headers.

More information is available from the following locations

[1] - https://developer.nvidia.com/cuda-downloads
[2] - https://developer.nvidia.com/nvidia-video-codec-sdk