Vlc视频架构

use*_*684 3 vlc libvlc vlc-qt

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

到目前为止,我已经进行了跟踪,avcodec_decode_video2直到使用vout_PutPicture和将帧写入队列picture_fifo_Push.在另一端,我看到有一个Thread对象调用ThreadDisplayRenderPicture,然后调用vout_display_Display哪个调用Display.我期望最后一个函数是视频帧的字节实际上被复制到帧缓冲区的函数,但它只是设置大小,然后释放图片.

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

Mik*_*e F 6

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

来自克拉根福大学的Christophe Massiot撰写了一篇关于VLC媒体播放器API文档的论文.你可以在谷歌这里和谷歌学者这里找到它.

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

VLC架构

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