From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mga09.intel.com ([134.134.136.24]:34359 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756036AbcGGGtJ (ORCPT ); Thu, 7 Jul 2016 02:49:09 -0400 From: Sakari Ailus To: linux-media@vger.kernel.org Cc: hverkuil@xs4all.nl, bparrot@ti.com, nsekhar@ti.com, prabhakar.csengg@gmail.com Subject: [PATCH v2.2 10/10] v4l: Add 16-bit raw bayer pixel format definitions Date: Thu, 7 Jul 2016 09:48:22 +0300 Message-Id: <1467874102-28365-2-git-send-email-sakari.ailus@linux.intel.com> In-Reply-To: <1467874102-28365-1-git-send-email-sakari.ailus@linux.intel.com> References: <1467039471-19416-2-git-send-email-sakari.ailus@linux.intel.com> <1467874102-28365-1-git-send-email-sakari.ailus@linux.intel.com> Sender: linux-media-owner@vger.kernel.org List-ID: The formats added by this patch are: V4L2_PIX_FMT_SBGGR16 V4L2_PIX_FMT_SGBRG16 V4L2_PIX_FMT_SGRBG16 V4L2_PIX_FMT_SRGGB16 already existed before the patch. Rework the documentation to match that of the other sample depths. Signed-off-by: Sakari Ailus --- Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml | 81 ------------------- Documentation/DocBook/media/v4l/pixfmt-srggb16.xml | 91 ++++++++++++++++++++++ Documentation/DocBook/media/v4l/pixfmt.xml | 2 +- include/uapi/linux/videodev2.h | 3 + 4 files changed, 95 insertions(+), 82 deletions(-) delete mode 100644 Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml create mode 100644 Documentation/DocBook/media/v4l/pixfmt-srggb16.xml diff --git a/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml b/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml deleted file mode 100644 index 789160565..0000000 --- a/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - V4L2_PIX_FMT_SBGGR16 ('BYR2') - &manvol; - - - V4L2_PIX_FMT_SBGGR16 - Bayer RGB format - - - Description - - This format is similar to -V4L2_PIX_FMT_SBGGR8, except each pixel has -a depth of 16 bits. The least significant byte is stored at lower -memory addresses (little-endian). - - - <constant>V4L2_PIX_FMT_SBGGR16</constant> 4 × 4 -pixel image - - - Byte Order. - Each cell is one byte. - - - - - - start + 0: - B00low - B00high - G01low - G01high - B02low - B02high - G03low - G03high - - - start + 8: - G10low - G10high - R11low - R11high - G12low - G12high - R13low - R13high - - - start + 16: - B20low - B20high - G21low - G21high - B22low - B22high - G23low - G23high - - - start + 24: - G30low - G30high - R31low - R31high - G32low - G32high - R33low - R33high - - - - - - - - - diff --git a/Documentation/DocBook/media/v4l/pixfmt-srggb16.xml b/Documentation/DocBook/media/v4l/pixfmt-srggb16.xml new file mode 100644 index 0000000..590266f --- /dev/null +++ b/Documentation/DocBook/media/v4l/pixfmt-srggb16.xml @@ -0,0 +1,91 @@ + + + V4L2_PIX_FMT_SRGGB16 ('RG16'), + V4L2_PIX_FMT_SGRBG16 ('GR16'), + V4L2_PIX_FMT_SGBRG16 ('GB16'), + V4L2_PIX_FMT_SBGGR16 ('BYR2') + + &manvol; + + + V4L2_PIX_FMT_SRGGB16 + V4L2_PIX_FMT_SGRBG16 + V4L2_PIX_FMT_SGBRG16 + V4L2_PIX_FMT_SBGGR16 + 16-bit Bayer formats + + + Description + + These four pixel formats are raw sRGB / Bayer formats with +16 bits per colour. Each colour component is stored in a 16-bit word. +Each n-pixel row contains n/2 green samples and n/2 blue or red +samples, with alternating red and blue rows. Bytes are stored in +memory in little endian order. They are conventionally described +as GRGR... BGBG..., RGRG... GBGB..., etc. Below is an example of one of these +formats: + + + <constant>V4L2_PIX_FMT_SBGGR16</constant> 4 × 4 +pixel image + + + Byte Order. + Each cell is one byte. + + + + + + start + 0: + B00low + B00high + G01low + G01high + B02low + B02high + G03low + G03high + + + start + 8: + G10low + G10high + R11low + R11high + G12low + G12high + R13low + R13high + + + start + 16: + B20low + B20high + G21low + G21high + B22low + B22high + G23low + G23high + + + start + 24: + G30low + G30high + R31low + R31high + G32low + G32high + R33low + R33high + + + + + + + + + + diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index 296a50a..2c22098 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml @@ -1587,7 +1587,6 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< &sub-sgbrg8; &sub-sgrbg8; &sub-srggb8; - &sub-sbggr16; &sub-srggb10; &sub-srggb10p; &sub-srggb10alaw8; @@ -1596,6 +1595,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< &sub-srggb12p; &sub-srggb14; &sub-srggb14p; + &sub-srggb16;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 32e9e74..c62c85b 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -593,6 +593,9 @@ struct v4l2_pix_format { #define V4L2_PIX_FMT_SGRBG14P v4l2_fourcc('p', 'g', 'E', 'E') #define V4L2_PIX_FMT_SRGGB14P v4l2_fourcc('p', 'R', 'E', 'E') #define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */ +#define V4L2_PIX_FMT_SGBRG16 v4l2_fourcc('G', 'B', '1', '6') /* 16 GBGB.. RGRG.. */ +#define V4L2_PIX_FMT_SGRBG16 v4l2_fourcc('G', 'R', '1', '6') /* 16 GRGR.. BGBG.. */ +#define V4L2_PIX_FMT_SRGGB16 v4l2_fourcc('R', 'G', '1', '6') /* 16 RGRG.. GBGB.. */ /* compressed formats */ #define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */ -- 2.7.4