diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2012-10-03 06:44:53 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-05 20:28:03 -0400 |
commit | c3010097a79fc741d27b07e068598fd9468ca41f (patch) | |
tree | e31e64e2e36fc44b78c6910a48664378702ff27b /Documentation/DocBook | |
parent | d2642485d694027ad8c918844cee0e547cc11bcb (diff) |
[media] V4L: Add V4L2_PIX_FMT_S5C_UYVY_JPG fourcc definition
This patch adds definition of the Samsung S5C73M3 camera specific
image format. V4L2_PIX_FMT_S5C_UYVY_JPG is a two-planar format,
the first plane contains interleaved UYVY and JPEG data followed
by meta-data. The second plane contains additional meta-data needed
for extracting JPEG and UYVY data stream from the first plane.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r-- | Documentation/DocBook/media/v4l/pixfmt.xml | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index 1ddbfabe3195..fce143726fd5 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml | |||
@@ -996,6 +996,34 @@ the other bits are set to 0.</entry> | |||
996 | <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, | 996 | <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, |
997 | the other bits are set to 0.</entry> | 997 | the other bits are set to 0.</entry> |
998 | </row> | 998 | </row> |
999 | <row id="V4L2-PIX-FMT-S5C-UYVY-JPG"> | ||
1000 | <entry><constant>V4L2_PIX_FMT_S5C_UYVY_JPG</constant></entry> | ||
1001 | <entry>'S5CI'</entry> | ||
1002 | <entry>Two-planar format used by Samsung S5C73MX cameras. The | ||
1003 | first plane contains interleaved JPEG and UYVY image data, followed by meta data | ||
1004 | in form of an array of offsets to the UYVY data blocks. The actual pointer array | ||
1005 | follows immediately the interleaved JPEG/UYVY data, the number of entries in | ||
1006 | this array equals the height of the UYVY image. Each entry is a 4-byte unsigned | ||
1007 | integer in big endian order and it's an offset to a single pixel line of the | ||
1008 | UYVY image. The first plane can start either with JPEG or UYVY data chunk. The | ||
1009 | size of a single UYVY block equals the UYVY image's width multiplied by 2. The | ||
1010 | size of a JPEG chunk depends on the image and can vary with each line. | ||
1011 | <para>The second plane, at an offset of 4084 bytes, contains a 4-byte offset to | ||
1012 | the pointer array in the first plane. This offset is followed by a 4-byte value | ||
1013 | indicating size of the pointer array. All numbers in the second plane are also | ||
1014 | in big endian order. Remaining data in the second plane is undefined. The | ||
1015 | information in the second plane allows to easily find location of the pointer | ||
1016 | array, which can be different for each frame. The size of the pointer array is | ||
1017 | constant for given UYVY image height.</para> | ||
1018 | <para>In order to extract UYVY and JPEG frames an application can initially set | ||
1019 | a data pointer to the start of first plane and then add an offset from the first | ||
1020 | entry of the pointers table. Such a pointer indicates start of an UYVY image | ||
1021 | pixel line. Whole UYVY line can be copied to a separate buffer. These steps | ||
1022 | should be repeated for each line, i.e. the number of entries in the pointer | ||
1023 | array. Anything what's in between the UYVY lines is JPEG data and should be | ||
1024 | concatenated to form the JPEG stream. </para> | ||
1025 | </entry> | ||
1026 | </row> | ||
999 | </tbody> | 1027 | </tbody> |
1000 | </tgroup> | 1028 | </tgroup> |
1001 | </table> | 1029 | </table> |