Vlc视频架构

时间:2016-03-25 13:08:19

标签: vlc libvlc vlc-qt

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

我已经从avcodec_decode_video2追溯到使用vout_PutPicturepicture_fifo_Push将帧写入队列的位置。另一方面,我看到有一个Thread对象调用ThreadDisplayRenderPicture,后者调用vout_display_Display,调用Display。我期望最后一个函数是视频帧的字节实际上被复制到帧缓冲区的函数,但它只是设置大小,然后释放图片。

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

1 个答案:

答案 0 :(得分:6)

我无法直接回答您的问题,但为您提供有关VLC架构的详尽说明的参考。 (正如你在上一句中所述)

克拉根福大学的Christophe Massiot撰写了一篇关于VLC媒体播放器API文档的论文。您可以在Google here和Google学者here上找到它。

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

VLC Architecture

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