Re: [RFC PATCH] media/doc: Allow sizeimage to be set by v4l clients

From: Stanimir Varbanov
Date: Mon Jan 21 2019 - 05:48:32 EST


Hi Hans,

On 1/18/19 11:13 AM, Hans Verkuil wrote:
> On 1/16/19 1:37 PM, Stanimir Varbanov wrote:
>> This changes v4l2_pix_format and v4l2_plane_pix_format sizeimage
>> field description to allow v4l clients to set bigger image size
>> in case of variable length compressed data.
>>
>> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx>
>> ---
>> Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst | 5 ++++-
>> Documentation/media/uapi/v4l/pixfmt-v4l2.rst | 3 ++-
>> 2 files changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst b/Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst
>> index 7f82dad9013a..dbe0b74e9ba4 100644
>> --- a/Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst
>> +++ b/Documentation/media/uapi/v4l/pixfmt-v4l2-mplane.rst
>> @@ -30,7 +30,10 @@ describing all planes of that format.
>>
>> * - __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 maximum number of bytes required
>> + to hold an image, and it is allowed to be set by the client.
>> * - __u32
>> - ``bytesperline``
>> - Distance in bytes between the leftmost pixels in two adjacent
>> diff --git a/Documentation/media/uapi/v4l/pixfmt-v4l2.rst b/Documentation/media/uapi/v4l/pixfmt-v4l2.rst
>> index 71eebfc6d853..54b6d2b67bd7 100644
>> --- a/Documentation/media/uapi/v4l/pixfmt-v4l2.rst
>> +++ b/Documentation/media/uapi/v4l/pixfmt-v4l2.rst
>> @@ -89,7 +89,8 @@ Single-planar format structure
>> - 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.
>> + maximum number of bytes required to hold an image, and it is
>> + allowed to be set by the client.
>> * - __u32
>> - ``colorspace``
>> - Image colorspace, from enum :c:type:`v4l2_colorspace`.
>>
>
> Hmm. "maximum number of bytes required to hold an image": that's not actually true
> for bitstream formats like MPEG. It's just the size of the buffer used to store the
> bitstream, i.e. one buffer may actually contain multiple compressed images, or a
> compressed image is split over multiple buffers.
>

Do you want me to change something in the current documentation, i.e.
the quoted above?

> Only for MJPEG is this statement true since each buffer will contain a single
> compressed JPEG image.
>
> Regards,
>
> Hans
>

--
regards,
Stan