summaryrefslogtreecommitdiffstats
path: root/src/video_core/command_classes/codecs/vp8.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/command_classes/codecs/vp8.h')
-rw-r--r--src/video_core/command_classes/codecs/vp8.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/video_core/command_classes/codecs/vp8.h b/src/video_core/command_classes/codecs/vp8.h
new file mode 100644
index 000000000..70c75f414
--- /dev/null
+++ b/src/video_core/command_classes/codecs/vp8.h
@@ -0,0 +1,31 @@
+// Copyright 2021 yuzu Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <vector>
+
+#include "common/common_types.h"
+#include "video_core/command_classes/nvdec_common.h"
+
+namespace Tegra {
+class GPU;
+namespace Decoder {
+
+class VP8 {
+public:
+ explicit VP8(GPU& gpu);
+ ~VP8();
+
+ /// Compose the VP8 header of the frame for FFmpeg decoding
+ [[nodiscard]] const std::vector<u8>& ComposeFrameHeader(
+ const NvdecCommon::NvdecRegisters& state, bool is_first_frame = false);
+
+private:
+ std::vector<u8> frame;
+ GPU& gpu;
+};
+
+} // namespace Decoder
+} // namespace Tegra