/ src / Ryujinx.Graphics.Nvdec / NvdecDecoderContext.cs
NvdecDecoderContext.cs
 1  using System;
 2  
 3  namespace Ryujinx.Graphics.Nvdec
 4  {
 5      class NvdecDecoderContext : IDisposable
 6      {
 7          private FFmpeg.H264.Decoder _h264Decoder;
 8          private FFmpeg.Vp8.Decoder _vp8Decoder;
 9  
10          public FFmpeg.H264.Decoder GetH264Decoder()
11          {
12              return _h264Decoder ??= new FFmpeg.H264.Decoder();
13          }
14  
15          public FFmpeg.Vp8.Decoder GetVp8Decoder()
16          {
17              return _vp8Decoder ??= new FFmpeg.Vp8.Decoder();
18          }
19  
20          public void Dispose()
21          {
22              _h264Decoder?.Dispose();
23              _h264Decoder = null;
24  
25              _vp8Decoder?.Dispose();
26              _vp8Decoder = null;
27          }
28      }
29  }