NvdecDecoderContext.cs 663 B

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