Hi
I upgraded from 15.0 to 15.1 to 15.2. Did I do something wrong when I fought with installation of codecs/vlc (packman) or is it normal that I end up with a "/usr/lib64/vlc/plugins/codec/libavcodec_plugin.so" which uses libavcodec57 instead of libavcodec58?
Problem is libavcodec57 source code in vdpau.c does:
Code:
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"); |
}
while libavcodec58 source code does:
Code:
if (avctx->codec_id == AV_CODEC_ID_HEVC && strncmp(info_string, "NVIDIA ", 7) == 0 && |
!(avctx->hwaccel_flags & AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH)) { |
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"); |
}
So libavcodec57 always thinks HEVC with NVIDIA VDPAU is buggy, while according to libavcodec58 it is only buggy in older versions of the driver.
Hack: if I change the string "NVIDIA " in "usr/lib64/libavcodec.so.57" to "nVIDIA " with a hexeditor, accelerated video playback of HEVC with vlc works.