7.3. cafe_ccic 驅動¶
作者: Jonathan Corbet <corbet@lwn.net>
7.3.1. 簡介¶
“cafe_ccic” 是 Marvell 88ALP01 “cafe” CMOS 攝像頭控制器的驅動。該控制器見於第一代 OLPC 系統,此驅動是在 OLPC 專案的支援下編寫的。
當前狀態:核心驅動工作正常。它能生成 YUV422、RGB565 和 RGB444 格式的資料。(任何檢視程式碼的人也會看到 RGB32,但這是一種即將移除的除錯輔助功能)。VGA 和 QVGA 模式工作正常;CIF 模式存在但顏色仍然有些異常。目前,只有 OV7670 感測器已知能與此控制器配合使用。
嘗試使用:以下任一命令都將有效
$ mplayer tv:// -tv driver=v4l2:width=640:height=480 -nosound
$ mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=bgr16 -nosound
“xawtv” 工具也工作正常;gqcam 不行,原因不明。
7.3.2. 載入時選項¶
有一些載入時選項,其中大部分在載入後也可以透過 sysfs 更改
alloc_bufs_at_load: 通常,驅動程式直到資料傳輸時才分配任何 DMA 緩衝區。如果設定此選項,則在模組載入時會分配最壞情況大小的緩衝區。此選項在模組生命週期內鎖定記憶體,但可能減少之後分配失敗的可能性。
dma_buf_size: 要分配的 DMA 緩衝區大小。請注意,此選項僅在載入時分配時參考;當緩衝區在執行時分配時,它們將根據當前相機設定進行適當的大小調整。
n_dma_bufs: 控制器可以在兩個或三個 DMA 緩衝區之間迴圈。通常,驅動程式會嘗試使用三個緩衝區;但在更快的系統上,使用兩個也能很好地工作。
min_buffers: 驅動程式允許使用的最小流式 I/O 緩衝區數量。預設為一個,但在較慢的系統上,透過設定為更高值(如六個)可以改善 mplayer 的行為。
max_buffers: 最大流式 I/O 緩衝區數量;預設為十個。這個數字是隨意選擇的,不應認為它有任何實際意義。
flip: 如果此布林引數設定,感測器將被指示反轉影片影像。這是否合理取決於您的特定攝像頭的安裝方式。