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

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

 



On Fri, Nov 12, 2021 at 12:57 PM Ricardo Ribalda <ribalda@xxxxxxxxxxxx> 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>
Tested-by: James Hilliard <james.hilliard1@xxxxxxxxx>
> ---
> @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;
> --
> 2.34.0.rc1.387.gb447b232ab-goog
>




[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