7.18. ioctl VIDIOC_ENUMINPUT¶
7.18.1. 名稱¶
VIDIOC_ENUMINPUT - 列舉影片輸入
7.18.2. 概要¶
-
VIDIOC_ENUMINPUT¶
int ioctl(int fd, VIDIOC_ENUMINPUT, struct v4l2_input *argp)
7.18.3. 引數¶
fd由
open()返回的檔案描述符。argp指向 struct
v4l2_input的指標。
7.18.4. 描述¶
要查詢影片輸入的屬性,應用程式初始化 struct v4l2_input 的 index 欄位,並使用指向此結構的指標呼叫 ioctl VIDIOC_ENUMINPUT。 驅動程式填充結構的其餘部分,或者當索引超出範圍時返回 EINVAL 錯誤程式碼。 為了列舉所有輸入,應用程式應從索引零開始,遞增 1,直到驅動程式返回 EINVAL。
-
type v4l2_input¶
__u32 |
|
標識輸入,由應用程式設定。 |
__u8 |
|
影片輸入的名稱,一個以 NUL 結尾的 ASCII 字串,例如:“Vin (Composite 2)”。 此資訊供使用者使用,最好是裝置本身的聯結器標籤。 |
__u32 |
|
輸入型別,請參閱 輸入型別。 |
__u32 |
|
驅動程式最多可以列舉 32 個影片和音訊輸入。 如果這是當前選定的影片輸入,則此欄位顯示哪些音訊輸入可以選擇作為音訊源。 這是一個位掩碼。 LSB 對應於音訊輸入 0,MSB 對應於輸入 31。 可以設定任意數量的位,也可以不設定。 當驅動程式不列舉音訊輸入時,不得設定任何位。 應用程式不應將其解釋為缺少音訊支援。 一些驅動程式會自動選擇音訊源,並且不列舉它們,因為無論如何都沒有選擇。 有關音訊輸入以及如何選擇當前輸入的詳細資訊,請參閱 音訊輸入和輸出。 |
__u32 |
|
捕獲裝置可以有零個或多個調諧器(RF 解調器)。 當 |
|
每個影片輸入都支援一種或多種不同的影片標準。 此欄位是所有支援標準的集合。 有關影片標準以及如何切換的詳細資訊,請參閱 影片標準。 |
|
__u32 |
|
此欄位提供有關輸入的狀態資訊。 有關標誌,請參閱 輸入狀態標誌。 除了感測器方向位 |
__u32 |
|
此欄位提供輸入的功能。 有關標誌,請參閱 輸入功能。 |
__u32 |
|
為將來的擴充套件保留。 驅動程式必須將陣列設定為零。 |
|
1 |
此輸入使用調諧器(RF 解調器)。 |
|
2 |
任何非調諧器影片輸入,例如複合影片、S-Video、HDMI、攝像頭感測器。 命名為 |
|
3 |
此輸入是用於捕獲原始觸控資料的觸控裝置。 |
常規 |
||
|
0x00000001 |
連線的裝置已關閉。 |
|
0x00000002 |
|
|
0x00000004 |
硬體支援顏色解碼,但未檢測到訊號中的顏色調製。 |
感測器方向 |
||
|
0x00000010 |
輸入連線到生成水平翻轉的訊號的裝置,並且在將訊號傳遞到使用者空間之前不會對其進行校正。 |
|
0x00000020 |
輸入連線到生成垂直翻轉的訊號的裝置,並且在將訊號傳遞到使用者空間之前不會對其進行校正。 .. note:: 180 度旋轉與 HFLIP | VFLIP 相同 |
模擬影片 |
||
|
0x00000100 |
沒有水平同步鎖定。 |
|
0x00000200 |
當顏色抑制電路檢測到沒有顏色調製時,會自動停用顏色解碼。 當設定此標誌時,顏色抑制已啟用並已關閉顏色解碼。 |
|
0x00000400 |
沒有垂直同步鎖定。 |
|
0x00000800 |
在元件自動檢測格式的情況下,沒有標準格式鎖定。 |
數字影片 |
||
|
0x00010000 |
沒有同步鎖定。 |
|
0x00020000 |
沒有均衡器鎖定。 |
|
0x00040000 |
載波恢復失敗。 |
VCR 和機頂盒 |
||
|
0x01000000 |
Macrovision 是一種模擬複製保護系統,用於篡改影片訊號以混淆錄影機。 當設定此標誌時,已檢測到 Macrovision。 |
|
0x02000000 |
條件訪問被拒絕。 |
|
0x04000000 |
VTR 時間常數。 [?] |
|
0x00000002 |
此輸入支援使用 |
|
0x00000004 |
此輸入支援使用 |
|
0x00000008 |
此輸入支援使用 |
7.18.5. 返回值¶
成功時返回 0,出錯時返回 -1,並適當設定 errno 變數。 通用錯誤程式碼在 通用錯誤程式碼 章節中描述。
- EINVAL
struct
v4l2_inputindex超出範圍。