您好,登錄后才能下訂單哦!
A20 linux如何同時使用Parallel CSI Camera及UVC ,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
【目標】
在A20上同時對parallel同時使用parallel csi攝像頭及usb攝像頭進行preview。
【選型】
硬件選用主控為A20的CubieBoard2開發板。
軟件SDK選用全志A20 Kitkat SDK中的lichee包。
【過程】
1、在linux-3.4的menuconfig中將uvc驅動選項打開,USB_VIDEO_CLAS設置成m,USB_VIDEO_CLASS_INPUT_EVDEV設置成y。
Device Drivers —>
<*> Multimedia support —>
[*] Video capture adapters —>
[*] V4L USB devices —>
USB Video Class (UVC)
[*] UVC input events device support
2、在dragonboard中加入usb camera的testcase。全志dragonboard環境使用的是linux+DirectFb,可以參考既有的csi camera testcase代碼進行添加。大致分為兩步:
第一步,在df_view.c的csi camera test代碼后加入啟動usb camera test的代碼
x2 = 0; height2 = layer_config.height>>1; y2 = layer_config.height>>1;if(mic_activated){ width3 = (layer_config.width >> 1)-(layer_config.width>>MIC_POWER_BAR_WITH_SHIFT); }else{ width3 = (layer_config.width >> 1); }if (usb_camera_test_init(x2,y2,width3,height2)){ return -1; }
第二步,增加usbcameratest.c,usbcameratest.c包含了usb camera的初始化、打開、設置參數等核心方法,上文中的usb_camera_test_init函數實現也在這個源碼文件里面。可根據以下流程編寫usbcameratest.c,
這里,有幾點需要注意,一是usb camera的數據格式是YUYV,所以在set format的時候,pixel format要設置成YUYV;二是usb camera的圖像大小是640x480。
3、從CubieBoard2原理圖可知,上面只能使用csi1接parallel csi camera,所以test_config.fex需要作以下修改
[camera]activated = 1module_count= 6module1_path= "/system/vendor/modules/videobuf-core.ko"module2_path= "/system/vendor/modules/videobuf-dma-contig.ko"module3_path= "/system/vendor/modules/camera.ko"module4_path= "/system/vendor/modules/gc0308.ko"module5_path= "/system/vendor/modules/sunxi_csi1.ko"module6_path= "/system/vendor/modules/uvcvideo.ko"dev_cnt = 1csi_cnt = 1fps = 30
4、編譯打包燒錄
cd lichee ./build.sh -p sun7i_dragonboard ./build.sh pack
【結果】
下圖LCD右上角為parallel csi camera preview,左下角為usb camera preview,兩個攝像頭均已打開并持續采集數據繪制以屏幕上。
【遺留問題及解決方案】
由于usb camera的數據格式是YUYV,LCD中usb camera preview區域的格式是YUV420,所以無法正確顯示來自于usb camera的畫面數據。解決此問題可考慮數據格式轉換,將YUYV轉成YUV420再繪制以屏幕上,實現轉換可使用A20 G2D,效率更高。
關于 A20 linux如何同時使用Parallel CSI Camera及UVC 問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。