diff options
| author | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-08-07 15:12:15 -0400 |
|---|---|---|
| committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-08-12 01:28:01 -0400 |
| commit | 659039ca6df543f101c80858fe55a880645b773e (patch) | |
| tree | a0aa47635ec2f119ff2d0d5cc6c1cecdf1b9cf6f /src/video_core/command_classes/codecs/codec.h | |
| parent | 756d76d9711540ac4d9e4c3b1703159f777fe45a (diff) | |
nvdec: Implement GPU accelerated decoding for all platforms
Supplements the VAAPI intel gpu decoder by implementing the D3D11VA decoder for Windows, and CUVID/VDPAU for Nvidia and AMD on drivers linux respectively.
Diffstat (limited to 'src/video_core/command_classes/codecs/codec.h')
| -rw-r--r-- | src/video_core/command_classes/codecs/codec.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/command_classes/codecs/codec.h b/src/video_core/command_classes/codecs/codec.h index 71936203f..abfe59221 100644 --- a/src/video_core/command_classes/codecs/codec.h +++ b/src/video_core/command_classes/codecs/codec.h @@ -50,18 +50,22 @@ public: /// Returns the value of current_codec [[nodiscard]] NvdecCommon::VideoCodec GetCurrentCodec() const; + /// Return name of the current codec [[nodiscard]] std::string_view GetCurrentCodecName() const; private: - void InitializeHwdec(); + void InitializeGpuDecoder(); + + bool CreateGpuAvDevice(); bool initialized{}; + bool using_gpu_decode{}; NvdecCommon::VideoCodec current_codec{NvdecCommon::VideoCodec::None}; AVCodec* av_codec{nullptr}; - AVBufferRef* av_hw_device{nullptr}; AVCodecContext* av_codec_ctx{nullptr}; + AVBufferRef* av_gpu_decoder{nullptr}; GPU& gpu; const NvdecCommon::NvdecRegisters& state; |
