/// <inheritdoc cref="LibCuVideo.GetDecodeStatus(CuVideoDecoder, int, out CuVideoDecodeStatus)"/>
 public CuVideoDecodeStatus GetDecodeStatus(int picIndex = 0)
 {
     var result = LibCuVideo.GetDecodeStatus(
         this, picIndex, out var status);
     CheckResult(result);
     return status;
 }
        /// <inheritdoc cref="LibCuVideo.MapVideoFrame64(CuVideoDecoder, int, out CuDevicePtr, out int, ref CuVideoProcParams)"/>
        public CuVideoFrame MapVideoFrame(
            int picIndex, ref CuVideoProcParams param,
            out int pitch)
        {
            CuDevicePtr devicePtr;

            var result = Environment.Is64BitProcess
                ? LibCuVideo.MapVideoFrame64(
                    this, picIndex, out devicePtr,
                    out pitch, ref param)
                : LibCuVideo.MapVideoFrame(
                    this, picIndex, out devicePtr,
                    out pitch, ref param);

            CheckResult(result);

            return new CuVideoFrame(devicePtr, this);
        }
 /// <inheritdoc cref="LibCuVideo.ParseVideoData(CuVideoParser, ref CuVideoSourceDataPacket)"/>
 public void ParseVideoData(ref CuVideoSourceDataPacket packet)
 {
     var result = LibCuVideo.ParseVideoData(this, ref packet);
     CheckResult(result);
 }
 /// <inheritdoc cref="LibCuVideo.DecodePicture(CuVideoDecoder, ref CuVideoPicParams)"/>
 public void DecodePicture(ref CuVideoPicParams param)
 {
     var result = LibCuVideo.DecodePicture(this, ref param);
     CheckResult(result);
 }