From: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
To: Mauro Carvalho Chehab <mchehab@kernel.org>,
Hans Verkuil <hverkuil@xs4all.nl>,
Markus Heiser <markus.heiser@darmarIT.de>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Helen Mae Koike Fornazier <helen.koike@collabora.co.uk>,
Antti Palosaari <crope@iki.fi>,
Philipp Zabel <p.zabel@pengutronix.de>,
Shuah Khan <shuah@kernel.org>,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org
Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Subject: [PATCH v5 10/12] [media] videodev2.h Add HSV encoding
Date: Thu, 18 Aug 2016 16:33:36 +0200 [thread overview]
Message-ID: <1471530818-7928-11-git-send-email-ricardo.ribalda@gmail.com> (raw)
In-Reply-To: <1471530818-7928-1-git-send-email-ricardo.ribalda@gmail.com>
Some hardware maps the Hue between 0 and 255 instead of 0-179. Support
this format with a new field hsv_enc.
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
---
include/uapi/linux/videodev2.h | 32 +++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 5 deletions(-)
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index 58ed8aedc196..71a4c3c13ee0 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -335,6 +335,19 @@ enum v4l2_ycbcr_encoding {
};
/*
+ * enum v4l2_hsv_encoding values should not collide with the ones from
+ * enum v4l2_ycbcr_encoding.
+ */
+enum v4l2_hsv_encoding {
+
+ /* Hue mapped to 0 - 179 */
+ V4L2_HSV_ENC_180 = 128,
+
+ /* Hue mapped to 0-255 */
+ V4L2_HSV_ENC_256 = 129,
+};
+
+/*
* Determine how YCBCR_ENC_DEFAULT should map to a proper Y'CbCr encoding.
* This depends on the colorspace.
*/
@@ -362,9 +375,10 @@ enum v4l2_quantization {
* This depends on whether the image is RGB or not, the colorspace and the
* Y'CbCr encoding.
*/
-#define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc) \
- (((is_rgb) && (colsp) == V4L2_COLORSPACE_BT2020) ? V4L2_QUANTIZATION_LIM_RANGE : \
- (((is_rgb) || (ycbcr_enc) == V4L2_YCBCR_ENC_XV601 || \
+#define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb_or_yuv, colsp, ycbcr_enc) \
+ (((is_rgb_or_yuv) && (colsp) == V4L2_COLORSPACE_BT2020) ? \
+ V4L2_QUANTIZATION_LIM_RANGE : \
+ (((is_rgb_or_yuv) || (ycbcr_enc) == V4L2_YCBCR_ENC_XV601 || \
(ycbcr_enc) == V4L2_YCBCR_ENC_XV709 || (colsp) == V4L2_COLORSPACE_JPEG) || \
(colsp) == V4L2_COLORSPACE_ADOBERGB || (colsp) == V4L2_COLORSPACE_SRGB ? \
V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE))
@@ -460,7 +474,12 @@ 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 {
+ /* enum v4l2_ycbcr_encoding */
+ __u32 ycbcr_enc;
+ /* enum v4l2_hsv_encoding */
+ __u32 hsv_enc;
+ };
__u32 quantization; /* enum v4l2_quantization */
__u32 xfer_func; /* enum v4l2_xfer_func */
};
@@ -1993,7 +2012,10 @@ 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;
+ __u8 hsv_enc;
+ };
__u8 quantization;
__u8 xfer_func;
__u8 reserved[7];
--
2.8.1
next prev parent reply other threads:[~2016-08-18 14:49 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-18 14:33 [PATCH v5 00/12] Add HSV format Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 01/12] [media] videodev2.h Add HSV formats Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 02/12] [media] Documentation: Add HSV format Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 03/12] [media] Documentation: Add Ricardo Ribalda Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 04/12] [media] vivid: Code refactor for color encoding Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 05/12] [media] vivid: Add support for HSV formats Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 06/12] [media] vivid: Rename variable Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 07/12] [media] vivid: Introduce TPG_COLOR_ENC_LUMA Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 08/12] [media] vivid: Fix YUV555 and YUV565 handling Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 09/12] [media] vivid: Local optimization Ricardo Ribalda Delgado
2016-08-18 14:33 ` Ricardo Ribalda Delgado [this message]
2016-08-19 13:14 ` [PATCH v5 10/12] [media] videodev2.h Add HSV encoding Hans Verkuil
2016-08-22 9:26 ` Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 11/12] [media] Documentation: Add HSV encodings Ricardo Ribalda Delgado
2016-08-18 14:33 ` [PATCH v5 12/12] [media] vivid: Add support for HSV encoding Ricardo Ribalda Delgado
2016-09-07 7:51 ` [PATCH v5 00/12] Add HSV format Hans Verkuil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1471530818-7928-11-git-send-email-ricardo.ribalda@gmail.com \
--to=ricardo.ribalda@gmail.com \
--cc=crope@iki.fi \
--cc=helen.koike@collabora.co.uk \
--cc=hverkuil@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=markus.heiser@darmarIT.de \
--cc=mchehab@kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=shuah@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®