Conexant Bt878驱动及视频软件开发
目錄
- 1.前言
- 2.驅動開發
- 3.視頻軟件開發
- 3.1 DX SDK版本選擇
- 3.2 directshow開發
- 4.寄存器配置
- 5.參考資料
1.前言
本文是對基于Conexant Bt878進行的驅動開發和軟件開發進行的整理論述,驅動是基于WDM進行的開發,視頻軟件是基于DX8 SDK和DX9 SDK的directshow程序進行的開發,附加寄存器控制功能是通過windriver進行的開發
注:如果希望從0開始進行開發,請借鑒windriver或WDM的參考手冊進行驅動開發,借鑒DX SDK手冊進行視頻軟件開發
注2:通過本文操作可以獲取驅動文件、視頻軟件及寄存器操作功能程序
2.驅動開發
重要網址:WDM Video Capture Driver
本文使用的驅動開發方式實際上是屬于二次開發,具體方法如下,
(1)找到一份驅動,本文用到的是天敏SDK2000的驅動文件,安裝后通過板卡配套的視頻軟件驗證視頻可以正常采集,保障驅動及安裝過程正確
(2)由于公司出品的驅動及視頻軟件都有雙向驗證過程,更換板卡后會阻斷程序運行,因此通過WDM Video Capture Driver->Download->btspy2.0.0.zip,通過btspy軟件監測目前正常驅動下各通道的通道數、GPOE值、GPDATA值等信息,再通過btwdmdrvinstaller5.3.8.zip進行安裝,將btspy產生的配置文件配置到安裝過程中,安裝后即可
注:如果安裝失敗或者希望獲得獨立安裝文件,可以通過wdminstall-byhand5.3.8.zip文件進行手動配置,具體配置方法在wdminstall-byhand5.3.8.zip中有敘述,這個附加樣例中的重要代碼
3.視頻軟件開發
3.1 DX SDK版本選擇
在實驗過程中,本文同時進行了DX8和DX9 SDK的開發使用,在使用DX8的過程中在VC6的環境下開發沒有問題,當轉為vs2010的程序過程中發生了很多的報錯,一一改正后仍出現“T”字符未定義等報錯,未能解決,因此后續使用DX9進行的軟件開發
注:在編譯過程中需要使用DX9 SDK中的BaseClasses的編譯,有debug、release等4個版本,需要根據你想使用的開發環境進行變異,如視頻工程是使用vs2010,那么BaseClasses工程也使用vs2010進行編譯,同時兩個工程的debug及release版本需要對應,否則出現類型無法解析等問題
3.2 directshow開發
先使用DX9 SDK中的graphedit進行預先測試驅動是否正常,包括通道切換等功能的測試,使用十字通道、解析器、渲染器進行連接,點擊運行即可看到視頻界面
確認驅動安裝正確后,使用DX9 SDK中的directshow進行視頻軟件開發,使用VC6可以直接編譯使用,在開發過程中,便于調試,本文使用的是vs2010進行的開發,在修改過程中,需要配置4個部分
(1)庫文件添加,主要使用BaseClasses中得工程通過vs2010(對應版本的環境)編譯生成的lib文件
(2)包含目錄添加,主要使用include、BaseClasses、Common三個文件目錄
(3)屏蔽C4430錯誤,VC6中默認可以不設置參數類型,在vs2010中報錯需要更改,可以在配置->C+±>高級中設置屏蔽4430錯誤
(4)修改原始庫文件,在原始庫文件中,有一部分和C++語法相沖突,通過以下鏈接進行修改
DirectShow 配置環境
4.寄存器配置
寄存器設置功能通過windriver功能進行實現,通過windriver配置器生成相應板卡的驅動文件,通過引入wdapi1026.lib和對應生成的庫文件,獲取hDev設備號后,將設置寄存器的函數封裝到需要更改的位置,偏置通過對應的板卡手冊進行配置,調試過程可以通過windriver寄存器查看器和調試的方式進行
5.參考資料
1.WDM Video Capture Driver
2.DirectShow 配置環境
總結
以上是生活随笔為你收集整理的Conexant Bt878驱动及视频软件开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android手机应用第三方模拟器使用、
- 下一篇: 基于数据统计的随机组建试卷的算法研究