X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvdpau.c;h=167f06d7aebbf10768b3a93ff235b680f25b12b1;hb=0f0f5188acc67a35a8f045505ccf6e2178e5f858;hp=1b2ec989cda4748bfa2b637b624a0a7017342ede;hpb=185aa5e896e15ae96145609944bfc6bbb239bc64;p=ffmpeg diff --git a/libavcodec/vdpau.c b/libavcodec/vdpau.c index 1b2ec989cda..167f06d7aeb 100644 --- a/libavcodec/vdpau.c +++ b/libavcodec/vdpau.c @@ -208,8 +208,12 @@ int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile, return vdpau_error(status); if (avctx->codec_id == AV_CODEC_ID_HEVC && strncmp(info_string, "NVIDIA ", 7) == 0 && !(avctx->hwaccel_flags & AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH)) { - av_log(avctx, AV_LOG_VERBOSE, "HEVC with NVIDIA VDPAU drivers is buggy, skipping.\n"); - return AVERROR(ENOTSUP); + int driver_version = 0; + sscanf(info_string, "NVIDIA VDPAU Driver Shared Library %d", &driver_version); + if (driver_version < 410) { + av_log(avctx, AV_LOG_VERBOSE, "HEVC with NVIDIA VDPAU drivers is buggy, skipping.\n"); + return AVERROR(ENOTSUP); + } } status = vdctx->get_proc_address(vdctx->device,