V4L2程式設計相關總結

2021-09-30 09:23:59 字數 817 閱讀 2664

主程式框架:       

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 編譯後,檔案很大,暫且就用人家編譯的系統...