mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
media: v4l: Add luma 16-bit interlaced pixel format
The formats added by this patch are: V4L2_PIX_FMT_Y16I Interlaced lumina format primary use in RealSense Depth cameras with stereo stream for left and right image sensors. Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://lore.kernel.org/r/568efbd75290e286b8ad9e7347b5f43745121020.camel@intel.com Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
parent
1b4420bdfa
commit
a8f2cdd27d
73
Documentation/userspace-api/media/v4l/pixfmt-y16i.rst
Normal file
73
Documentation/userspace-api/media/v4l/pixfmt-y16i.rst
Normal file
@ -0,0 +1,73 @@
|
||||
.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
|
||||
|
||||
.. _V4L2-PIX-FMT-Y16I:
|
||||
|
||||
**************************
|
||||
V4L2_PIX_FMT_Y16I ('Y16I')
|
||||
**************************
|
||||
|
||||
Interleaved grey-scale image, e.g. from a stereo-pair
|
||||
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This is a grey-scale image with a depth of 16 bits per pixel, but with pixels
|
||||
from 2 sources interleaved and unpacked. Each pixel is stored in a 16-bit word
|
||||
in the little-endian order. The first pixel is from the left source.
|
||||
|
||||
**Pixel unpacked representation.**
|
||||
Left/Right pixels 16-bit unpacked - 16-bit for each interleaved pixel.
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 0
|
||||
:stub-columns: 0
|
||||
|
||||
* - Y'\ :sub:`0L[7:0]`
|
||||
- Y'\ :sub:`0L[15:8]`
|
||||
- Y'\ :sub:`0R[7:0]`
|
||||
- Y'\ :sub:`0R[15:8]`
|
||||
|
||||
**Byte Order.**
|
||||
Each cell is one byte.
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 0
|
||||
:stub-columns: 0
|
||||
|
||||
* - start + 0:
|
||||
- Y'\ :sub:`00Llow`
|
||||
- Y'\ :sub:`00Lhigh`
|
||||
- Y'\ :sub:`00Rlow`
|
||||
- Y'\ :sub:`00Rhigh`
|
||||
- Y'\ :sub:`01Llow`
|
||||
- Y'\ :sub:`01Lhigh`
|
||||
- Y'\ :sub:`01Rlow`
|
||||
- Y'\ :sub:`01Rhigh`
|
||||
* - start + 8:
|
||||
- Y'\ :sub:`10Llow`
|
||||
- Y'\ :sub:`10Lhigh`
|
||||
- Y'\ :sub:`10Rlow`
|
||||
- Y'\ :sub:`10Rhigh`
|
||||
- Y'\ :sub:`11Llow`
|
||||
- Y'\ :sub:`11Lhigh`
|
||||
- Y'\ :sub:`11Rlow`
|
||||
- Y'\ :sub:`11Rhigh`
|
||||
* - start + 16:
|
||||
- Y'\ :sub:`20Llow`
|
||||
- Y'\ :sub:`20Lhigh`
|
||||
- Y'\ :sub:`20Rlow`
|
||||
- Y'\ :sub:`20Rhigh`
|
||||
- Y'\ :sub:`21Llow`
|
||||
- Y'\ :sub:`21Lhigh`
|
||||
- Y'\ :sub:`21Rlow`
|
||||
- Y'\ :sub:`21Rhigh`
|
||||
* - start + 24:
|
||||
- Y'\ :sub:`30Llow`
|
||||
- Y'\ :sub:`30Lhigh`
|
||||
- Y'\ :sub:`30Rlow`
|
||||
- Y'\ :sub:`30Rhigh`
|
||||
- Y'\ :sub:`31Llow`
|
||||
- Y'\ :sub:`31Lhigh`
|
||||
- Y'\ :sub:`31Rlow`
|
||||
- Y'\ :sub:`31Rhigh`
|
@ -269,5 +269,6 @@ image.
|
||||
pixfmt-yuv-luma
|
||||
pixfmt-y8i
|
||||
pixfmt-y12i
|
||||
pixfmt-y16i
|
||||
pixfmt-uv8
|
||||
pixfmt-m420
|
||||
|
@ -1327,6 +1327,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
|
||||
case V4L2_PIX_FMT_Y14P: descr = "14-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_Y16I: descr = "Interleaved 16-bit Greyscale"; break;
|
||||
case V4L2_PIX_FMT_Z16: descr = "16-bit Depth"; break;
|
||||
case V4L2_PIX_FMT_INZI: descr = "Planar 10:16 Greyscale Depth"; break;
|
||||
case V4L2_PIX_FMT_CNF4: descr = "4-bit Depth Confidence (Packed)"; break;
|
||||
|
@ -798,6 +798,7 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
|
||||
#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
|
||||
#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
|
||||
#define V4L2_PIX_FMT_Y16I v4l2_fourcc('Y', '1', '6', 'I') /* Greyscale 16-bit L/R interleaved */
|
||||
#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
|
||||
#define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Mediatek compressed block mode */
|
||||
#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Mediatek 8-bit block mode, two non-contiguous planes */
|
||||
|
Loading…
Reference in New Issue
Block a user