162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci.. _pixfmt-reserved: 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci*************************** 662306a36Sopenharmony_ciReserved Format Identifiers 762306a36Sopenharmony_ci*************************** 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciThese formats are not defined by this specification, they are just 1062306a36Sopenharmony_cilisted for reference and to avoid naming conflicts. If you want to 1162306a36Sopenharmony_ciregister your own format, send an e-mail to the linux-media mailing list 1262306a36Sopenharmony_ci`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__ 1362306a36Sopenharmony_cifor inclusion in the ``videodev2.h`` file. If you want to share your 1462306a36Sopenharmony_ciformat with other developers add a link to your documentation and send a 1562306a36Sopenharmony_cicopy to the linux-media mailing list for inclusion in this section. If 1662306a36Sopenharmony_ciyou think your format should be listed in a standard format section 1762306a36Sopenharmony_ciplease make a proposal on the linux-media mailing list. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci.. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.5cm}| 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci.. raw:: latex 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci \small 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci.. _reserved-formats: 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci.. flat-table:: Reserved Image Formats 2962306a36Sopenharmony_ci :header-rows: 1 3062306a36Sopenharmony_ci :stub-columns: 0 3162306a36Sopenharmony_ci :widths: 3 1 4 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci * - Identifier 3462306a36Sopenharmony_ci - Code 3562306a36Sopenharmony_ci - Details 3662306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-DV: 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci - ``V4L2_PIX_FMT_DV`` 3962306a36Sopenharmony_ci - 'dvsd' 4062306a36Sopenharmony_ci - unknown 4162306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-ET61X251: 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci - ``V4L2_PIX_FMT_ET61X251`` 4462306a36Sopenharmony_ci - 'E625' 4562306a36Sopenharmony_ci - Compressed format of the ET61X251 driver. 4662306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-HI240: 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci - ``V4L2_PIX_FMT_HI240`` 4962306a36Sopenharmony_ci - 'HI24' 5062306a36Sopenharmony_ci - 8 bit RGB format used by the BTTV driver. 5162306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-CPIA1: 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci - ``V4L2_PIX_FMT_CPIA1`` 5462306a36Sopenharmony_ci - 'CPIA' 5562306a36Sopenharmony_ci - YUV format used by the gspca cpia1 driver. 5662306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-JPGL: 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci - ``V4L2_PIX_FMT_JPGL`` 5962306a36Sopenharmony_ci - 'JPGL' 6062306a36Sopenharmony_ci - JPEG-Light format (Pegasus Lossless JPEG) used in Divio webcams NW 6162306a36Sopenharmony_ci 80x. 6262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SPCA501: 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SPCA501`` 6562306a36Sopenharmony_ci - 'S501' 6662306a36Sopenharmony_ci - YUYV per line used by the gspca driver. 6762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SPCA505: 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SPCA505`` 7062306a36Sopenharmony_ci - 'S505' 7162306a36Sopenharmony_ci - YYUV per line used by the gspca driver. 7262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SPCA508: 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SPCA508`` 7562306a36Sopenharmony_ci - 'S508' 7662306a36Sopenharmony_ci - YUVY per line used by the gspca driver. 7762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SPCA561: 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SPCA561`` 8062306a36Sopenharmony_ci - 'S561' 8162306a36Sopenharmony_ci - Compressed GBRG Bayer format used by the gspca driver. 8262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-PAC207: 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_PAC207`` 8562306a36Sopenharmony_ci - 'P207' 8662306a36Sopenharmony_ci - Compressed BGGR Bayer format used by the gspca driver. 8762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-MR97310A: 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_MR97310A`` 9062306a36Sopenharmony_ci - 'M310' 9162306a36Sopenharmony_ci - Compressed BGGR Bayer format used by the gspca driver. 9262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-JL2005BCD: 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_JL2005BCD`` 9562306a36Sopenharmony_ci - 'JL20' 9662306a36Sopenharmony_ci - JPEG compressed RGGB Bayer format used by the gspca driver. 9762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-OV511: 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_OV511`` 10062306a36Sopenharmony_ci - 'O511' 10162306a36Sopenharmony_ci - OV511 JPEG format used by the gspca driver. 10262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-OV518: 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_OV518`` 10562306a36Sopenharmony_ci - 'O518' 10662306a36Sopenharmony_ci - OV518 JPEG format used by the gspca driver. 10762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-PJPG: 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_PJPG`` 11062306a36Sopenharmony_ci - 'PJPG' 11162306a36Sopenharmony_ci - Pixart 73xx JPEG format used by the gspca driver. 11262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SE401: 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SE401`` 11562306a36Sopenharmony_ci - 'S401' 11662306a36Sopenharmony_ci - Compressed RGB format used by the gspca se401 driver 11762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SQ905C: 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SQ905C`` 12062306a36Sopenharmony_ci - '905C' 12162306a36Sopenharmony_ci - Compressed RGGB bayer format used by the gspca driver. 12262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-MJPEG: 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_MJPEG`` 12562306a36Sopenharmony_ci - 'MJPG' 12662306a36Sopenharmony_ci - Compressed format used by the Zoran driver 12762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-PWC1: 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_PWC1`` 13062306a36Sopenharmony_ci - 'PWC1' 13162306a36Sopenharmony_ci - Compressed format of the PWC driver. 13262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-PWC2: 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_PWC2`` 13562306a36Sopenharmony_ci - 'PWC2' 13662306a36Sopenharmony_ci - Compressed format of the PWC driver. 13762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SN9C10X: 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SN9C10X`` 14062306a36Sopenharmony_ci - 'S910' 14162306a36Sopenharmony_ci - Compressed format of the SN9C102 driver. 14262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SN9C20X-I420: 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SN9C20X_I420`` 14562306a36Sopenharmony_ci - 'S920' 14662306a36Sopenharmony_ci - YUV 4:2:0 format of the gspca sn9c20x driver. 14762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-SN9C2028: 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_SN9C2028`` 15062306a36Sopenharmony_ci - 'SONX' 15162306a36Sopenharmony_ci - Compressed GBRG bayer format of the gspca sn9c2028 driver. 15262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-STV0680: 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_STV0680`` 15562306a36Sopenharmony_ci - 'S680' 15662306a36Sopenharmony_ci - Bayer format of the gspca stv0680 driver. 15762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-WNVA: 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_WNVA`` 16062306a36Sopenharmony_ci - 'WNVA' 16162306a36Sopenharmony_ci - Used by the Winnov Videum driver, 16262306a36Sopenharmony_ci `http://www.thedirks.org/winnov/ <http://www.thedirks.org/winnov/>`__ 16362306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-TM6000: 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci - ``V4L2_PIX_FMT_TM6000`` 16662306a36Sopenharmony_ci - 'TM60' 16762306a36Sopenharmony_ci - Used by Trident tm6000 16862306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-CIT-YYVYUY: 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci - ``V4L2_PIX_FMT_CIT_YYVYUY`` 17162306a36Sopenharmony_ci - 'CITV' 17262306a36Sopenharmony_ci - Used by xirlink CIT, found at IBM webcams. 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci Uses one line of Y then 1 line of VYUY 17562306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-KONICA420: 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci - ``V4L2_PIX_FMT_KONICA420`` 17862306a36Sopenharmony_ci - 'KONI' 17962306a36Sopenharmony_ci - Used by Konica webcams. 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci YUV420 planar in blocks of 256 pixels. 18262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-YYUV: 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_YYUV`` 18562306a36Sopenharmony_ci - 'YYUV' 18662306a36Sopenharmony_ci - unknown 18762306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-Y4: 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci - ``V4L2_PIX_FMT_Y4`` 19062306a36Sopenharmony_ci - 'Y04 ' 19162306a36Sopenharmony_ci - Old 4-bit greyscale format. Only the most significant 4 bits of 19262306a36Sopenharmony_ci each byte are used, the other bits are set to 0. 19362306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-Y6: 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_ci - ``V4L2_PIX_FMT_Y6`` 19662306a36Sopenharmony_ci - 'Y06 ' 19762306a36Sopenharmony_ci - Old 6-bit greyscale format. Only the most significant 6 bits of 19862306a36Sopenharmony_ci each byte are used, the other bits are set to 0. 19962306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-S5C-UYVY-JPG: 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci - ``V4L2_PIX_FMT_S5C_UYVY_JPG`` 20262306a36Sopenharmony_ci - 'S5CI' 20362306a36Sopenharmony_ci - Two-planar format used by Samsung S5C73MX cameras. The first plane 20462306a36Sopenharmony_ci contains interleaved JPEG and UYVY image data, followed by meta 20562306a36Sopenharmony_ci data in form of an array of offsets to the UYVY data blocks. The 20662306a36Sopenharmony_ci actual pointer array follows immediately the interleaved JPEG/UYVY 20762306a36Sopenharmony_ci data, the number of entries in this array equals the height of the 20862306a36Sopenharmony_ci UYVY image. Each entry is a 4-byte unsigned integer in big endian 20962306a36Sopenharmony_ci order and it's an offset to a single pixel line of the UYVY image. 21062306a36Sopenharmony_ci The first plane can start either with JPEG or UYVY data chunk. The 21162306a36Sopenharmony_ci size of a single UYVY block equals the UYVY image's width 21262306a36Sopenharmony_ci multiplied by 2. The size of a JPEG chunk depends on the image and 21362306a36Sopenharmony_ci can vary with each line. 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci The second plane, at an offset of 4084 bytes, contains a 4-byte 21662306a36Sopenharmony_ci offset to the pointer array in the first plane. This offset is 21762306a36Sopenharmony_ci followed by a 4-byte value indicating size of the pointer array. 21862306a36Sopenharmony_ci All numbers in the second plane are also in big endian order. 21962306a36Sopenharmony_ci Remaining data in the second plane is undefined. The information 22062306a36Sopenharmony_ci in the second plane allows to easily find location of the pointer 22162306a36Sopenharmony_ci array, which can be different for each frame. The size of the 22262306a36Sopenharmony_ci pointer array is constant for given UYVY image height. 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci In order to extract UYVY and JPEG frames an application can 22562306a36Sopenharmony_ci initially set a data pointer to the start of first plane and then 22662306a36Sopenharmony_ci add an offset from the first entry of the pointers table. Such a 22762306a36Sopenharmony_ci pointer indicates start of an UYVY image pixel line. Whole UYVY 22862306a36Sopenharmony_ci line can be copied to a separate buffer. These steps should be 22962306a36Sopenharmony_ci repeated for each line, i.e. the number of entries in the pointer 23062306a36Sopenharmony_ci array. Anything what's in between the UYVY lines is JPEG data and 23162306a36Sopenharmony_ci should be concatenated to form the JPEG stream. 23262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-MT21C: 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_MT21C`` 23562306a36Sopenharmony_ci - 'MT21' 23662306a36Sopenharmony_ci - Compressed two-planar YVU420 format used by Mediatek MT8173, MT8192, 23762306a36Sopenharmony_ci MT8195 and more. The compression is lossless. This format have 23862306a36Sopenharmony_ci similitude with ``V4L2_PIX_FMT_MM21`` in term of alignment and tiling. 23962306a36Sopenharmony_ci It remains an opaque intermediate format and the MDP hardware must be 24062306a36Sopenharmony_ci used to convert ``V4L2_PIX_FMT_MT21C`` to ``V4L2_PIX_FMT_NV12M``, 24162306a36Sopenharmony_ci ``V4L2_PIX_FMT_YUV420M`` or ``V4L2_PIX_FMT_YVU420``. 24262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-QC08C: 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_QC08C`` 24562306a36Sopenharmony_ci - 'QC08C' 24662306a36Sopenharmony_ci - Compressed Macro-tile 8-Bit YUV420 format used by Qualcomm platforms. 24762306a36Sopenharmony_ci It is an opaque intermediate format. The used compression is lossless 24862306a36Sopenharmony_ci and it is used by various multimedia hardware blocks like GPU, display 24962306a36Sopenharmony_ci controllers, ISP and video accelerators. 25062306a36Sopenharmony_ci It contains four planes for progressive video and eight planes for 25162306a36Sopenharmony_ci interlaced video. 25262306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-QC10C: 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci - ``V4L2_PIX_FMT_QC10C`` 25562306a36Sopenharmony_ci - 'QC10C' 25662306a36Sopenharmony_ci - Compressed Macro-tile 10-Bit YUV420 format used by Qualcomm platforms. 25762306a36Sopenharmony_ci It is an opaque intermediate format. The used compression is lossless 25862306a36Sopenharmony_ci and it is used by various multimedia hardware blocks like GPU, display 25962306a36Sopenharmony_ci controllers, ISP and video accelerators. 26062306a36Sopenharmony_ci It contains four planes for progressive video. 26162306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-AJPG: 26262306a36Sopenharmony_ci 26362306a36Sopenharmony_ci - ``V4L2_PIX_FMT_AJPG`` 26462306a36Sopenharmony_ci - 'AJPG' 26562306a36Sopenharmony_ci - ASPEED JPEG format used by the aspeed-video driver on Aspeed platforms, 26662306a36Sopenharmony_ci which is generally adapted for remote KVM. 26762306a36Sopenharmony_ci On each frame compression, I will compare the new frame with previous 26862306a36Sopenharmony_ci one to decide which macroblock's data is changed, and only the changed 26962306a36Sopenharmony_ci macroblocks will be compressed. 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci The implementation is based on AST2600 A3 datasheet, revision 0.9, which 27262306a36Sopenharmony_ci is not publicly available. Or you can reference Video stream data format 27362306a36Sopenharmony_ci – ASPEED mode compression of SDK_User_Guide which available on 27462306a36Sopenharmony_ci `github <https://github.com/AspeedTech-BMC/openbmc/releases/>`__. 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci Decoder's implementation can be found here, 27762306a36Sopenharmony_ci `aspeed_codec <https://github.com/AspeedTech-BMC/aspeed_codec/>`__ 27862306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-MT2110T: 27962306a36Sopenharmony_ci 28062306a36Sopenharmony_ci - ``V4L2_PIX_FMT_MT2110T`` 28162306a36Sopenharmony_ci - 'MT2110T' 28262306a36Sopenharmony_ci - This format is two-planar 10-Bit tile mode and having similitude with 28362306a36Sopenharmony_ci ``V4L2_PIX_FMT_MM21`` in term of alignment and tiling. Used for VP9, AV1 28462306a36Sopenharmony_ci and HEVC. 28562306a36Sopenharmony_ci * .. _V4L2-PIX-FMT-MT2110R: 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci - ``V4L2_PIX_FMT_MT2110R`` 28862306a36Sopenharmony_ci - 'MT2110R' 28962306a36Sopenharmony_ci - This format is two-planar 10-Bit raster mode and having similitude with 29062306a36Sopenharmony_ci ``V4L2_PIX_FMT_MM21`` in term of alignment and tiling. Used for AVC. 29162306a36Sopenharmony_ci.. raw:: latex 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ci \normalsize 294