NVIDIA: SAUCE: include/linux: Add new packed v4l2 pixel format

BugLink: https://bugs.launchpad.net/bugs/2072591

Add pacekd 10-bit formats to v4l2 pixel formats list.
X(Bayer)10 packs 3 pixels to 4 bytes with two MSB bits
set to zero. All four corresponding phases are added.

Snapshot of packing different bayer formats below:
BGGR10 - X2B10G10B10 X2G10B10G10.. X2G10R10G10 X2R10G10R10..
RGGB10 - X2R10G10R10 X2G10R10G10.. X2G10B10G10 X2B10G10B10..
GRGB10 - X2G10R10G10 X2R10G10R10.. X2G10B10G10 X2B10G10B10..
GBGR10 - X2G10B10G10 X2B10G10B10.. X2G10R10G10 X2R10G10R10..

In general if the pixels are L0L1L2L3L4L5.., the packed
32-bit integers would be X2L2L1L0 X2L5L4L3..

Add corresponding MBUS formats to represent packed 10bit.

http://nvbugs/200602400

Signed-off-by: Frank Chen <frankc@nvidia.com>
Tested-by: Abhilash G <abhilashg@nvidia.com>
Reviewed-by: Abhilash G <abhilashg@nvidia.com>
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Acked-by: Jacob Martin <jacob.martin@canonical.com>
Acked-by: Noah Wager <noah.wager@canonical.com>
Signed-off-by: Noah Wager <noah.wager@canonical.com>
This commit is contained in:
Frank Chen
2022-11-29 11:16:11 -08:00
committed by Noah Wager
parent 3c722d8a31
commit 284f4c1e22
2 changed files with 10 additions and 0 deletions
+5
View File
@@ -154,6 +154,11 @@
#define MEDIA_BUS_FMT_SGBRG16_1X16 0x301e
#define MEDIA_BUS_FMT_SGRBG16_1X16 0x301f
#define MEDIA_BUS_FMT_SRGGB16_1X16 0x3020
/* Maintain a higher offset untill upstreamed */
#define MEDIA_BUS_FMT_XBGGR10P_3X10 0x3050
#define MEDIA_BUS_FMT_XGBRG10P_3X10 0x3051
#define MEDIA_BUS_FMT_XGRBG10P_3X10 0x3052
#define MEDIA_BUS_FMT_XRGGB10P_3X10 0x3053
/* JPEG compressed formats - next is 0x4002 */
#define MEDIA_BUS_FMT_JPEG_1X8 0x4001
+5
View File
@@ -692,6 +692,11 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
/*10bit raw bayer packed, 4 bytes for every 3 pixels */
#define V4L2_PIX_FMT_XBGGR10P v4l2_fourcc('X', 'B', 'G', 'P') /* 32 BGGR Packed 10-10-10-2 */
#define V4L2_PIX_FMT_XGBRG10P v4l2_fourcc('X', 'G', 'B', 'P') /* 32 GBRG Packed 10-10-10-2 */
#define V4L2_PIX_FMT_XGRBG10P v4l2_fourcc('X', 'G', 'R', 'P') /* 32 GRBG Packed 10-10-10-2 */
#define V4L2_PIX_FMT_XRGGB10P v4l2_fourcc('X', 'R', 'G', 'P') /* 32 RGGB Packed 10-10-10-2 */
/* 10bit raw bayer packed, 5 bytes for every 4 pixels */
#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')