diff options
Diffstat (limited to 'src/video_core/command_classes')
| -rw-r--r-- | src/video_core/command_classes/codecs/codec.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/command_classes/codecs/codec.cpp b/src/video_core/command_classes/codecs/codec.cpp index 18aa40ca3..61966cbfe 100644 --- a/src/video_core/command_classes/codecs/codec.cpp +++ b/src/video_core/command_classes/codecs/codec.cpp | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | #include <fstream> | 5 | #include <fstream> |
| 6 | #include <vector> | 6 | #include <vector> |
| 7 | #include "common/assert.h" | 7 | #include "common/assert.h" |
| 8 | #include "common/settings.h" | ||
| 8 | #include "video_core/command_classes/codecs/codec.h" | 9 | #include "video_core/command_classes/codecs/codec.h" |
| 9 | #include "video_core/command_classes/codecs/h264.h" | 10 | #include "video_core/command_classes/codecs/h264.h" |
| 10 | #include "video_core/command_classes/codecs/vp9.h" | 11 | #include "video_core/command_classes/codecs/vp9.h" |
| @@ -142,8 +143,11 @@ void Codec::Initialize() { | |||
| 142 | } | 143 | } |
| 143 | }(); | 144 | }(); |
| 144 | av_codec = avcodec_find_decoder(codec); | 145 | av_codec = avcodec_find_decoder(codec); |
| 146 | |||
| 145 | InitializeAvCodecContext(); | 147 | InitializeAvCodecContext(); |
| 146 | InitializeGpuDecoder(); | 148 | if (Settings::values.nvdec_emulation.GetValue() == Settings::NvdecEmulation::GPU) { |
| 149 | InitializeGpuDecoder(); | ||
| 150 | } | ||
| 147 | if (const int res = avcodec_open2(av_codec_ctx, av_codec, nullptr); res < 0) { | 151 | if (const int res = avcodec_open2(av_codec_ctx, av_codec, nullptr); res < 0) { |
| 148 | LOG_ERROR(Service_NVDRV, "avcodec_open2() Failed with result {}", res); | 152 | LOG_ERROR(Service_NVDRV, "avcodec_open2() Failed with result {}", res); |
| 149 | avcodec_free_context(&av_codec_ctx); | 153 | avcodec_free_context(&av_codec_ctx); |