Re: [PATCH v2] media: uvcvideo: Set the colorspace as sRGB if undefined

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ricardo,

Thank you for the patch.

On Fri, Nov 12, 2021 at 08:57:10PM +0100, Ricardo Ribalda wrote:
> Never return V4L2_COLORSPACE_DEFAULT. From the standard:
> 
> """
> In the absence of this descriptor, or in the case of
> “Unspecified” values within the descriptor, color matching
> defaults will be assumed. The color matching defaults are
> compliant with sRGB since the BT.709 transfer function and
> the sRGB transfer function are very similar.
> """
> 
> Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>

Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

> ---
> @James: Can you try this version? Thanks!
> 
>  drivers/media/usb/uvc/uvc_driver.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 29befcb229b2..27234fe60a48 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -256,7 +256,7 @@ static struct uvc_format_desc *uvc_format_by_guid(const u8 guid[16])
>  static enum v4l2_colorspace uvc_colorspace(const u8 primaries)
>  {
>  	static const enum v4l2_colorspace colorprimaries[] = {
> -		V4L2_COLORSPACE_DEFAULT,  /* Unspecified */
> +		V4L2_COLORSPACE_SRGB,  /* Unspecified */
>  		V4L2_COLORSPACE_SRGB,
>  		V4L2_COLORSPACE_470_SYSTEM_M,
>  		V4L2_COLORSPACE_470_SYSTEM_BG,
> @@ -267,7 +267,7 @@ static enum v4l2_colorspace uvc_colorspace(const u8 primaries)
>  	if (primaries < ARRAY_SIZE(colorprimaries))
>  		return colorprimaries[primaries];
>  
> -	return V4L2_COLORSPACE_DEFAULT;  /* Reserved */
> +	return V4L2_COLORSPACE_SRGB;  /* Reserved */
>  }
>  
>  static enum v4l2_xfer_func uvc_xfer_func(const u8 transfer_characteristics)
> @@ -769,6 +769,8 @@ static int uvc_parse_format(struct uvc_device *dev,
>  
>  		buflen -= buffer[0];
>  		buffer += buffer[0];
> +	} else {
> +		format->colorspace = V4L2_COLORSPACE_SRGB;
>  	}
>  
>  	return buffer - start;

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux