summaryrefslogtreecommitdiff
path: root/src/video_core/command_classes
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/command_classes')
-rw-r--r--src/video_core/command_classes/codecs/codec.cpp6
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);