You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
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:
1
configure
vendored
1
configure
vendored
@@ -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 {
|
||||||
|
Reference in New Issue
Block a user