我正在研究VLC源代碼,以瞭解VLC究竟在哪裏將解碼幀寫入屏幕。我基本上對qt ui版本以及windows和linux平臺感興趣。Vlc視頻架構
我已經追溯到avcodec_decode_video2
,直到它使用vout_PutPicture
和picture_fifo_Push
將幀寫入隊列。另一方面,我看到有一個Thread
對象調用ThreadDisplayRenderPicture
,該對象又調用vout_display_Display
,它調用Display
。我期待這個最後的功能是視頻幀的字節實際上被複制到幀緩衝區,但它所做的只是設置大小,然後釋放圖片。
有人可以向我解釋一下,或者指向一個資源嗎?VLC在哪裏寫入隊列中的picture_t
結構到WId結構,從而有效地將幀寫入屏幕?任何關於VLC視頻架構更全面解釋的鏈接都會很棒!
非常感謝Michael!那就是我一直在尋找的!這太糟糕了,我沒有名譽來接受你的答案,因爲你肯定指出我需要的材料。再次感謝。 – user3846684
@ user3846684很高興我可以幫忙;請再次嘗試接受答案,對於接受答案應該沒有聲望最低限度(請參閱:http://meta.stackexchange.com/q/5234),僅用於提供答案。謝謝! –