libcamera: v4l2_videodevice: Explain multiplanar bytesused reasoning

The ternary operation used to get the total bytesused of a V4L2 single
planar format which is stored in a multiplanar buffer can easily be
mis-read to think it's a bug, and appears to be reading the value of the
first of N planes as the total.

Directly explain the reasoning for why it looks like the condition is
inverted, as it is correct that the total bytes used is stored in only
the first plane of the multiplanar buffer.

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham
2021-10-14 09:54:05 +01:00
parent 43d098ce5f
commit 1402152ad3
+7
View File
@@ -1711,6 +1711,13 @@ FrameBuffer *V4L2VideoDevice::dequeueBuffer()
return buffer;
}
/*
* With a V4L2 single-planar format, all the data is stored in
* a single memory plane. The number of bytes used is conveyed
* through that plane when using the V4L2 multi-planar API, or
* set directly in the buffer when using the V4L2 single-planar
* API.
*/
unsigned int bytesused = multiPlanar ? planes[0].bytesused
: buf.bytesused;
unsigned int remaining = bytesused;