mirror of https://git.ffmpeg.org/ffmpeg.git
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>.
This commit is contained in:
parent
f11ec8cee7
commit
6f58b4dc47
|
@ -4665,7 +4665,6 @@ if enabled libdc1394; then
|
|||
fi
|
||||
|
||||
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_cpp_condition nvEncodeAPI.h "NVENCAPI_MAJOR_VERSION >= 6" ||
|
||||
die "ERROR: NVENC API version 5 or older is not supported"
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
|
||||
#include "config.h"
|
||||
|
||||
#include <cuda.h>
|
||||
#include <nvEncodeAPI.h>
|
||||
#include <string.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 {
|
||||
|
|
Loading…
Reference in New Issue