drivers: video: formats: include bayer 10/12/14-bits formats
In addition to the 8-bit, introduce all the other bayer formats described by MIPI-CSI2 specification. The 8-bit bayer formats description is shortened to just 4 bytes like the other formats, to help intuition while comparing the different formats. Signed-off-by: Josuah Demangeon <me@josuah.net>
This commit is contained in:
parent
2c5ec1cc07
commit
8ae185561c
1 changed files with 126 additions and 0 deletions
|
@ -901,6 +901,114 @@ void video_closest_frmival(const struct device *dev, enum video_endpoint_id ep,
|
|||
*/
|
||||
#define VIDEO_PIX_FMT_RGGB8 VIDEO_FOURCC('R', 'G', 'G', 'B')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 3 2 1 0
|
||||
* | Bbbbbbbb | Gggggggg | Bbbbbbbb | Gggggggg | ggbbggbb | ...
|
||||
* | Gggggggg | Rrrrrrrr | Gggggggg | Rrrrrrrr | rrggrrgg | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SBGGR10P VIDEO_FOURCC('p', 'B', 'A', 'A')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 3 2 1 0
|
||||
* | Gggggggg | Bbbbbbbb | Gggggggg | Bbbbbbbb | bbggbbgg | ...
|
||||
* | Rrrrrrrr | Gggggggg | Rrrrrrrr | Gggggggg | ggrrggrr | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SGBRG10P VIDEO_FOURCC('p', 'G', 'A', 'A')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 3 2 1 0
|
||||
* | Gggggggg | Rrrrrrrr | Gggggggg | Rrrrrrrr | rrggrrgg | ...
|
||||
* | Bbbbbbbb | Gggggggg | Bbbbbbbb | Gggggggg | ggbbggbb | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SGRBG10P VIDEO_FOURCC('p', 'g', 'A', 'A')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 3 2 1 0
|
||||
* | Rrrrrrrr | Gggggggg | Rrrrrrrr | Gggggggg | ggrrggrr | ...
|
||||
* | Gggggggg | Bbbbbbbb | Gggggggg | Bbbbbbbb | bbggbbgg | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SRGGB10P VIDEO_FOURCC('p', 'R', 'A', 'A')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 1 0 2 3 3 2
|
||||
* | Bbbbbbbb | Gggggggg | ggggbbbb | Bbbbbbbb | Gggggggg | ggggbbbb | ...
|
||||
* | Gggggggg | Rrrrrrrr | rrrrgggg | Gggggggg | Rrrrrrrr | rrrrgggg | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SBGGR12P VIDEO_FOURCC('p', 'B', 'C', 'C')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 1 0 2 3 3 2
|
||||
* | Gggggggg | Bbbbbbbb | bbbbgggg | Gggggggg | Bbbbbbbb | bbbbgggg | ...
|
||||
* | Rrrrrrrr | Gggggggg | ggggrrrr | Rrrrrrrr | Gggggggg | ggggrrrr | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SGBRG12P VIDEO_FOURCC('p', 'G', 'C', 'C')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 1 0 2 3 3 2
|
||||
* | Gggggggg | Rrrrrrrr | rrrrgggg | Gggggggg | Rrrrrrrr | rrrrgggg | ...
|
||||
* | Bbbbbbbb | Gggggggg | ggggbbbb | Bbbbbbbb | Gggggggg | ggggbbbb | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SGRBG12P VIDEO_FOURCC('p', 'g', 'C', 'C')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 1 0 2 3 3 2
|
||||
* | Rrrrrrrr | Gggggggg | ggggrrrr | Rrrrrrrr | Gggggggg | ggggrrrr | ...
|
||||
* | Gggggggg | Bbbbbbbb | bbbbgggg | Gggggggg | Bbbbbbbb | bbbbgggg | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SRGGB12P VIDEO_FOURCC('p', 'R', 'C', 'C')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 1 0 2 1 3 2
|
||||
* | Bbbbbbbb | Gggggggg | Bbbbbbbb | Gggggggg | ggbbbbbb bbbbgggg ggggggbb | ...
|
||||
* | Gggggggg | Rrrrrrrr | Gggggggg | Rrrrrrrr | rrgggggg ggggrrrr rrrrrrgg | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SBGGR14P VIDEO_FOURCC('p', 'B', 'E', 'E')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 1 0 2 1 3 2
|
||||
* | Gggggggg | Bbbbbbbb | Gggggggg | Bbbbbbbb | bbgggggg ggggbbbb bbbbbbgg | ...
|
||||
* | Rrrrrrrr | Gggggggg | Rrrrrrrr | Gggggggg | ggrrrrrr rrrrgggg ggggggrr | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SGBRG14P VIDEO_FOURCC('p', 'G', 'E', 'E')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 1 0 2 1 3 2
|
||||
* | Gggggggg | Rrrrrrrr | Gggggggg | Rrrrrrrr | rrgggggg ggggrrrr rrrrrrgg | ...
|
||||
* | Bbbbbbbb | Gggggggg | Bbbbbbbb | Gggggggg | ggbbbbbb bbbbgggg ggggggbb | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SGRBG14P VIDEO_FOURCC('p', 'g', 'E', 'E')
|
||||
|
||||
/**
|
||||
* @code{.unparsed}
|
||||
* 0 1 2 3 1 0 2 1 3 2
|
||||
* | Rrrrrrrr | Gggggggg | Rrrrrrrr | Gggggggg | ggrrrrrr rrrrgggg ggggggrr | ...
|
||||
* | Gggggggg | Bbbbbbbb | Gggggggg | Bbbbbbbb | bbgggggg ggggbbbb bbbbbbgg | ...
|
||||
* @endcode
|
||||
*/
|
||||
#define VIDEO_PIX_FMT_SRGGB14P VIDEO_FOURCC('p', 'R', 'E', 'E')
|
||||
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
@ -1005,6 +1113,24 @@ static inline unsigned int video_bits_per_pixel(uint32_t pixfmt)
|
|||
case VIDEO_PIX_FMT_GRBG8:
|
||||
case VIDEO_PIX_FMT_RGGB8:
|
||||
return 8;
|
||||
case VIDEO_PIX_FMT_SBGGR10P:
|
||||
case VIDEO_PIX_FMT_SGBRG10P:
|
||||
case VIDEO_PIX_FMT_SGRBG10P:
|
||||
case VIDEO_PIX_FMT_SRGGB10P:
|
||||
case VIDEO_PIX_FMT_Y10P:
|
||||
return 10;
|
||||
case VIDEO_PIX_FMT_SBGGR12P:
|
||||
case VIDEO_PIX_FMT_SGBRG12P:
|
||||
case VIDEO_PIX_FMT_SGRBG12P:
|
||||
case VIDEO_PIX_FMT_SRGGB12P:
|
||||
case VIDEO_PIX_FMT_Y12P:
|
||||
return 12;
|
||||
case VIDEO_PIX_FMT_SBGGR14P:
|
||||
case VIDEO_PIX_FMT_SGBRG14P:
|
||||
case VIDEO_PIX_FMT_SGRBG14P:
|
||||
case VIDEO_PIX_FMT_SRGGB14P:
|
||||
case VIDEO_PIX_FMT_Y14P:
|
||||
return 14;
|
||||
case VIDEO_PIX_FMT_RGB565:
|
||||
case VIDEO_PIX_FMT_YUYV:
|
||||
return 16;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue