aboutsummaryrefslogblamecommitdiff
path: root/src/Ryujinx.Graphics.Nvdec/NvdecDecoderContext.cs
blob: aaa734a88a4db4cfca538490de1d3248dff5c4cc (plain) (tree)
1
2
3
4
5
6
7
8
9




                                           
                                                 
 
                                                   
         




                                                              


                             



                                    
         
 
using System;

namespace Ryujinx.Graphics.Nvdec
{
    class NvdecDecoderContext : IDisposable
    {
        private FFmpeg.H264.Decoder _h264Decoder;
        private FFmpeg.Vp8.Decoder _vp8Decoder;

        public FFmpeg.H264.Decoder GetH264Decoder()
        {
            return _h264Decoder ??= new FFmpeg.H264.Decoder();
        }

        public FFmpeg.Vp8.Decoder GetVp8Decoder()
        {
            return _vp8Decoder ??= new FFmpeg.Vp8.Decoder();
        }

        public void Dispose()
        {
            _h264Decoder?.Dispose();
            _h264Decoder = null;

            _vp8Decoder?.Dispose();
            _vp8Decoder = null;
        }
    }
}