From ac5b45abab3815c36c9110f979b547b2189e739d Mon Sep 17 00:00:00 2001 From: Timo Rothenpieler Date: Sat, 17 Oct 2020 18:16:54 +0200 Subject: avcodec/nvdec: add av1 hwaccel Signed-off-by: Timo Rothenpieler Co-authored-by: James Almer --- libavcodec/av1dec.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'libavcodec/av1dec.c') diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index 7185ad827c..1078f708f7 100644 --- a/libavcodec/av1dec.c +++ b/libavcodec/av1dec.c @@ -317,7 +317,7 @@ static int get_pixel_format(AVCodecContext *avctx) uint8_t bit_depth; int ret; enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE; -#define HWACCEL_MAX (CONFIG_AV1_VAAPI_HWACCEL) +#define HWACCEL_MAX (CONFIG_AV1_NVDEC_HWACCEL + CONFIG_AV1_VAAPI_HWACCEL) enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts; if (seq->seq_profile == 2 && seq->color_config.high_bitdepth) @@ -380,11 +380,17 @@ static int get_pixel_format(AVCodecContext *avctx) switch (s->pix_fmt) { case AV_PIX_FMT_YUV420P: +#if CONFIG_AV1_NVDEC_HWACCEL + *fmtp++ = AV_PIX_FMT_CUDA; +#endif #if CONFIG_AV1_VAAPI_HWACCEL *fmtp++ = AV_PIX_FMT_VAAPI; #endif break; case AV_PIX_FMT_YUV420P10: +#if CONFIG_AV1_NVDEC_HWACCEL + *fmtp++ = AV_PIX_FMT_CUDA; +#endif #if CONFIG_AV1_VAAPI_HWACCEL *fmtp++ = AV_PIX_FMT_VAAPI; #endif @@ -968,6 +974,9 @@ AVCodec ff_av1_decoder = { .flush = av1_decode_flush, .profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles), .hw_configs = (const AVCodecHWConfigInternal * []) { +#if CONFIG_AV1_NVDEC_HWACCEL + HWACCEL_NVDEC(av1), +#endif #if CONFIG_AV1_VAAPI_HWACCEL HWACCEL_VAAPI(av1), #endif -- cgit v1.2.3