Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp1717962pxb; Wed, 9 Feb 2022 03:02:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJzaygKw9hQSVy39O2m80hZtpPB3jWUkbigz0wHzLqnSQpok/ynwUZb454t8G2o42LXjzhKV X-Received: by 2002:a17:90b:1d02:: with SMTP id on2mr1875548pjb.125.1644404537776; Wed, 09 Feb 2022 03:02:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644404537; cv=none; d=google.com; s=arc-20160816; b=CqCJxsHPfxhL+JN6J3WFz5O1DJ0mHHlZv/2JYI0jZwO1yPkuRa0GFp4T7rjfrDbl8F 63En2i+AA51R+F1S2ELFW0h+4hqbUFLkcBnJG37QcBapDVzsaPZ3SfyrY3k6M6DmsSjc EycEVqt8gY7nSFJv5j1TdoM8gYBf2Gpq0oDUHx3mU+t0hglRcd9iBWKqm1iGs7KMjltJ TBkT51oKkeWb1+b6bfTkGIGq1Rxyav9mQrSBYW04hS3k28ICN5c7jfPZStVN0Cnyv1iA VsfEV9z/d5KB15TpDgwTZ3J/l/6d3PzAS+jsTfoLbUlpyxYrs08DppT0GjCgVqpUbQpP rU1g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QE7LeadnVWr08Ybu9tHsGymzFGuS+473JDA9dcKcoEM=; b=XQ9M8e9uNEPk/zrZU2OTQ63TzZQ6AkeINnHJHdrqsmizxckfZoCE5Gbk+Mgov3Orm9 XpnfmQRD3iHpi+6JZBjXYd4PL39RcaUvG+pFDrXZ7ORpgJaEN6KARxo4U3d2CfyK8wgf IZn9goV4XrfYuaYEuKylDXSEgZX60YiYKHt2MehyjhKgnEmGck8Qv0Nu3+BCS3xxlBeN on4hSLkC30NMmV6U+3P9fv0CSO/nwy9PH7BZHMJD7C7yyaDYeq+bdph2mLREyd1WpXIo HcdsqAiZ+OfsmQVLiZkd4slopozNmP85uHX3s5OpeJu82raB+15SlVVn0MR1GpkSPCMv L8Yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b="Z/LfltXA"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id f184si15408506pgc.639.2022.02.09.03.02.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Feb 2022 03:02:17 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b="Z/LfltXA"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4CF64E050444; Wed, 9 Feb 2022 01:30:54 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1382064AbiBHPui (ORCPT + 99 others); Tue, 8 Feb 2022 10:50:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59852 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239907AbiBHPuh (ORCPT ); Tue, 8 Feb 2022 10:50:37 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 504ECC061576; Tue, 8 Feb 2022 07:50:37 -0800 (PST) Received: from tatooine.ideasonboard.com (unknown [IPv6:2a01:e0a:169:7140:b99c:2ebe:5dcf:6513]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id C7379A50; Tue, 8 Feb 2022 16:50:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1644335435; bh=b4DGiyfvyoOudln8HWj3ITn77XitcebPtAQjLV0bz0M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z/LfltXAo59GU2ZWMq3HCIRKaLilxhwq4O47ZEU6CF8dQJOczVNqU3WFsbvHy3D92 HUlg23QlY8WicyKOgl4HmPuFsvINQpYtdwcEs3HqCw30RXWbjU1gxHCCRJshWTBPwT hhpBmwee2yZco2VX07aV6umGnDRNJZ1iCjlah9Kc= From: Jean-Michel Hautbois To: jeanmichel.hautbois@ideasonboard.com Cc: dave.stevenson@raspberrypi.com, devicetree@vger.kernel.org, kernel-list@raspberrypi.com, laurent.pinchart@ideasonboard.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, lukasz@jany.st, mchehab@kernel.org, naush@raspberrypi.com, robh@kernel.org, tomi.valkeinen@ideasonboard.com, bcm-kernel-feedback-list@broadcom.com, stefan.wahren@i2se.com Subject: [PATCH v5 01/11] media: v4l: Add V4L2-PIX-FMT-Y12P format Date: Tue, 8 Feb 2022 16:50:17 +0100 Message-Id: <20220208155027.891055-2-jeanmichel.hautbois@ideasonboard.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220208155027.891055-1-jeanmichel.hautbois@ideasonboard.com> References: <20220208155027.891055-1-jeanmichel.hautbois@ideasonboard.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a packed grey-scale image format with a depth of 12 bits per pixel. Two consecutive pixels are packed into 3 bytes. The first 2 bytes contain the 8 high order bits of the pixels, and the 3rd byte contains the 4 least significants bits of each pixel, in the same order. Add the entry in userspace API, and document it. Signed-off-by: Jean-Michel Hautbois Reviewed-by: Laurent Pinchart --- .../userspace-api/media/v4l/pixfmt-yuv-luma.rst | 11 +++++++++++ drivers/media/v4l2-core/v4l2-ioctl.c | 1 + include/uapi/linux/videodev2.h | 1 + 3 files changed, 13 insertions(+) diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst index 8ebd58c3588f..d37ce6027095 100644 --- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst +++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-luma.rst @@ -92,6 +92,17 @@ are often referred to as greyscale formats. - ... - ... + * .. _V4L2-PIX-FMT-Y12P: + + - ``V4L2_PIX_FMT_Y12P`` + - 'Y12P' + + - Y'\ :sub:`0`\ [11:4] + - Y'\ :sub:`1`\ [11:4] + - Y'\ :sub:`1`\ [3:0] Y'\ :sub:`0`\ [3:0] + - ... + - ... + * .. _V4L2-PIX-FMT-Y14: - ``V4L2_PIX_FMT_Y14`` diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index 8a9883bbe1ef..12862e0803bf 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -1266,6 +1266,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt) case V4L2_PIX_FMT_Y16_BE: descr = "16-bit Greyscale BE"; break; case V4L2_PIX_FMT_Y10BPACK: descr = "10-bit Greyscale (Packed)"; break; case V4L2_PIX_FMT_Y10P: descr = "10-bit Greyscale (MIPI Packed)"; break; + case V4L2_PIX_FMT_Y12P: descr = "12-bit Greyscale (MIPI Packed)"; break; case V4L2_PIX_FMT_Y8I: descr = "Interleaved 8-bit Greyscale"; break; case V4L2_PIX_FMT_Y12I: descr = "Interleaved 12-bit Greyscale"; break; case V4L2_PIX_FMT_Z16: descr = "16-bit Depth"; break; diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index c9ee5de1bce6..bef488205fea 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -569,6 +569,7 @@ struct v4l2_pix_format { /* Grey bit-packed formats */ #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */ #define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') /* 10 Greyscale, MIPI RAW10 packed */ +#define V4L2_PIX_FMT_Y12P v4l2_fourcc('Y', '1', '2', 'P') /* 12 Greyscale, MIPI RAW12 packed */ /* Palette formats */ #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ -- 2.32.0