aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/command_classes/codecs/vp8.h
diff options
context:
space:
mode:
authorameerj <52414509+ameerj@users.noreply.github.com>2021-11-12 19:28:21 -0500
committerameerj <52414509+ameerj@users.noreply.github.com>2021-11-12 19:49:45 -0500
commitb39b33b1fe1a396bb2f9841d48a1cb45cbfde806 (patch)
tree75517c706c67c3329c0cd6436a2a6397f3dddf24 /src/video_core/command_classes/codecs/vp8.h
parent852858c2cb1e07afd467ffc009ef736ce01b4f8f (diff)
codecs: Add VP8 codec class
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