Hi Igor,
i fond this Pixelformats in videodev2.h:
/* 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')
#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
and the bit order at this Link
V4L2_PIX_FMT_SRGGB10P ('pRAA'), V4L2_PIX_FMT_SGRBG10P ('pgAA'), V4L2_PIX_FMT_SGBRG10P ('pGAA'), V4L2...
this is the right bit order. now i have a problem. There is no implementations of 10bit raw bayer packed in my kernel files.
mxc_v4l2_capture.c
/*!
* Indicates whether the palette is supported.
*
* @param palette V4L2_PIX_FMT_RGB565, V4L2_PIX_FMT_BGR24 or V4L2_PIX_FMT_BGR32
*
* @return 0 if failed
*/
static inline int valid_mode(u32 palette)
{
return (
(palette == V4L2_PIX_FMT_RGB565) ||
(palette == V4L2_PIX_FMT_BGR24) ||
(palette == V4L2_PIX_FMT_RGB24) ||
(palette == V4L2_PIX_FMT_BGR32) ||
(palette == V4L2_PIX_FMT_RGB32) ||
(palette == V4L2_PIX_FMT_YUV422P) ||
(palette == V4L2_PIX_FMT_UYVY) ||
(palette == V4L2_PIX_FMT_YUYV) ||
(palette == V4L2_PIX_FMT_YUV420) ||
(palette == V4L2_PIX_FMT_YVU420) ||
(palette == V4L2_PIX_FMT_NV12)) ||
(palette == V4L2_PIX_FMT_GREY) || /* Enabling the 8-bit greyscale pixelformat*/
(palette == V4L2_PIX_FMT_Y10); /* Enabling the 10-bit greyscale pixelformat*/
}