[v3,1/4] v4l: add V4L2_PIX_FMT_Y12 format
Commit Message
Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
---
Documentation/DocBook/v4l/pixfmt-y12.xml | 79 ++++++++++++++++++++++++++++++
include/linux/videodev2.h | 1 +
2 files changed, 80 insertions(+), 0 deletions(-)
create mode 100644 Documentation/DocBook/v4l/pixfmt-y12.xml
Comments
Hi Michael,
Thanks for the patch.
On Friday 11 March 2011 09:05:46 Michael Jones wrote:
> Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
> ---
> Documentation/DocBook/v4l/pixfmt-y12.xml | 79 +++++++++++++++++++++++++++
> include/linux/videodev2.h | 1 +
> 2 files changed, 80 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/DocBook/v4l/pixfmt-y12.xml
You also need to modify Documentation/DocBook/v4l/pixfmt.xml (and
Documentation/DocBook/media-entities.tmpl) to include pixfmt-y12.xml,
otherwise the new documentation file won't be used. Search for 'sub-y16' for
an example.
On Fri, 11 Mar 2011 09:05:46 +0100
Michael Jones <michael.jones@matrix-vision.de> wrote:
> Signed-off-by: Michael Jones <michael.jones@matrix-vision.de>
> ---
> Documentation/DocBook/v4l/pixfmt-y12.xml | 79 ++++++++++++++++++++++++++++++
> include/linux/videodev2.h | 1 +
> 2 files changed, 80 insertions(+), 0 deletions(-)
> create mode 100644 Documentation/DocBook/v4l/pixfmt-y12.xml
>
Hi Michael,
are you going to release also Y12 conversion routines for libv4lconvert?
Regards,
Antonio
On 03/11/2011 10:21 AM, Antonio Ospite wrote:
> Hi Michael,
>
> are you going to release also Y12 conversion routines for libv4lconvert?
>
> Regards,
> Antonio
>
Hi Antonio,
As I am neither a user nor developer of libv4lconvert, I am not planning
on adding Y12 conversion routines there. Hopefully somebody else will
step up. Maybe you?
-Michael
MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, 11 Mar 2011 10:38:08 +0100
Michael Jones <michael.jones@matrix-vision.de> wrote:
> On 03/11/2011 10:21 AM, Antonio Ospite wrote:
> > Hi Michael,
> >
> > are you going to release also Y12 conversion routines for libv4lconvert?
> >
> > Regards,
> > Antonio
> >
>
> Hi Antonio,
>
> As I am neither a user nor developer of libv4lconvert, I am not planning
> on adding Y12 conversion routines there. Hopefully somebody else will
> step up. Maybe you?
>
I asked just for curiosity as I don't have any device producing this
Y12 format, however I _might_ play with it if you can provide some Y12
(or Y10) raw frames. I am playing with some compressed variant of Y10
and I am exploring different ways to add support for those formats to
libv4l.
Regards,
Antonio
new file mode 100644
@@ -0,0 +1,79 @@
+<refentry id="V4L2-PIX-FMT-Y12">
+ <refmeta>
+ <refentrytitle>V4L2_PIX_FMT_Y12 ('Y12 ')</refentrytitle>
+ &manvol;
+ </refmeta>
+ <refnamediv>
+ <refname><constant>V4L2_PIX_FMT_Y12</constant></refname>
+ <refpurpose>Grey-scale image</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Description</title>
+
+ <para>This is a grey-scale image with a depth of 12 bits per pixel. Pixels
+are stored in 16-bit words with unused high bits padded with 0. The least
+significant byte is stored at lower memory addresses (little-endian).</para>
+
+ <example>
+ <title><constant>V4L2_PIX_FMT_Y12</constant> 4 × 4
+pixel image</title>
+
+ <formalpara>
+ <title>Byte Order.</title>
+ <para>Each cell is one byte.
+ <informaltable frame="none">
+ <tgroup cols="9" align="center">
+ <colspec align="left" colwidth="2*" />
+ <tbody valign="top">
+ <row>
+ <entry>start + 0:</entry>
+ <entry>Y'<subscript>00low</subscript></entry>
+ <entry>Y'<subscript>00high</subscript></entry>
+ <entry>Y'<subscript>01low</subscript></entry>
+ <entry>Y'<subscript>01high</subscript></entry>
+ <entry>Y'<subscript>02low</subscript></entry>
+ <entry>Y'<subscript>02high</subscript></entry>
+ <entry>Y'<subscript>03low</subscript></entry>
+ <entry>Y'<subscript>03high</subscript></entry>
+ </row>
+ <row>
+ <entry>start + 8:</entry>
+ <entry>Y'<subscript>10low</subscript></entry>
+ <entry>Y'<subscript>10high</subscript></entry>
+ <entry>Y'<subscript>11low</subscript></entry>
+ <entry>Y'<subscript>11high</subscript></entry>
+ <entry>Y'<subscript>12low</subscript></entry>
+ <entry>Y'<subscript>12high</subscript></entry>
+ <entry>Y'<subscript>13low</subscript></entry>
+ <entry>Y'<subscript>13high</subscript></entry>
+ </row>
+ <row>
+ <entry>start + 16:</entry>
+ <entry>Y'<subscript>20low</subscript></entry>
+ <entry>Y'<subscript>20high</subscript></entry>
+ <entry>Y'<subscript>21low</subscript></entry>
+ <entry>Y'<subscript>21high</subscript></entry>
+ <entry>Y'<subscript>22low</subscript></entry>
+ <entry>Y'<subscript>22high</subscript></entry>
+ <entry>Y'<subscript>23low</subscript></entry>
+ <entry>Y'<subscript>23high</subscript></entry>
+ </row>
+ <row>
+ <entry>start + 24:</entry>
+ <entry>Y'<subscript>30low</subscript></entry>
+ <entry>Y'<subscript>30high</subscript></entry>
+ <entry>Y'<subscript>31low</subscript></entry>
+ <entry>Y'<subscript>31high</subscript></entry>
+ <entry>Y'<subscript>32low</subscript></entry>
+ <entry>Y'<subscript>32high</subscript></entry>
+ <entry>Y'<subscript>33low</subscript></entry>
+ <entry>Y'<subscript>33high</subscript></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </formalpara>
+ </example>
+ </refsect1>
+</refentry>
@@ -288,6 +288,7 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */
#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */
#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
+#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */
#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
/* Palette formats */