我正在使用 LibVLC 并希望在内存中渲染视频像素,这样我就可以拍摄帧的快照,而无需在窗口中绘制视频(默认情况下)。
如果我理解正确,这可以通过调用 libvlc_video_set_callbacks 和 libvlc_video_set_format_callbacks 来实现。在第一个函数中,我必须指定类型为 libvlc_video_lock_cb的回调,在其中我必须初始化三个平面中的一个,据我所知,这三个平面是绘制像素的缓冲区。
我的问题是每个像素使用的字节数以及必须初始化的平面数取决于视频色度。虽然我知道如何获得这个色度的四字母标识符,但我不知道如何获得它的这些特殊属性;如果没有这些信息,我不知道我必须分配的缓冲区大小,以及有多少个平面。
有谁知道如何做到这一点?还是我理解错误?