Доброго дня!
Код выполняется на плате Raspberry Pi.
Загруженные модули:
# lsmod
bcm2835_v4l2 37675 0 - Live 0xbf050000
videobuf2_vmalloc 2934 1 bcm2835_v4l2, Live 0xbf04c000
videobuf2_memops 2126 1 videobuf2_vmalloc, Live 0xbf048000
videobuf2_core 30853 1 bcm2835_v4l2, Live 0xbf03b000
v4l2_common 7792 1 bcm2835_v4l2, Live 0xbf035000
videodev 123030 3 bcm2835_v4l2,videobuf2_core,v4l2_common, Live 0xbf009000
media 14530 1 videodev, Live 0xbf000000
max_video_width=2592 max_video_height=1944 debug=2
Состояние буфера возвращаемое VIDIOC_QUERYBUF
Buf0: index 0, type 1, byteused 0, flag 0x2000, memory 1, m.offset 0, lenght 7589376
In the flags field the V4L2_BUF_FLAG_MAPPED, V4L2_BUF_FLAG_PREPARED, V4L2_BUF_FLAG_QUEUED and V4L2_BUF_FLAG_DONE flags will be valid
Как видно драйвер выставил только флаг V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC и не указал адрес буфера.
V4L2-интерфейс я вынужден использовать, так как необходимо получать несжатые данные с сенсора. На крайний случай подойдёт и JPEG, но производительность платы в кодировании JPEG крайне не высока, в среднем 1 FPS, что не устраивает, код писался на основе raspistill.
Вопрос - был ли у кого-либо опыт работы с V4L2 на Raspberry Pi или может быть подскажите пример кода для кодирования JPEG с большей частотой?
Спасибо.