From f11ec8cee72fd2f1d26c4cbc675597422d106e17 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Fri, 13 May 2016 09:05:25 +0200 Subject: nvenc: only support HW frames when CUDA is enabled hwcontext_cuda.h includes cuda.h, so this will allow building nvenc without depending on cuda.h --- libavcodec/nvenc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index ff852b10bb..7564985964 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -48,13 +48,16 @@ #include "libavutil/common.h" #include "libavutil/hwcontext.h" -#include "libavutil/hwcontext_cuda.h" #include "libavutil/imgutils.h" #include "libavutil/mem.h" #include "avcodec.h" #include "internal.h" #include "nvenc.h" +#if CONFIG_CUDA +#include "libavutil/hwcontext_cuda.h" +#endif + #define NVENC_CAP 0x30 #define BITSTREAM_BUFFER_SIZE 1024 * 1024 #define IS_CBR(rc) (rc == NV_ENC_PARAMS_RC_CBR || \ @@ -85,7 +88,9 @@ const enum AVPixelFormat ff_nvenc_pix_fmts[] = { AV_PIX_FMT_NV12, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV444P, +#if CONFIG_CUDA AV_PIX_FMT_CUDA, +#endif AV_PIX_FMT_NONE }; @@ -395,6 +400,7 @@ static int nvenc_setup_device(AVCodecContext *avctx) } if (avctx->pix_fmt == AV_PIX_FMT_CUDA) { +#if CONFIG_CUDA AVHWFramesContext *frames_ctx; AVCUDADeviceContext *device_hwctx; int ret; @@ -414,6 +420,9 @@ static int nvenc_setup_device(AVCodecContext *avctx) ret = nvenc_check_capabilities(avctx); if (ret < 0) return ret; +#else + return AVERROR_BUG; +#endif } else { int i, nb_devices = 0; -- cgit v1.2.3