* - __u32
       - ``sizeimage``
-      - Maximum size in bytes required for image data in this plane.
+      - Maximum size in bytes required for image data in this plane,
+       set by the driver. When the image consists of variable length
+       compressed data this is the number of bytes required by the
+       codec to support the worst-case compression scenario.
+
+       The driver will set the value for uncompressed images.
+
+       Clients are allowed to set the sizeimage field for variable length
+       compressed data flagged with ``V4L2_FMT_FLAG_COMPRESSED`` at
+       :ref:`VIDIOC_ENUM_FMT`, but the driver may ignore it and set the
+       value itself, or it may modify the provided value based on
+       alignment requirements or minimum/maximum size requirements.
+       If the client wants to leave this to the driver, then it should
+       set sizeimage to 0.
     * - __u32
       - ``bytesperline``
       - Distance in bytes between the leftmost pixels in two adjacent
 
       - Size in bytes of the buffer to hold a complete image, set by the
        driver. Usually this is ``bytesperline`` times ``height``. When
        the image consists of variable length compressed data this is the
-       maximum number of bytes required to hold an image.
+       number of bytes required by the codec to support the worst-case
+       compression scenario.
+
+       The driver will set the value for uncompressed images.
+
+       Clients are allowed to set the sizeimage field for variable length
+       compressed data flagged with ``V4L2_FMT_FLAG_COMPRESSED`` at
+       :ref:`VIDIOC_ENUM_FMT`, but the driver may ignore it and set the
+       value itself, or it may modify the provided value based on
+       alignment requirements or minimum/maximum size requirements.
+       If the client wants to leave this to the driver, then it should
+       set sizeimage to 0.
     * - __u32
       - ``colorspace``
       - Image colorspace, from enum :c:type:`v4l2_colorspace`.