diff options
Diffstat (limited to 'src/video_core/host1x/codecs/codec.h')
-rw-r--r-- | src/video_core/host1x/codecs/codec.h | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/video_core/host1x/codecs/codec.h b/src/video_core/host1x/codecs/codec.h deleted file mode 100644 index f700ae129..000000000 --- a/src/video_core/host1x/codecs/codec.h +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include <memory> -#include <optional> -#include <string_view> -#include <queue> -#include "common/common_types.h" -#include "video_core/host1x/ffmpeg/ffmpeg.h" -#include "video_core/host1x/nvdec_common.h" - -namespace Tegra { - -namespace Decoder { -class H264; -class VP8; -class VP9; -} // namespace Decoder - -namespace Host1x { -class Host1x; -} // namespace Host1x - -class Codec { -public: - explicit Codec(Host1x::Host1x& host1x, const Host1x::NvdecCommon::NvdecRegisters& regs); - ~Codec(); - - /// Initialize the codec, returning success or failure - void Initialize(); - - /// Sets NVDEC video stream codec - void SetTargetCodec(Host1x::NvdecCommon::VideoCodec codec); - - /// Call decoders to construct headers, decode AVFrame with ffmpeg - void Decode(); - - /// Returns next decoded frame - [[nodiscard]] std::unique_ptr<FFmpeg::Frame> GetCurrentFrame(); - - /// Returns the value of current_codec - [[nodiscard]] Host1x::NvdecCommon::VideoCodec GetCurrentCodec() const; - - /// Return name of the current codec - [[nodiscard]] std::string_view GetCurrentCodecName() const; - -private: - bool initialized{}; - Host1x::NvdecCommon::VideoCodec current_codec{Host1x::NvdecCommon::VideoCodec::None}; - FFmpeg::DecodeApi decode_api; - - Host1x::Host1x& host1x; - const Host1x::NvdecCommon::NvdecRegisters& state; - std::unique_ptr<Decoder::H264> h264_decoder; - std::unique_ptr<Decoder::VP8> vp8_decoder; - std::unique_ptr<Decoder::VP9> vp9_decoder; - - std::queue<std::unique_ptr<FFmpeg::Frame>> frames{}; -}; - -} // namespace Tegra |