HSV formats are extremely useful for image segmentation. This set of patches makes v4l2 aware of this kind of formats. Vivid changes have been divided to ease the reviewing process. We are working on patches for Gstreamer and OpenCV that will make use of these formats. We still need to decide if and how we will support HUE range 0-255 Changelog: It is rebased on top of https://git.linuxtv.org/hverkuil/media_tree.git/commit/?h=sycc v5: Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> -Redo "Local optimization for clamp" based on compiler output Suggested by Hans Verkuil <hverkuil@xxxxxxxxx> and - Start hsv encoding values at 128 - Fix documentation - Change MAP_QUANTIZATION_DEFAULT v4: Suggested by Hans Verkuil <hverkuil@xxxxxxxxx> and - Rename YUV to YCBCR - Fix numerical error Suggested by Hans Verkuil <hverkuil@xxxxxxxxx> and Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> -Implement hsv_encoding for supporting 0-255 range v3: -Fix wrong handling of some YUV formats when brightness != 128 Suggested by Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> -Remove unneeded empty lines on .rst file Thanks! Suggested by Hans Verkuil <hverkuil@xxxxxxxxx> -Rebase over master and docs-next -Introduce TPG_COLOR_ENC_LUMA for gray formats -CodeStyle Thanks! v2: Suggested by Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx>, -Rebase on top of docs-next (port documentation to .rst) Ricardo Ribalda Delgado (12): [media] videodev2.h Add HSV formats [media] Documentation: Add HSV format [media] Documentation: Add Ricardo Ribalda [media] vivid: Code refactor for color encoding [media] vivid: Add support for HSV formats [media] vivid: Rename variable [media] vivid: Introduce TPG_COLOR_ENC_LUMA [media] vivid: Fix YUV555 and YUV565 handling [media] vivid: Local optimization [media] videodev2.h Add HSV encoding [media] Documentation: Add HSV encodings [media] vivid: Add support for HSV encoding Documentation/media/uapi/v4l/hsv-formats.rst | 19 + Documentation/media/uapi/v4l/pixfmt-002.rst | 12 +- Documentation/media/uapi/v4l/pixfmt-003.rst | 14 +- Documentation/media/uapi/v4l/pixfmt-006.rst | 41 +- Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst | 159 ++++++++ Documentation/media/uapi/v4l/pixfmt.rst | 1 + Documentation/media/uapi/v4l/v4l2.rst | 9 + Documentation/media/videodev2.h.rst.exceptions | 4 + drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 411 ++++++++++++++------- drivers/media/platform/vivid/vivid-core.h | 3 +- drivers/media/platform/vivid/vivid-ctrls.c | 25 ++ drivers/media/platform/vivid/vivid-vid-cap.c | 17 +- drivers/media/platform/vivid/vivid-vid-common.c | 68 ++-- drivers/media/platform/vivid/vivid-vid-out.c | 1 + drivers/media/v4l2-core/v4l2-ioctl.c | 2 + include/media/v4l2-tpg.h | 24 +- include/uapi/linux/videodev2.h | 36 +- 17 files changed, 664 insertions(+), 182 deletions(-) create mode 100644 Documentation/media/uapi/v4l/hsv-formats.rst create mode 100644 Documentation/media/uapi/v4l/pixfmt-packed-hsv.rst -- 2.8.1 -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html