簡體   English   中英

如何在Linux中使用OpenMax解碼h264視頻? 此代碼正確嗎?

[英]How to decode h264 video using OpenMax in Linux? Is this code correct?

我正在嘗試使用OpenMAX解碼器解碼h264視頻流:

https://gist.github.com/NicholasShatokhin/f6a86d03707decf53d684c4c82f909a6

看起來一切正常,但是當我將數據發送到解碼器時,它不會填充輸出緩沖區。 在應用程序運行期間不調用FillBufferDone回調。 僅當調用Flush函數時,我才使用空緩沖區獲得此回調。

我在這里想念什么? 我的代碼或解碼器本身有問題嗎? 如何檢查?

我想這個問題已經很久沒有答案了,您可以在其他地方找到它,但是無論如何我都會回答。

在PortSettingsChanged事件的回調事件處理程序中,您僅輸出有關該消息的消息,但是OpenMAX規范在3.4.5節中描述的是動態端口重新配置。 如果采用隧道實施,則僅需要禁用/重新啟用發生此事件的端口(禁用該端口將導致連接到該端口的緩沖區的返回和釋放,啟用將分配使用新端口設置配置的新緩沖區)。 如果是非隧道實現,則必須:-禁用端口,-可用緩沖區,-讀取端口設置,-啟用端口,-根據設置分配新的緩沖區。

應該從那里開始工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM