Пара полезных ссылок, которые должен запомнить каждый:
Теперь имею представление, как этим интерфейсом пользоваться. Написал простенькую программку, которая тут-же гордо сообщила:
Camera capables:
Driver: pwc
Device: Philips SPC 900NC webcam
Bus: usb-0000:00:1d.2-2
Kernel: 10.0.12
Capables:
* capture
* readwrite
* streaming
Formats:
0 (1) Raw Philips Webcam [843274064]
1 (0) 4:2:0, planar, Y-Cb-Cr [842093913]
Current: 640x480 460800 842093913
или с другой камерой, Philips 840K:
Camera capables:
Driver: pwc
Device: Philips 740 webcam
Bus: usb-0000:00:10.0-1
Kernel: 10.0.12
Capables:
* capture
* readwrite
* streaming
Formats:
0 (1) Raw Philips Webcam [843274064]
1 (0) 4:2:0, planar, Y-Cb-Cr [842093913]
Current: 640x480 460800 842093913
А вот дальше началось самое интересное, поскольку опытным путём было выяснено, что VIDIOC_STREAMON и VIDIOC_STREAMOFF останавливает ( или запускает соответственно ) передачу и освобождают канал:
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
Этот факт особенно радостен, т.к. например camsource работает так, что драйвер pwc дропает неиспользованные кадры, а канал постоянно занят. Поэтому при подсоединении двух камер к компьютеру на базе Vortex86 обнаружилось, что usb-хост тянет передачу с двух камер в формате 640x480 только при максимальной компрессии, которая сказывается на качестве изображения. Т.е. это открываешь девайс, потом сцапал кадр и затаился на минуту, сцапал ещё...
В то же время, к сожалению, действие флага PWC_FPS_SNAPSHOT не было вообще обнаружено.
p.s. Перечитал этот бред и понял что с согласованием оборотов русского языка у меня действительно плохо.
Комментариев нет:
Отправить комментарий