usb: uvc: Enumerate valid values for color matching
authorDaniel Scally <dan.scally@ideasonboard.com>
Thu, 2 Feb 2023 11:41:37 +0000 (11:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:57:37 +0000 (13:57 +0100)
[ Upstream commit e16cab9c1596e251761d2bfb5e1467950d616963 ]

The color matching descriptors defined in the UVC Specification
contain 3 fields with discrete numeric values representing particular
settings. Enumerate those values so that later code setting them can
be more readable.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Link: https://lore.kernel.org/r/20230202114142.300858-2-dan.scally@ideasonboard.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/uapi/linux/usb/video.h

index bfdae12cdacf89d3bccb0f7381630b8fe516104d..c58854fb7d94a5bd695b3e59ab1c1c57ebeb951e 100644 (file)
 #define UVC_CONTROL_CAP_AUTOUPDATE                     (1 << 3)
 #define UVC_CONTROL_CAP_ASYNCHRONOUS                   (1 << 4)
 
+/* 3.9.2.6 Color Matching Descriptor Values */
+enum uvc_color_primaries_values {
+       UVC_COLOR_PRIMARIES_UNSPECIFIED,
+       UVC_COLOR_PRIMARIES_BT_709_SRGB,
+       UVC_COLOR_PRIMARIES_BT_470_2_M,
+       UVC_COLOR_PRIMARIES_BT_470_2_B_G,
+       UVC_COLOR_PRIMARIES_SMPTE_170M,
+       UVC_COLOR_PRIMARIES_SMPTE_240M,
+};
+
+enum uvc_transfer_characteristics_values {
+       UVC_TRANSFER_CHARACTERISTICS_UNSPECIFIED,
+       UVC_TRANSFER_CHARACTERISTICS_BT_709,
+       UVC_TRANSFER_CHARACTERISTICS_BT_470_2_M,
+       UVC_TRANSFER_CHARACTERISTICS_BT_470_2_B_G,
+       UVC_TRANSFER_CHARACTERISTICS_SMPTE_170M,
+       UVC_TRANSFER_CHARACTERISTICS_SMPTE_240M,
+       UVC_TRANSFER_CHARACTERISTICS_LINEAR,
+       UVC_TRANSFER_CHARACTERISTICS_SRGB,
+};
+
+enum uvc_matrix_coefficients {
+       UVC_MATRIX_COEFFICIENTS_UNSPECIFIED,
+       UVC_MATRIX_COEFFICIENTS_BT_709,
+       UVC_MATRIX_COEFFICIENTS_FCC,
+       UVC_MATRIX_COEFFICIENTS_BT_470_2_B_G,
+       UVC_MATRIX_COEFFICIENTS_SMPTE_170M,
+       UVC_MATRIX_COEFFICIENTS_SMPTE_240M,
+};
+
 /* ------------------------------------------------------------------------
  * UVC structures
  */