diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2021-09-28 19:43:40 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 00:43:40 +0200 |
| commit | f4f496cb48a59aae36e3252baa90396e1bfadd2e (patch) | |
| tree | 5594d76b3f1b552f1fecdeda37bd2f6667781a56 /Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs | |
| parent | 0d23504e30395ba20d1704da464b41f3fe539062 (diff) | |
NVDEC (H264): Use separate contexts per channel and decode frames in DTS order (#2671)
* Use separate NVDEC contexts per channel (for FFMPEG)
* Remove NVDEC -> VIC frame override hack
* Add missing bottom_field_pic_order_in_frame_present_flag
* Make FFMPEG logging static
* nit: Remove empty lines
* New FFMPEG decoding approach -- call h264_decode_frame directly, trim surface cache to reduce memory usage
* Fix case
* Silence warnings
* PR feedback
* Per-decoder rather than per-codec ownership of surfaces on the cache
Diffstat (limited to 'Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs')
| -rw-r--r-- | Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs b/Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs new file mode 100644 index 00000000..90da0bee --- /dev/null +++ b/Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs @@ -0,0 +1,21 @@ +using Ryujinx.Graphics.Nvdec.H264; +using System; + +namespace Ryujinx.Graphics.Nvdec +{ + class NvdecDecoderContext : IDisposable + { + private Decoder _decoder; + + public Decoder GetDecoder() + { + return _decoder ??= new Decoder(); + } + + public void Dispose() + { + _decoder?.Dispose(); + _decoder = null; + } + } +}
\ No newline at end of file |
