我正在研究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视频架构更全面解释的链接都会很棒!