18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci.. _pixfmt-reserved:
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci***************************
68c2ecf20Sopenharmony_ciReserved Format Identifiers
78c2ecf20Sopenharmony_ci***************************
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ciThese formats are not defined by this specification, they are just
108c2ecf20Sopenharmony_cilisted for reference and to avoid naming conflicts. If you want to
118c2ecf20Sopenharmony_ciregister your own format, send an e-mail to the linux-media mailing list
128c2ecf20Sopenharmony_ci`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__
138c2ecf20Sopenharmony_cifor inclusion in the ``videodev2.h`` file. If you want to share your
148c2ecf20Sopenharmony_ciformat with other developers add a link to your documentation and send a
158c2ecf20Sopenharmony_cicopy to the linux-media mailing list for inclusion in this section. If
168c2ecf20Sopenharmony_ciyou think your format should be listed in a standard format section
178c2ecf20Sopenharmony_ciplease make a proposal on the linux-media mailing list.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci.. _reserved-formats:
238c2ecf20Sopenharmony_ci
248c2ecf20Sopenharmony_ci.. flat-table:: Reserved Image Formats
258c2ecf20Sopenharmony_ci    :header-rows:  1
268c2ecf20Sopenharmony_ci    :stub-columns: 0
278c2ecf20Sopenharmony_ci    :widths:       3 1 4
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci    * - Identifier
308c2ecf20Sopenharmony_ci      - Code
318c2ecf20Sopenharmony_ci      - Details
328c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-DV:
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_DV``
358c2ecf20Sopenharmony_ci      - 'dvsd'
368c2ecf20Sopenharmony_ci      - unknown
378c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-ET61X251:
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_ET61X251``
408c2ecf20Sopenharmony_ci      - 'E625'
418c2ecf20Sopenharmony_ci      - Compressed format of the ET61X251 driver.
428c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-HI240:
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_HI240``
458c2ecf20Sopenharmony_ci      - 'HI24'
468c2ecf20Sopenharmony_ci      - 8 bit RGB format used by the BTTV driver.
478c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-HM12:
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_HM12``
508c2ecf20Sopenharmony_ci      - 'HM12'
518c2ecf20Sopenharmony_ci      - YUV 4:2:0 format used by the IVTV driver.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	The format is documented in the kernel sources in the file
548c2ecf20Sopenharmony_ci	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``
558c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-CPIA1:
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_CPIA1``
588c2ecf20Sopenharmony_ci      - 'CPIA'
598c2ecf20Sopenharmony_ci      - YUV format used by the gspca cpia1 driver.
608c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-JPGL:
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_JPGL``
638c2ecf20Sopenharmony_ci      - 'JPGL'
648c2ecf20Sopenharmony_ci      - JPEG-Light format (Pegasus Lossless JPEG) used in Divio webcams NW
658c2ecf20Sopenharmony_ci	80x.
668c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SPCA501:
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SPCA501``
698c2ecf20Sopenharmony_ci      - 'S501'
708c2ecf20Sopenharmony_ci      - YUYV per line used by the gspca driver.
718c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SPCA505:
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SPCA505``
748c2ecf20Sopenharmony_ci      - 'S505'
758c2ecf20Sopenharmony_ci      - YYUV per line used by the gspca driver.
768c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SPCA508:
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SPCA508``
798c2ecf20Sopenharmony_ci      - 'S508'
808c2ecf20Sopenharmony_ci      - YUVY per line used by the gspca driver.
818c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SPCA561:
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SPCA561``
848c2ecf20Sopenharmony_ci      - 'S561'
858c2ecf20Sopenharmony_ci      - Compressed GBRG Bayer format used by the gspca driver.
868c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-PAC207:
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_PAC207``
898c2ecf20Sopenharmony_ci      - 'P207'
908c2ecf20Sopenharmony_ci      - Compressed BGGR Bayer format used by the gspca driver.
918c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-MR97310A:
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_MR97310A``
948c2ecf20Sopenharmony_ci      - 'M310'
958c2ecf20Sopenharmony_ci      - Compressed BGGR Bayer format used by the gspca driver.
968c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-JL2005BCD:
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_JL2005BCD``
998c2ecf20Sopenharmony_ci      - 'JL20'
1008c2ecf20Sopenharmony_ci      - JPEG compressed RGGB Bayer format used by the gspca driver.
1018c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-OV511:
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_OV511``
1048c2ecf20Sopenharmony_ci      - 'O511'
1058c2ecf20Sopenharmony_ci      - OV511 JPEG format used by the gspca driver.
1068c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-OV518:
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_OV518``
1098c2ecf20Sopenharmony_ci      - 'O518'
1108c2ecf20Sopenharmony_ci      - OV518 JPEG format used by the gspca driver.
1118c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-PJPG:
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_PJPG``
1148c2ecf20Sopenharmony_ci      - 'PJPG'
1158c2ecf20Sopenharmony_ci      - Pixart 73xx JPEG format used by the gspca driver.
1168c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SE401:
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SE401``
1198c2ecf20Sopenharmony_ci      - 'S401'
1208c2ecf20Sopenharmony_ci      - Compressed RGB format used by the gspca se401 driver
1218c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SQ905C:
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SQ905C``
1248c2ecf20Sopenharmony_ci      - '905C'
1258c2ecf20Sopenharmony_ci      - Compressed RGGB bayer format used by the gspca driver.
1268c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-MJPEG:
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_MJPEG``
1298c2ecf20Sopenharmony_ci      - 'MJPG'
1308c2ecf20Sopenharmony_ci      - Compressed format used by the Zoran driver
1318c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-PWC1:
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_PWC1``
1348c2ecf20Sopenharmony_ci      - 'PWC1'
1358c2ecf20Sopenharmony_ci      - Compressed format of the PWC driver.
1368c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-PWC2:
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_PWC2``
1398c2ecf20Sopenharmony_ci      - 'PWC2'
1408c2ecf20Sopenharmony_ci      - Compressed format of the PWC driver.
1418c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SN9C10X:
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SN9C10X``
1448c2ecf20Sopenharmony_ci      - 'S910'
1458c2ecf20Sopenharmony_ci      - Compressed format of the SN9C102 driver.
1468c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SN9C20X-I420:
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SN9C20X_I420``
1498c2ecf20Sopenharmony_ci      - 'S920'
1508c2ecf20Sopenharmony_ci      - YUV 4:2:0 format of the gspca sn9c20x driver.
1518c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SN9C2028:
1528c2ecf20Sopenharmony_ci
1538c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SN9C2028``
1548c2ecf20Sopenharmony_ci      - 'SONX'
1558c2ecf20Sopenharmony_ci      - Compressed GBRG bayer format of the gspca sn9c2028 driver.
1568c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-STV0680:
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_STV0680``
1598c2ecf20Sopenharmony_ci      - 'S680'
1608c2ecf20Sopenharmony_ci      - Bayer format of the gspca stv0680 driver.
1618c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-WNVA:
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_WNVA``
1648c2ecf20Sopenharmony_ci      - 'WNVA'
1658c2ecf20Sopenharmony_ci      - Used by the Winnov Videum driver,
1668c2ecf20Sopenharmony_ci	`http://www.thedirks.org/winnov/ <http://www.thedirks.org/winnov/>`__
1678c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-TM6000:
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_TM6000``
1708c2ecf20Sopenharmony_ci      - 'TM60'
1718c2ecf20Sopenharmony_ci      - Used by Trident tm6000
1728c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-CIT-YYVYUY:
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_CIT_YYVYUY``
1758c2ecf20Sopenharmony_ci      - 'CITV'
1768c2ecf20Sopenharmony_ci      - Used by xirlink CIT, found at IBM webcams.
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci	Uses one line of Y then 1 line of VYUY
1798c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-KONICA420:
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_KONICA420``
1828c2ecf20Sopenharmony_ci      - 'KONI'
1838c2ecf20Sopenharmony_ci      - Used by Konica webcams.
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci	YUV420 planar in blocks of 256 pixels.
1868c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-YYUV:
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_YYUV``
1898c2ecf20Sopenharmony_ci      - 'YYUV'
1908c2ecf20Sopenharmony_ci      - unknown
1918c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-Y4:
1928c2ecf20Sopenharmony_ci
1938c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_Y4``
1948c2ecf20Sopenharmony_ci      - 'Y04 '
1958c2ecf20Sopenharmony_ci      - Old 4-bit greyscale format. Only the most significant 4 bits of
1968c2ecf20Sopenharmony_ci	each byte are used, the other bits are set to 0.
1978c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-Y6:
1988c2ecf20Sopenharmony_ci
1998c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_Y6``
2008c2ecf20Sopenharmony_ci      - 'Y06 '
2018c2ecf20Sopenharmony_ci      - Old 6-bit greyscale format. Only the most significant 6 bits of
2028c2ecf20Sopenharmony_ci	each byte are used, the other bits are set to 0.
2038c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-S5C-UYVY-JPG:
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_S5C_UYVY_JPG``
2068c2ecf20Sopenharmony_ci      - 'S5CI'
2078c2ecf20Sopenharmony_ci      - Two-planar format used by Samsung S5C73MX cameras. The first plane
2088c2ecf20Sopenharmony_ci	contains interleaved JPEG and UYVY image data, followed by meta
2098c2ecf20Sopenharmony_ci	data in form of an array of offsets to the UYVY data blocks. The
2108c2ecf20Sopenharmony_ci	actual pointer array follows immediately the interleaved JPEG/UYVY
2118c2ecf20Sopenharmony_ci	data, the number of entries in this array equals the height of the
2128c2ecf20Sopenharmony_ci	UYVY image. Each entry is a 4-byte unsigned integer in big endian
2138c2ecf20Sopenharmony_ci	order and it's an offset to a single pixel line of the UYVY image.
2148c2ecf20Sopenharmony_ci	The first plane can start either with JPEG or UYVY data chunk. The
2158c2ecf20Sopenharmony_ci	size of a single UYVY block equals the UYVY image's width
2168c2ecf20Sopenharmony_ci	multiplied by 2. The size of a JPEG chunk depends on the image and
2178c2ecf20Sopenharmony_ci	can vary with each line.
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci	The second plane, at an offset of 4084 bytes, contains a 4-byte
2208c2ecf20Sopenharmony_ci	offset to the pointer array in the first plane. This offset is
2218c2ecf20Sopenharmony_ci	followed by a 4-byte value indicating size of the pointer array.
2228c2ecf20Sopenharmony_ci	All numbers in the second plane are also in big endian order.
2238c2ecf20Sopenharmony_ci	Remaining data in the second plane is undefined. The information
2248c2ecf20Sopenharmony_ci	in the second plane allows to easily find location of the pointer
2258c2ecf20Sopenharmony_ci	array, which can be different for each frame. The size of the
2268c2ecf20Sopenharmony_ci	pointer array is constant for given UYVY image height.
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ci	In order to extract UYVY and JPEG frames an application can
2298c2ecf20Sopenharmony_ci	initially set a data pointer to the start of first plane and then
2308c2ecf20Sopenharmony_ci	add an offset from the first entry of the pointers table. Such a
2318c2ecf20Sopenharmony_ci	pointer indicates start of an UYVY image pixel line. Whole UYVY
2328c2ecf20Sopenharmony_ci	line can be copied to a separate buffer. These steps should be
2338c2ecf20Sopenharmony_ci	repeated for each line, i.e. the number of entries in the pointer
2348c2ecf20Sopenharmony_ci	array. Anything what's in between the UYVY lines is JPEG data and
2358c2ecf20Sopenharmony_ci	should be concatenated to form the JPEG stream.
2368c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-MT21C:
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_MT21C``
2398c2ecf20Sopenharmony_ci      - 'MT21'
2408c2ecf20Sopenharmony_ci      - Compressed two-planar YVU420 format used by Mediatek MT8173.
2418c2ecf20Sopenharmony_ci	The compression is lossless.
2428c2ecf20Sopenharmony_ci	It is an opaque intermediate format and the MDP hardware must be
2438c2ecf20Sopenharmony_ci	used to convert ``V4L2_PIX_FMT_MT21C`` to ``V4L2_PIX_FMT_NV12M``,
2448c2ecf20Sopenharmony_ci	``V4L2_PIX_FMT_YUV420M`` or ``V4L2_PIX_FMT_YVU420``.
2458c2ecf20Sopenharmony_ci    * .. _V4L2-PIX-FMT-SUNXI-TILED-NV12:
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ci      - ``V4L2_PIX_FMT_SUNXI_TILED_NV12``
2488c2ecf20Sopenharmony_ci      - 'ST12'
2498c2ecf20Sopenharmony_ci      - Two-planar NV12-based format used by the video engine found on Allwinner
2508c2ecf20Sopenharmony_ci	(codenamed sunxi) platforms, with 32x32 tiles for the luminance plane
2518c2ecf20Sopenharmony_ci	and 32x64 tiles for the chrominance plane. The data in each tile is
2528c2ecf20Sopenharmony_ci	stored in linear order, within the tile bounds. Each tile follows the
2538c2ecf20Sopenharmony_ci	previous one linearly in memory (from left to right, top to bottom).
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci	The associated buffer dimensions are aligned to match an integer number
2568c2ecf20Sopenharmony_ci	of tiles, resulting in 32-aligned resolutions for the luminance plane
2578c2ecf20Sopenharmony_ci	and 16-aligned resolutions for the chrominance plane (with 2x2
2588c2ecf20Sopenharmony_ci	subsampling).
259