@@ -1858,9 +1858,13 @@ drm_fourcc_canonicalize_nvidia_format_mod(__u64 modifier)
* pixel, in the same order.
*/
#define MIPI_FORMAT_MOD_CSI2_PACKED fourcc_mod_code(MIPI, 1)
+#define MIPI_FORMAT_MOD_CSI2_RAW fourcc_mod_code(MIPI, 2)
+#define MIPI_FORMAT_MOD_CSI2_RAW_PACKED fourcc_mod_code(MIPI, 3)
#define PISP_FORMAT_MOD_COMPRESS_MODE1 fourcc_mod_code(RPI, 1)
#define PISP_FORMAT_MOD_COMPRESS_MODE2 fourcc_mod_code(RPI, 2)
+#define PISP_FORMAT_MOD_COMPRESS_RAW_MODE1 fourcc_mod_code(RPI, 3)
+#define PISP_FORMAT_MOD_COMPRESS_RAW_MODE2 fourcc_mod_code(RPI, 4)
#if defined(__cplusplus)
}
@@ -104,24 +104,29 @@ formats:
- RAW8:
fourcc: DRM_FORMAT_R8
+ mod: MIPI_FORMAT_MOD_CSI2_RAW
- RAW10:
fourcc: DRM_FORMAT_R10
+ mod: MIPI_FORMAT_MOD_CSI2_RAW
- RAW12:
fourcc: DRM_FORMAT_R12
+ mod: MIPI_FORMAT_MOD_CSI2_RAW
- RAW14:
fourcc: DRM_FORMAT_R14
+ mod: MIPI_FORMAT_MOD_CSI2_RAW
- RAW16:
fourcc: DRM_FORMAT_R16
+ mod: MIPI_FORMAT_MOD_CSI2_RAW
- RAW10_CSI2P:
fourcc: DRM_FORMAT_R10
- mod: MIPI_FORMAT_MOD_CSI2_PACKED
+ mod: MIPI_FORMAT_MOD_CSI2_RAW_PACKED
- RAW12_CSI2P:
fourcc: DRM_FORMAT_R12
- mod: MIPI_FORMAT_MOD_CSI2_PACKED
+ mod: MIPI_FORMAT_MOD_CSI2_RAW_PACKED
- RAW14_CSI2P:
fourcc: DRM_FORMAT_R14
- mod: MIPI_FORMAT_MOD_CSI2_PACKED
+ mod: MIPI_FORMAT_MOD_CSI2_RAW_PACKED
- RAW10_IPU3:
fourcc: DRM_FORMAT_R10
@@ -132,5 +137,5 @@ formats:
mod: PISP_FORMAT_MOD_COMPRESS_MODE1
- RAW_PISP_COMP1:
fourcc: DRM_FORMAT_R16
- mod: PISP_FORMAT_MOD_COMPRESS_MODE1
+ mod: PISP_FORMAT_MOD_COMPRESS_RAW_MODE1
...
This is a temporary HACK, as we don't have a way to communicate to libcamera users through the fourcc if a pixel format is coming from a RAW sensor with a valid bayer ordering, or if it is monochrome (YUV colorspace) data that can be used directly without any demosaicing. Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com> --- include/linux/drm_fourcc.h | 4 ++++ src/libcamera/formats.yaml | 13 +++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-)