diff options
| -rw-r--r-- | Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml | 99 | ||||
| -rw-r--r-- | Documentation/DocBook/media/v4l/pixfmt.xml | 1 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 5 |
3 files changed, 105 insertions, 0 deletions
diff --git a/Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml b/Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml new file mode 100644 index 000000000000..30aa63581fe3 --- /dev/null +++ b/Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml | |||
| @@ -0,0 +1,99 @@ | |||
| 1 | <refentry id="pixfmt-srggb10p"> | ||
| 2 | <refmeta> | ||
| 3 | <refentrytitle>V4L2_PIX_FMT_SRGGB10P ('pRAA'), | ||
| 4 | V4L2_PIX_FMT_SGRBG10P ('pgAA'), | ||
| 5 | V4L2_PIX_FMT_SGBRG10P ('pGAA'), | ||
| 6 | V4L2_PIX_FMT_SBGGR10P ('pBAA'), | ||
| 7 | </refentrytitle> | ||
| 8 | &manvol; | ||
| 9 | </refmeta> | ||
| 10 | <refnamediv> | ||
| 11 | <refname id="V4L2-PIX-FMT-SRGGB10P"><constant>V4L2_PIX_FMT_SRGGB10P</constant></refname> | ||
| 12 | <refname id="V4L2-PIX-FMT-SGRBG10P"><constant>V4L2_PIX_FMT_SGRBG10P</constant></refname> | ||
| 13 | <refname id="V4L2-PIX-FMT-SGBRG10P"><constant>V4L2_PIX_FMT_SGBRG10P</constant></refname> | ||
| 14 | <refname id="V4L2-PIX-FMT-SBGGR10P"><constant>V4L2_PIX_FMT_SBGGR10P</constant></refname> | ||
| 15 | <refpurpose>10-bit packed Bayer formats</refpurpose> | ||
| 16 | </refnamediv> | ||
| 17 | <refsect1> | ||
| 18 | <title>Description</title> | ||
| 19 | |||
| 20 | <para>These four pixel formats are packed raw sRGB / | ||
| 21 | Bayer formats with 10 bits per colour. Every four consecutive | ||
| 22 | colour components are packed into 5 bytes. Each of the first 4 | ||
| 23 | bytes contain the 8 high order bits of the pixels, and the | ||
| 24 | fifth byte contains the two least significants bits of each | ||
| 25 | pixel, in the same order.</para> | ||
| 26 | |||
| 27 | <para>Each n-pixel row contains n/2 green samples and n/2 blue | ||
| 28 | or red samples, with alternating green-red and green-blue | ||
| 29 | rows. They are conventionally described as GRGR... BGBG..., | ||
| 30 | RGRG... GBGB..., etc. Below is an example of one of these | ||
| 31 | formats:</para> | ||
| 32 | |||
| 33 | <example> | ||
| 34 | <title><constant>V4L2_PIX_FMT_SBGGR10P</constant> 4 × 4 | ||
| 35 | pixel image</title> | ||
| 36 | |||
| 37 | <formalpara> | ||
| 38 | <title>Byte Order.</title> | ||
| 39 | <para>Each cell is one byte. | ||
| 40 | <informaltable frame="topbot" colsep="1" rowsep="1"> | ||
| 41 | <tgroup cols="5" align="center" border="1"> | ||
| 42 | <colspec align="left" colwidth="2*" /> | ||
| 43 | <tbody valign="top"> | ||
| 44 | <row> | ||
| 45 | <entry>start + 0:</entry> | ||
| 46 | <entry>B<subscript>00high</subscript></entry> | ||
| 47 | <entry>G<subscript>01high</subscript></entry> | ||
| 48 | <entry>B<subscript>02high</subscript></entry> | ||
| 49 | <entry>G<subscript>03high</subscript></entry> | ||
| 50 | <entry>B<subscript>00low</subscript>(bits 7--6) | ||
| 51 | G<subscript>01low</subscript>(bits 5--4) | ||
| 52 | B<subscript>02low</subscript>(bits 3--2) | ||
| 53 | G<subscript>03low</subscript>(bits 1--0) | ||
| 54 | </entry> | ||
| 55 | </row> | ||
| 56 | <row> | ||
| 57 | <entry>start + 5:</entry> | ||
| 58 | <entry>G<subscript>10high</subscript></entry> | ||
| 59 | <entry>R<subscript>11high</subscript></entry> | ||
| 60 | <entry>G<subscript>12high</subscript></entry> | ||
| 61 | <entry>R<subscript>13high</subscript></entry> | ||
| 62 | <entry>G<subscript>10low</subscript>(bits 7--6) | ||
| 63 | R<subscript>11low</subscript>(bits 5--4) | ||
| 64 | G<subscript>12low</subscript>(bits 3--2) | ||
| 65 | R<subscript>13low</subscript>(bits 1--0) | ||
| 66 | </entry> | ||
| 67 | </row> | ||
| 68 | <row> | ||
| 69 | <entry>start + 10:</entry> | ||
| 70 | <entry>B<subscript>20high</subscript></entry> | ||
| 71 | <entry>G<subscript>21high</subscript></entry> | ||
| 72 | <entry>B<subscript>22high</subscript></entry> | ||
| 73 | <entry>G<subscript>23high</subscript></entry> | ||
| 74 | <entry>B<subscript>20low</subscript>(bits 7--6) | ||
| 75 | G<subscript>21low</subscript>(bits 5--4) | ||
| 76 | B<subscript>22low</subscript>(bits 3--2) | ||
| 77 | G<subscript>23low</subscript>(bits 1--0) | ||
| 78 | </entry> | ||
| 79 | </row> | ||
| 80 | <row> | ||
| 81 | <entry>start + 15:</entry> | ||
| 82 | <entry>G<subscript>30high</subscript></entry> | ||
| 83 | <entry>R<subscript>31high</subscript></entry> | ||
| 84 | <entry>G<subscript>32high</subscript></entry> | ||
| 85 | <entry>R<subscript>33high</subscript></entry> | ||
| 86 | <entry>G<subscript>30low</subscript>(bits 7--6) | ||
| 87 | R<subscript>31low</subscript>(bits 5--4) | ||
| 88 | G<subscript>32low</subscript>(bits 3--2) | ||
| 89 | R<subscript>33low</subscript>(bits 1--0) | ||
| 90 | </entry> | ||
| 91 | </row> | ||
| 92 | </tbody> | ||
| 93 | </tgroup> | ||
| 94 | </informaltable> | ||
| 95 | </para> | ||
| 96 | </formalpara> | ||
| 97 | </example> | ||
| 98 | </refsect1> | ||
| 99 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index d5eca4b8f74b..5e0352c50324 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml | |||
| @@ -1405,6 +1405,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< | |||
| 1405 | &sub-srggb8; | 1405 | &sub-srggb8; |
| 1406 | &sub-sbggr16; | 1406 | &sub-sbggr16; |
| 1407 | &sub-srggb10; | 1407 | &sub-srggb10; |
| 1408 | &sub-srggb10p; | ||
| 1408 | &sub-srggb10alaw8; | 1409 | &sub-srggb10alaw8; |
| 1409 | &sub-srggb10dpcm8; | 1410 | &sub-srggb10dpcm8; |
| 1410 | &sub-srggb12; | 1411 | &sub-srggb12; |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index f0b94b8fcdfb..fbdc3602ee27 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -463,6 +463,11 @@ struct v4l2_pix_format { | |||
| 463 | #define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ | 463 | #define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */ |
| 464 | #define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ | 464 | #define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */ |
| 465 | #define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ | 465 | #define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */ |
| 466 | /* 10bit raw bayer packed, 5 bytes for every 4 pixels */ | ||
| 467 | #define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A') | ||
| 468 | #define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A') | ||
| 469 | #define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A') | ||
| 470 | #define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A') | ||
| 466 | /* 10bit raw bayer a-law compressed to 8 bits */ | 471 | /* 10bit raw bayer a-law compressed to 8 bits */ |
| 467 | #define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') | 472 | #define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') |
| 468 | #define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') | 473 | #define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') |
