J'ai un petit problème avec la taille de mes tampons dans un programme C++. Je prends des images YUYV à partir d'une caméra en utilisant V4L2 (un exemple est disponible here)Un malentendu de V4L2
Je veux prendre une image et la placer dans une structure d'image propre. Voici la mémoire tampon donnée par la structure V4L2 et sa taille
(uchar*)buffers_[buf.index].start, buf.bytesused
Dans ma structure, je crée un nouveau tampon (MonBuffer) avec une taille de largeur * hauteur * bitSize (taille en octets est 4 depuis que je prends YUYV ou des images YUV422).
Le problème est que j'attendais le tampon buf être la même taille que celui que j'ai créé. Mais ce n'est pas le cas, par exemple quand je prends un 640 * 480 image buf = 614400 et mybuffer = 1228800 (deux fois plus gros).
Est-ce que quelqu'un a une idée de pourquoi c'est le cas?
Comment obtenez-vous 32 bits/pixel de YUV422? –
Le format YUYV est de 16 bits par pixel car vous avez deux Y, un U et un V pour chaque TWO (U et V sont sous-échantillonnés). – 6502