Primeiro, verifique se os formatos de pixel são suportados pelo seu driver de dispositivo de saída:
v4l2-ctl --list-formats -d /dev/devicedriver
o formato de pixel que você quer passar para a linha de comando v4l2-ctl é o fourcc mostrado no resultado, por exemplo:
Pixel Format : 'YUYV'
neste caso, sua linha de comando seria:
v4l2-ctl --set-fmt-video-out=width=640,height=480,pixelformat=YUYV
Se você precisar de V4L2_PIX_FMT_GREY, provavelmente o fourcc será 'GRAY' (eu acho que de videodev2.h , não posso verificar)
Se não estiver no resultado do comando list-formats, ele não será suportado pelo driver, então você precisará de alguma conversão do formato de fonte (entrada / câmera) para a saída.