diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-05-13 09:13:47 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-05-19 14:17:03 +0200 |
commit | 6f58b4dc477e22237c4e89f6e2a1435aaa45a4d3 (patch) | |
tree | 0c04952630f33ad9517a4cc07afb570de9c45928 /libavcodec | |
parent | f11ec8cee72fd2f1d26c4cbc675597422d106e17 (diff) | |
download | ffmpeg-6f58b4dc477e22237c4e89f6e2a1435aaa45a4d3.tar.gz |
nvenc: drop the hard dependency on CUDA
The code needs only a few definitions from cuda.h, so define them
directly when CUDA is not enabled. CUDA is still required for accepting
HW frames as input.
Based on the code by Timo Rothenpieler <timo@rothenpieler.org>.
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/nvenc.c | 1 | ||||
-rw-r--r-- | libavcodec/nvenc.h | 19 |
2 files changed, 18 insertions, 2 deletions
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 7564985964..bdd26bb0ea 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -21,7 +21,6 @@ #include "config.h" -#include <cuda.h> #include <nvEncodeAPI.h> #include <string.h> diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h index 8cd5991f4c..e7e6182196 100644 --- a/libavcodec/nvenc.h +++ b/libavcodec/nvenc.h @@ -19,7 +19,6 @@ #ifndef AVCODEC_NVENC_H #define AVCODEC_NVENC_H -#include <cuda.h> #include <nvEncodeAPI.h> #include "config.h" @@ -29,6 +28,24 @@ #include "avcodec.h" +#if CONFIG_CUDA +#include <cuda.h> +#else + +#if defined(_WIN32) +#define CUDAAPI __stdcall +#else +#define CUDAAPI +#endif + +typedef enum cudaError_enum { + CUDA_SUCCESS = 0 +} CUresult; +typedef int CUdevice; +typedef void* CUcontext; +typedef void* CUdeviceptr; +#endif + #define MAX_REGISTERED_FRAMES 64 typedef struct NVENCFrame { |