aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/command_classes/codecs/codec.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-12-18 02:33:07 -0800
committerGitHub <noreply@github.com>2021-12-18 02:33:07 -0800
commit165de9393f85c566bcab060534a08b586a921087 (patch)
tree55ddefd392b4c3514264282b78a882bfea956bb0 /src/video_core/command_classes/codecs/codec.cpp
parenteeb585cb5ac92add0e29ad460289f1817c23039a (diff)
parente962e791eba58fb49095b6aeebb07e30f2099245 (diff)
Merge pull request #7587 from liushuyu/fix-linux-decoding
[Patch v2] externals/ffmpeg: refactor ffmpeg searching and handling in cmake
Diffstat (limited to 'src/video_core/command_classes/codecs/codec.cpp')
-rw-r--r--src/video_core/command_classes/codecs/codec.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/command_classes/codecs/codec.cpp b/src/video_core/command_classes/codecs/codec.cpp
index 2a532b8839..868b82f9bd 100644
--- a/src/video_core/command_classes/codecs/codec.cpp
+++ b/src/video_core/command_classes/codecs/codec.cpp
@@ -130,6 +130,12 @@ bool Codec::CreateGpuAvDevice() {
}
if (config->methods & HW_CONFIG_METHOD && config->device_type == type) {
av_codec_ctx->pix_fmt = config->pix_fmt;
+ if (config->methods & AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX) {
+ // skip zero-copy decoders, we don't currently support them
+ LOG_DEBUG(Service_NVDRV, "Skipping decoder {} with unsupported capability {}.",
+ av_hwdevice_get_type_name(type), config->methods);
+ continue;
+ }
LOG_INFO(Service_NVDRV, "Using {} GPU decoder", av_hwdevice_get_type_name(type));
return true;
}