Ваши 'du' опции не являются портативными так или иначе, поэтому просто используют 'du' и пишут суффикс после арифметики в awk, например.
Во-первых, проверьте, что форматы пикселя поддерживаются Вашим драйвером устройства вывода:
v4l2-ctl --list-formats -d /dev/devicedriver
pixelformat, который Вы хотите передать v4l2-ctl командной строке, является fourcc, показанным в результате, например:
Pixel Format : 'YUYV'
в этом случае Ваша командная строка была бы:
v4l2-ctl --set-fmt-video-out=width=640,height=480,pixelformat=YUYV
При необходимости в V4L2_PIX_FMT_GREY, вероятно, fourcc будет 'СЕР' (я предполагаю от videodev2.h, не может проверить),
Если это не находится в результате форматов списка, управляют, чтобы это не поддерживалось драйвером, таким образом, Вам будет нужно некоторое преобразование из источника (вход/камера) формат к выводу.