mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			107 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From a7c15fc583a22c89f71c78442ede61108fb5207f Mon Sep 17 00:00:00 2001
 | 
						|
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
						|
Date: Thu, 7 May 2020 16:59:03 +0100
 | 
						|
Subject: [PATCH 257/726] media: Add a pixel format for MIPI packed 12bit luma
 | 
						|
 only.
 | 
						|
 | 
						|
This is the format used by monochrome 12bit image sensors.
 | 
						|
 | 
						|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
						|
---
 | 
						|
 .../userspace-api/media/v4l/pixfmt-y12p.rst   | 45 +++++++++++++++++++
 | 
						|
 .../userspace-api/media/v4l/yuv-formats.rst   |  1 +
 | 
						|
 drivers/media/v4l2-core/v4l2-ioctl.c          |  1 +
 | 
						|
 include/uapi/linux/videodev2.h                |  1 +
 | 
						|
 4 files changed, 48 insertions(+)
 | 
						|
 create mode 100644 Documentation/userspace-api/media/v4l/pixfmt-y12p.rst
 | 
						|
 | 
						|
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-y12p.rst b/Documentation/userspace-api/media/v4l/pixfmt-y12p.rst
 | 
						|
new file mode 100644
 | 
						|
index 000000000000..3704f9180fd7
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/userspace-api/media/v4l/pixfmt-y12p.rst
 | 
						|
@@ -0,0 +1,45 @@
 | 
						|
+.. Permission is granted to copy, distribute and/or modify this
 | 
						|
+.. document under the terms of the GNU Free Documentation License,
 | 
						|
+.. Version 1.1 or any later version published by the Free Software
 | 
						|
+.. Foundation, with no Invariant Sections, no Front-Cover Texts
 | 
						|
+.. and no Back-Cover Texts. A copy of the license is included at
 | 
						|
+.. Documentation/media/uapi/fdl-appendix.rst.
 | 
						|
+..
 | 
						|
+.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
 | 
						|
+
 | 
						|
+.. _V4L2-PIX-FMT-Y12P:
 | 
						|
+
 | 
						|
+******************************
 | 
						|
+V4L2_PIX_FMT_Y12P ('Y12P')
 | 
						|
+******************************
 | 
						|
+
 | 
						|
+Grey-scale image as a MIPI RAW12 packed array
 | 
						|
+
 | 
						|
+
 | 
						|
+Description
 | 
						|
+===========
 | 
						|
+
 | 
						|
+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.
 | 
						|
+
 | 
						|
+**Byte Order.**
 | 
						|
+Each cell is one byte.
 | 
						|
+
 | 
						|
+.. tabularcolumns:: |p{2.2cm}|p{1.2cm}|p{1.2cm}|p{3.1cm}|
 | 
						|
+
 | 
						|
+
 | 
						|
+.. flat-table::
 | 
						|
+    :header-rows:  0
 | 
						|
+    :stub-columns: 0
 | 
						|
+    :widths:       2 1 1 1
 | 
						|
+
 | 
						|
+
 | 
						|
+    -  -  start + 0:
 | 
						|
+       -  Y'\ :sub:`00high`
 | 
						|
+       -  Y'\ :sub:`01high`
 | 
						|
+       -  Y'\ :sub:`01low`\ (bits 7--4)
 | 
						|
+
 | 
						|
+          Y'\ :sub:`00low`\ (bits 3--0)
 | 
						|
+
 | 
						|
diff --git a/Documentation/userspace-api/media/v4l/yuv-formats.rst b/Documentation/userspace-api/media/v4l/yuv-formats.rst
 | 
						|
index 458e07782c8d..390996d95fe5 100644
 | 
						|
--- a/Documentation/userspace-api/media/v4l/yuv-formats.rst
 | 
						|
+++ b/Documentation/userspace-api/media/v4l/yuv-formats.rst
 | 
						|
@@ -267,6 +267,7 @@ image.
 | 
						|
     pixfmt-packed-yuv
 | 
						|
     pixfmt-yuv-planar
 | 
						|
     pixfmt-yuv-luma
 | 
						|
+    pixfmt-y12p
 | 
						|
     pixfmt-y8i
 | 
						|
     pixfmt-y12i
 | 
						|
     pixfmt-uv8
 | 
						|
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
 | 
						|
index f163fd05477c..db71eb68933b 100644
 | 
						|
--- a/drivers/media/v4l2-core/v4l2-ioctl.c
 | 
						|
+++ b/drivers/media/v4l2-core/v4l2-ioctl.c
 | 
						|
@@ -1314,6 +1314,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_IPU3_Y10:	descr = "10-bit greyscale (IPU3 Packed)"; break;
 | 
						|
 	case V4L2_PIX_FMT_Y8I:		descr = "Interleaved 8-bit Greyscale"; break;
 | 
						|
 	case V4L2_PIX_FMT_Y12I:		descr = "Interleaved 12-bit Greyscale"; break;
 | 
						|
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
 | 
						|
index 2b2c2b73bc4f..9300ba4cbe57 100644
 | 
						|
--- a/include/uapi/linux/videodev2.h
 | 
						|
+++ b/include/uapi/linux/videodev2.h
 | 
						|
@@ -595,6 +595,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 */
 | 
						|
 #define V4L2_PIX_FMT_IPU3_Y10		v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */
 | 
						|
 
 | 
						|
 /* Palette formats */
 | 
						|
-- 
 | 
						|
2.33.1
 | 
						|
 |