diff options
author | Roman Arzumanyan <rarzumanyan@nvidia.com> | 2020-09-03 14:52:08 +0300 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2020-10-15 21:20:40 +0200 |
commit | b23e6ae8864baaa80d2082dbf16dec9359d2902c (patch) | |
tree | 3ea8eb641ccf78cbea5940bab4f50aae02982b89 /libavcodec/cuviddec.c | |
parent | b7f51428b1c73ab5840485ce537ce098a85d0881 (diff) | |
download | ffmpeg-b23e6ae8864baaa80d2082dbf16dec9359d2902c.tar.gz |
avcodec/cuviddec: add av1 support
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Diffstat (limited to 'libavcodec/cuviddec.c')
-rw-r--r-- | libavcodec/cuviddec.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/libavcodec/cuviddec.c b/libavcodec/cuviddec.c index 2d6377bc8c..ee2ecc01fe 100644 --- a/libavcodec/cuviddec.c +++ b/libavcodec/cuviddec.c @@ -42,6 +42,10 @@ #define cudaVideoSurfaceFormat_YUV444_16Bit 3 #endif +#if NVDECAPI_CHECK_VERSION(11, 0) +#define CUVID_HAS_AV1_SUPPORT +#endif + typedef struct CuvidContext { AVClass *avclass; @@ -940,6 +944,11 @@ static av_cold int cuvid_decode_init(AVCodecContext *avctx) ctx->cuparseinfo.CodecType = cudaVideoCodec_VC1; break; #endif +#if CONFIG_AV1_CUVID_DECODER && defined(CUVID_HAS_AV1_SUPPORT) + case AV_CODEC_ID_AV1: + ctx->cuparseinfo.CodecType = cudaVideoCodec_AV1; + break; +#endif default: av_log(avctx, AV_LOG_ERROR, "Invalid CUVID codec!\n"); return AVERROR_BUG; @@ -1134,6 +1143,10 @@ static const AVCodecHWConfigInternal *cuvid_hw_configs[] = { .wrapper_name = "cuvid", \ }; +#if CONFIG_AV1_CUVID_DECODER && defined(CUVID_HAS_AV1_SUPPORT) +DEFINE_CUVID_CODEC(av1, AV1, NULL) +#endif + #if CONFIG_HEVC_CUVID_DECODER DEFINE_CUVID_CODEC(hevc, HEVC, "hevc_mp4toannexb") #endif |