예제 #1
0
        /// <inheritdoc cref="LibCuVideo.DestroyDecoder(CuVideoDecoder)"/>
        public void Dispose()
        {
            var handle = Interlocked.Exchange(ref Handle, IntPtr.Zero);
            if (handle == IntPtr.Zero) return;
            var obj = new CuVideoDecoder { Handle = handle };

            CheckResult(DestroyDecoder(obj));
        }
예제 #2
0
 public CuVideoFrame(CuDevicePtr devicePtr, CuVideoDecoder decoder)
 {
     Handle = devicePtr.Handle;
     _decoder = decoder;
 }
예제 #3
0
 public static extern CuResult MapVideoFrame64(CuVideoDecoder decoder, int nPicIdx,
                                               out CuDevicePtr devPtr, out int pitch, ref CuVideoProcParams vpp);
예제 #4
0
 public static extern CuResult UnmapVideoFrame64(CuVideoDecoder decoder, CuDevicePtr devPtr);
예제 #5
0
 public static extern CuResult ReconfigureDecoder(CuVideoDecoder decoder, ref CuVideoReconfigureDecoderInfo decReconfigParams);
예제 #6
0
 public static extern CuResult GetDecodeStatus(CuVideoDecoder decoder, int nPicIdx, out CuVideoDecodeStatus decodeStatus);
예제 #7
0
 public static extern CuResult DecodePicture(CuVideoDecoder decoder, ref CuVideoPicParams picParams);
예제 #8
0
 public static extern CuResult DestroyDecoder(CuVideoDecoder decoder);
예제 #9
0
 public static extern CuResult CreateDecoder(out CuVideoDecoder decoder, ref CuVideoDecodeCreateInfo pdci);