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>.tags/n3.1
| @@ -4665,7 +4665,6 @@ if enabled libdc1394; then | |||||
| fi | fi | ||||
| if enabled nvenc; then | if enabled nvenc; then | ||||
| enabled cuda || check_header cuda.h || die "ERROR: cuda.h not found." | |||||
| check_header nvEncodeAPI.h || die "ERROR: nvEncodeAPI.h not found." | check_header nvEncodeAPI.h || die "ERROR: nvEncodeAPI.h not found." | ||||
| check_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 6" || | check_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 6" || | ||||
| die "ERROR: NVENC API version 5 or older is not supported" | die "ERROR: NVENC API version 5 or older is not supported" | ||||
| @@ -21,7 +21,6 @@ | |||||
| #include "config.h" | #include "config.h" | ||||
| #include <cuda.h> | |||||
| #include <nvEncodeAPI.h> | #include <nvEncodeAPI.h> | ||||
| #include <string.h> | #include <string.h> | ||||
| @@ -19,7 +19,6 @@ | |||||
| #ifndef AVCODEC_NVENC_H | #ifndef AVCODEC_NVENC_H | ||||
| #define AVCODEC_NVENC_H | #define AVCODEC_NVENC_H | ||||
| #include <cuda.h> | |||||
| #include <nvEncodeAPI.h> | #include <nvEncodeAPI.h> | ||||
| #include "config.h" | #include "config.h" | ||||
| @@ -29,6 +28,24 @@ | |||||
| #include "avcodec.h" | #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 | #define MAX_REGISTERED_FRAMES 64 | ||||
| typedef struct NVENCFrame { | typedef struct NVENCFrame { | ||||