Re: [PATCH v2 2/6] [media] Documentation: Add HSV format

Ricardo Ribalda Delgado
2016-07-16T14:33:01Z

Hi

On Sat, Jul 16, 2016 at 4:12 PM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:

> I'd still like to know about it for my personal information :-)

Maybe it is just a very cheap gamma.

>
>> Anyway, I am inclined to use ycbcr_enc as well.
>
> I'm glad we agree.
>

Are you thinking about something like this:

diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index c7fb760386cf..3e613fba1b20 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -330,6 +330,16 @@ enum v4l2_ycbcr_encoding {
V4L2_YCBCR_ENC_SMPTE240M = 8,
};

+enum v4l2_hsv_encoding {
+ V4L2_HSV_ENC_180 = 16,
+ V4L2_HSV_ENC_256 = 17,
+};
+
+enum v4l2_rgb_encoding {
+ V4L2_RGB_ENC_FULL = 32,
+ V4L2_HSV_ENC_16_235 = 33,
+};
+
/*
* Determine how YCBCR_ENC_DEFAULT should map to a proper Y'CbCr encoding.
* This depends on the colorspace.
@@ -455,7 +465,11 @@ struct v4l2_pix_format {
__u32 colorspace; /* enum v4l2_colorspace */
__u32 priv; /* private data,
depends on pixelformat */
__u32 flags; /* format flags
(V4L2_PIX_FMT_FLAG_*) */
- __u32 ycbcr_enc; /* enum v4l2_ycbcr_encoding */
+ union {
+ __u32 ycbcr_enc; /* enum
v4l2_ycbcr_encoding */
+ __u32 hsv_enc; /* enum
v4l2_hsv_encoding */
+ __u32 rgb_enc; /* enum
v4l2_rgb_encoding */
+ };
__u32 quantization; /* enum v4l2_quantization */
__u32 xfer_func; /* enum v4l2_xfer_func */
};
@@ -1988,7 +2002,11 @@ struct v4l2_pix_format_mplane {
struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES];
__u8 num_planes;
__u8 flags;
- __u8 ycbcr_enc;
+ union {
+ __u8 ycbcr_enc; /* enum
v4l2_ycbcr_encoding */
+ __u8 hsv_enc; /* enum
v4l2_hsv_encoding */
+ __u8 rgb_enc; /* enum
v4l2_rgb_encoding */
+ };
__u8 quantization;
__u8 xfer_func;
__u8 reserved[7];

> --

Best regards!

--
Ricardo Ribalda