3

我正在研究 VLC 源代码,以了解 VLC 将解码帧写入屏幕的确切位置。我基本上对qt ui版本以及windows和linux平台感兴趣。

我一直在跟踪,avcodec_decode_video2直到它使用vout_PutPictureand将帧写入队列picture_fifo_Push。在另一端,我看到有一个Thread对象调用ThreadDisplayRenderPicture,然后调用vout_display_Display,再调用Display。我希望最后一个函数是将视频帧的字节实际复制到帧缓冲区的函数,但它所做的只是设置大小,然后释放图片。

有人可以向我解释一下,或者指向一个资源,VLCpicture_t究竟在哪里将队列中的结构写入 WId 结构,有效地将帧写入屏幕?任何指向 VLC 视频架构更全面解释的链接也很棒!

4

1 回答 1

7

我无法直接回答您的问题,但可以为您提供对 VLC 架构的详尽解释的参考。(如你最后一句所述)

克拉根福大学的 Christophe Massiot 写了一篇关于 VLC 媒体播放器 API 文档的论文。您可以在此处的 google此处的 google Academic 上找到它。

它包括以下插图,它可能会引导您朝着正确的方向前进。

VLC 架构

我认为该文件可能对您的问题有用。看看第 5 章描述视频输出层

于 2016-03-29T13:39:23.623 回答