主程式框架:
1. options_init();
2.options_deal(argc, ar**);
3. video_init();
4.screen_init();
5.screen_mainloop();
6.screen_quit();
7.video_quit();
3.2 video_set_format(); vidioc_s_fmt //設定格式,檢視格式為vidioc_gfmt
3.3 buffer_init(); //緩衝區初始化,見下文
3.4 video_streamon(); vidioc_streamon //開啟採集
3.3緩衝區初始化
3.3.1 緩衝區請求,vidioc_reqbufs, 應用程式緩衝獲得了calloc()
3.3.2 緩衝區對映, vidioc_querybuf(把vidio_reqbufs 中分配的資料快取轉換成實體地址)
3.3.3 緩衝區入隊vidio_qbuf
5螢幕顯示主迴圈
5.1 出隊,vidioc_dqbuf //從緩衝區獲取乙個緩衝幀,前提是所有的佇列已經入好。
5.2 處理採集回來的影象
5.3 vidioc_qbuf // 將取出的緩衝幀放回緩衝區
7.1 關閉採集 vidio_streamoff
7.3 釋放快取,解除對映關係unmmap();
V4L2程式設計
include include include include include include include include include include typedef struct buftype buftype user buf int n buffer 0 開啟攝像頭裝置 int ope...
V4L2 程式設計
v4l2程式設計 1.定義 2.工作流程 開啟裝置 檢查和設定裝置屬性 設定幀格式 設定一種輸入輸出方法 緩衝區管理 迴圈獲取資料 關閉裝置。3.裝置的開啟和關閉 include int open const char device name,int flags include int close ...
V4L2程式設計 轉
前言 目前正在忙於arm 平台的linux 應用程式的開發 其實是剛剛起步學習啦 底層的東西不用考慮了,開發板子提供了 nand bootloader 和linux 2.6 的原始碼,而且都編譯好了。自己編譯的 bootloader 可以用,但是 linux 編譯後,檔案很大,暫且就用人家編譯的系統...