Browse code

avcodec/vdpau: Enable HEVC support for working Nvidia driver versions

The driver bugs that caused decoded HEVC content to have an incorrect
memory layout have been fully fixed in the 410.xx driver release so
we can start exposing support.

ManojGuptaBonda authored on 2018/10/29 17:09:54
Showing 1 changed files
... ...
@@ -208,8 +208,12 @@ int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile,
208 208
         return vdpau_error(status);
209 209
     if (avctx->codec_id == AV_CODEC_ID_HEVC && strncmp(info_string, "NVIDIA ", 7) == 0 &&
210 210
         !(avctx->hwaccel_flags & AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH)) {
211
-        av_log(avctx, AV_LOG_VERBOSE, "HEVC with NVIDIA VDPAU drivers is buggy, skipping.\n");
212
-        return AVERROR(ENOTSUP);
211
+        int driver_version;
212
+        sscanf(info_string, "NVIDIA VDPAU Driver Shared Library  %d", &driver_version);
213
+        if (driver_version < 410) {
214
+            av_log(avctx, AV_LOG_VERBOSE, "HEVC with NVIDIA VDPAU drivers is buggy, skipping.\n");
215
+            return AVERROR(ENOTSUP);
216
+        }
213 217
     }
214 218
 
215 219
     status = vdctx->get_proc_address(vdctx->device,