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:
@@ -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
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user