/// <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)); }
public CuVideoFrame(CuDevicePtr devicePtr, CuVideoDecoder decoder) { Handle = devicePtr.Handle; _decoder = decoder; }
public static extern CuResult MapVideoFrame64(CuVideoDecoder decoder, int nPicIdx, out CuDevicePtr devPtr, out int pitch, ref CuVideoProcParams vpp);
public static extern CuResult UnmapVideoFrame64(CuVideoDecoder decoder, CuDevicePtr devPtr);
public static extern CuResult ReconfigureDecoder(CuVideoDecoder decoder, ref CuVideoReconfigureDecoderInfo decReconfigParams);
public static extern CuResult GetDecodeStatus(CuVideoDecoder decoder, int nPicIdx, out CuVideoDecodeStatus decodeStatus);
public static extern CuResult DecodePicture(CuVideoDecoder decoder, ref CuVideoPicParams picParams);
public static extern CuResult DestroyDecoder(CuVideoDecoder decoder);
public static extern CuResult CreateDecoder(out CuVideoDecoder decoder, ref CuVideoDecodeCreateInfo pdci);