diff options
author | Anton Khirnov <anton@khirnov.net> | 2017-02-11 18:49:34 +0300 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2017-07-28 15:12:56 +0300 |
commit | b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88 (patch) | |
tree | efe9a0e5174fe26328666eac5089d7a72ef34f5a /libavcodec/hevcdec.c | |
parent | 770cf1dbc2c8fe9b84300439ad0cd85036480388 (diff) |
hevcdec: add a CUVID hwaccel
Diffstat (limited to 'libavcodec/hevcdec.c')
-rw-r--r-- | libavcodec/hevcdec.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 664e4ac14b..a1619cf4bd 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -384,7 +384,8 @@ static void export_stream_params(AVCodecContext *avctx, const HEVCParamSets *ps, static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) { #define HWACCEL_MAX (CONFIG_HEVC_DXVA2_HWACCEL + CONFIG_HEVC_D3D11VA_HWACCEL * 2 + \ - CONFIG_HEVC_VAAPI_HWACCEL + CONFIG_HEVC_VDPAU_HWACCEL) + CONFIG_HEVC_VAAPI_HWACCEL + CONFIG_HEVC_VDPAU_HWACCEL + \ + CONFIG_HEVC_CUVID_HWACCEL) enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmt = pix_fmts; if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P || @@ -399,8 +400,14 @@ static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps) #if CONFIG_HEVC_VAAPI_HWACCEL *fmt++ = AV_PIX_FMT_VAAPI; #endif +#if CONFIG_HEVC_CUVID_HWACCEL && HAVE_CUVIDDECODECREATEINFO_BITDEPTHMINUS8 + *fmt++ = AV_PIX_FMT_CUDA; +#endif } if (sps->pix_fmt == AV_PIX_FMT_YUV420P || sps->pix_fmt == AV_PIX_FMT_YUVJ420P) { +#if CONFIG_HEVC_CUVID_HWACCEL && !HAVE_CUVIDDECODECREATEINFO_BITDEPTHMINUS8 + *fmt++ = AV_PIX_FMT_CUDA; +#endif #if CONFIG_HEVC_VDPAU_HWACCEL *fmt++ = AV_PIX_FMT_VDPAU; #endif |