protected override void DisposeUnmanaged() { fixed(AVPacket *p = &_pkt) { FFmpegInvoke.av_free_packet(p); } FFmpegInvoke.avcodec_close(_codec_context); FFmpegInvoke.av_free(_codec_context); FFmpegInvoke.av_freep(&_avFrameYUV->data_0); fixed(AVFrame **p = &_avFrameYUV) { FFmpegInvoke.avcodec_free_frame(p); } FFmpegInvoke.av_freep(&_avFrameBGR->data_0); fixed(AVFrame **p = &_avFrameBGR) { FFmpegInvoke.avcodec_free_frame(p); } }