海思3516A bt1120 視頻輸入相關總結
原創藍小胥 最后發布於2018-07-19 16:54:20 閱讀數 5365 收藏
展開
因為實驗室項目需要將FPGA里的模擬視頻數據通過bt1120輸入給海思3516A,因此我這個剛進實驗室的項目小白硬着頭皮開始了3516A的學習之旅。
所使用的開發板是在某寶上買的開發好的3516A+OV4689成品,所帶的代碼都是和OV4689配套,所以除了編譯環境的搭建之外最重要的工作就是修改代碼以及板子的ko加載,使其變成我們所希望的BT1120輸入就ok了!
我們以rtsp-h264代碼為例,該代碼實現將獲取的視頻數據進行h264壓縮后通過rtsp碼流在播放器上實時播出,包括以下頭文件,庫,以及.c文件:
在sample_comm.h中可以看到3516A所支持的全部輸入類型,可以看到支持bt1120 720p和 1080p類型輸入。
接下來就是我們改的地方,在代碼這里總共需要修改三個部分,首先需要把Makefile里的sensor類型改為SAMPLE_VI_MODE_BT1120_720P(或者1080P)
接下來需要修改的是sample_venc.c,在函數*SAMPLE_VENC_1080P_CLASSIC(HI_VOID *arg)中修改分辨率以及sensor type:
接下來一個需要修改的地方也是花費我時間最久的,在sample_comm_vi.c中,需要將UV時序修改的和你FPGA中的時序一致,否則會一直報錯獲取數據錯誤。
最后一個需要修改的地方是在板子的啟動腳本里加載ko的命令,當然你也可以不在啟動腳本里改,每次開機后都重新輸入加載命令。
到此為止,需要重點修改的地方已經介紹完了,至於編譯環境的搭建,nfs掛載文件目錄,ip的設置等其他博客都有及其詳細的介紹,這里不再贅述。另外在調試過程中可以通過 cat /proc/umap/vi 命令來查看VI模塊的狀態信息 以幫助你判斷是哪里的問題。
由於在做這個3516A bt1120輸入的時候我只負責代碼的修改,其余工作由師兄師姐負責,一開始只是傻乎乎的看代碼,亂改一通。對整個bt1120協議,引腳,以及原理圖等一無所知,導致開始出了問題都不知道怎樣去解決,耽誤了很多工夫。另外硬件的連接也是及其重要的,BT1120總共17個引腳,包括高8位數據,低8位數據以及一個時鍾引腳,引進的定義以及連線的正確與否都至關重要。因此大家在學習這一塊內容的時候一定要注意整體的學習,做到融匯貫通。作為一個小白深感自己要學的東西真是太多了。希望大家以后在相關內容可以多交流。
————————————————
版權聲明:本文為CSDN博主「藍小胥」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_41235515/article/details/81116466