Ответ 1
Попробуйте здесь код uvccapture → http://staticwave.ca/source/uvccapture/ Это очень маленький, но очень простой конкретный пример, который использует все концепции V4l2 (открытый, заданный формат, выделение памяти, буфер запросов, Dqbuffer и Query-buffer - все входы ioclts).
Функцияuvcgrab() - это поиск, который использует Dqbuffer и Query-buffer.
ioctl (vd->fd, VIDIOC_DQBUF, &vd->buf);
ioctl (vd->fd, VIDIOC_QBUF, &vd->buf)
Изучая это, вы можете продолжить поиск определения ioctl в этой ссылке, которая облегчит ваше понимание.