V4l2: разница между: Enque, Deque и Queue (ing) буфера?


Я нуб в v4l2 и пытаюсь выяснить разницу между различными ioctl вызовами, выполненными во время захвата изображения камерой. Я следую этому pdf из linuxtv.org сайт Я хотел бы знать разницу между следующим :

Query, Enque, Deque и Queue (ing) буфера. Существует ли определенная последовательность в получении необработанных данных с камеры? Меняется ли последовательность в случае потоковой передачи и режима захвата?

Может ли кто-нибудь плз объясните.

1 3

1 ответ:

Следующий автомат состояния описывает жизненный цикл v4l2-буфера:

Введите описание изображения здесь

Последовательность одинакова как для потоковой передачи, так и для захвата.
Это просто, что во время захвата один делает Q/DQ только один раз, чтобы получить один буфер (то есть один "кадр"). Потоковое вещание делает это неоднократно.

Подробная информация в этой серии статей V4L2...
Часть 1: API Video4Linux2
Часть 2: регистрация и открыть()
Часть 3: базовая обработка ioctl()
Часть 4: входы и выходы
часть 5а: цвета и форматы
часть 5b: согласование формата
часть 6а: основной каркасный ввод-вывод
часть 6b: потоковый ввод-вывод
Часть 7: Управление