/* SPDX-License-Identifier: GPL-2.0 */ /* * PiSP Back End driver image format definitions. * * Copyright (c) 2021-2024 Raspberry Pi Ltd */ #ifndef _PISP_BE_FORMATS_ #define _PISP_BE_FORMATS_ #include <linux/bits.h> #include <linux/videodev2.h> #define PISPBE_MAX_PLANES … #define P3(x) … struct pisp_be_format { … }; #define V4L2_COLORSPACE_MASK(colorspace) … #define V4L2_COLORSPACE_MASK_JPEG … #define V4L2_COLORSPACE_MASK_SMPTE170M … #define V4L2_COLORSPACE_MASK_REC709 … #define V4L2_COLORSPACE_MASK_SRGB … #define V4L2_COLORSPACE_MASK_RAW … /* * All three colour spaces SRGB, SMPTE170M and REC709 are fundamentally sRGB * underneath (as near as makes no difference to us), just with different YCbCr * encodings. Therefore the ISP can generate sRGB on its main output and any of * the others on its low resolution output. Applications should, when using both * outputs, program the colour spaces on them to be the same, matching whatever * is requested for the low resolution output, even if the main output is * producing an RGB format. In turn this requires us to allow all these colour * spaces for every YUV/RGB output format. */ #define V4L2_COLORSPACE_MASK_ALL_SRGB … static const struct pisp_be_format supported_formats[] = …; static const struct pisp_be_format meta_out_supported_formats[] = …; #endif /* _PISP_BE_FORMATS_ */