- Android系統(tǒng)級深入開發(fā)
- 韓超 梁泉
- 442字
- 2018-12-29 13:39:41
6.4.2 攝像頭和視頻輸出的驅(qū)動程序
從OMAP3處理器的角度,攝像頭部分和視頻輸出部分屬于兩個子系統(tǒng):攝像頭屬于ISP(Image Signal Processing,圖像信號處理)子系統(tǒng),視頻輸出屬于DSS。ISP子系統(tǒng)連接的硬件是攝像頭傳感器,DSS連接的硬件是屏幕。
在驅(qū)動程序的實(shí)現(xiàn)上,它們提供給用戶空間的接口,均基于video for Linux 2的驅(qū)動程序框架,前者實(shí)現(xiàn)視頻輸入的功能,調(diào)用顯示相關(guān)的庫;后者實(shí)現(xiàn)視頻輸出的功能,調(diào)用DSS相關(guān)的庫。
提示:OMAP的DSS系統(tǒng)連接一個顯示屏,視頻輸出層和圖形層(基本顯示區(qū)域),通過硬件實(shí)現(xiàn)混合獲得顯示效果。
video for Linux 2 的驅(qū)動程序需要使能CONFIG_VIDEO_DEV和CONFIG_VIDEO_V4L2_COMMON等編譯配置宏。
ISP部分的驅(qū)動程序由drivers/media/video/目錄中的isp.c ,isph3a.c,isppreview.c, ispresizer.c等文件來實(shí)現(xiàn),而drivers/media/video/目錄中的omap34xxcam.c是OMAP平臺攝像頭驅(qū)動程序的v4l2驅(qū)動主文件。
drivers/media/video/目錄中的lv8093.c和imx046.c文件為不同Sensor的驅(qū)動程序。它們是由i2c總線實(shí)現(xiàn)控制的攝像頭傳感器,基于v4l2-int-device框架來實(shí)現(xiàn)的。它們的i2c_driver名稱分別定義為lv8093和imx046,與omap/arch/arm/mach-omap2目錄中的board-zoom2-camera.c文件中的內(nèi)容相對應(yīng)。
視頻疊加層(視頻輸出)的驅(qū)動程序由drivers/media/video/omap-vout目錄中的omapvout-mem.c,omapvout-vbq.c,omapvout-dss.c,omapvout.c,vout.c等文件構(gòu)成。它們是v4l2的驅(qū)動程序,設(shè)備節(jié)點(diǎn)是/dev/video1和/dev/video2。
- Visual C++程序設(shè)計(jì)教程
- Python快樂編程:人工智能深度學(xué)習(xí)基礎(chǔ)
- Python自動化運(yùn)維快速入門(第2版)
- Oracle BAM 11gR1 Handbook
- SharePoint Development with the SharePoint Framework
- Drupal 8 Module Development
- 深入理解C指針
- Python數(shù)據(jù)可視化之美:專業(yè)圖表繪制指南(全彩)
- SignalR:Real-time Application Development(Second Edition)
- INSTANT JQuery Flot Visual Data Analysis
- C# 7.0本質(zhì)論
- 軟件設(shè)計(jì)模式(Java版)
- Unreal Engine Game Development Cookbook
- 計(jì)算機(jī)信息技術(shù)實(shí)踐教程
- Alfresco for Administrators