Commit Graph

9 Commits

Author SHA1 Message Date
Laurent Pinchart
4615beafd1 libcamera: formats: Add additional data to PixelFormatInfo
Add three additional fields to PixelFormatInfo to report the number of
bits per pixel, the colour encoding, and the data packing.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-04-30 16:37:20 +03:00
Laurent Pinchart
00d639d951 libcamera: formats: Add support for 8-, 10- and 12-bit Bayer formats
Add the 8-, 10- and 12-but Bayer formats, in both unpacked and
MIPI-packed variants, to the format tables in PixelFormatInfo and
V4L2PixelFormat.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-04-30 16:37:17 +03:00
Laurent Pinchart
37332ad50b libcamera: formats: Expose PixelFormatInfo as an internal API
To prepare for storing more information about pixel formats in
PixelFormatInfo, move the class to formats.cpp and document it. The
pixel formats database is moved to the same file, and a new static
function is added to PixelFormatInfo to retrieve a PixelFormatInfo for a
PixelFormat.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-04-30 14:54:03 +03:00
Laurent Pinchart
0228e9c927 libcamera: Declare static local variables as const where applicable
We use static local variables to indicate errors in methods that return
a const reference. The local variables can thus be const, make them so.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2020-01-22 17:26:17 +02:00
Laurent Pinchart
702dcb3105 libcamera: formats: Write libcamera in lowercase
The libcamera name should never be capitalized. Fix the two incorrect
occurrences.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2019-10-28 13:04:38 +02:00
Jacopo Mondi
d78fbdba87 libcamera: formats: Add missing include
Include errno.h header to fix missing definition of -EEXIST error code:
src/libcamera/formats.cpp:43:11: error: use of undeclared identifier 'EEXIST'

Fixes: 1cf709b1d2 ("libcamera: formats: Add ImageFormats")
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2019-06-19 17:25:17 +02:00
Niklas Söderlund
ce02ea29cd libcamera: v4l2_subdevice: Replace FormatEnum with ImageFormats
Replace all usage of FormatEnum with ImageFormats and completely
remove FormatEnum which is no longer needed.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2019-06-19 03:06:33 +02:00
Niklas Söderlund
1cf709b1d2 libcamera: formats: Add ImageFormats
Add a new class to hold format information for V4L2 devices and
subdevices. The object describes the relationship between either pixel
formats (V4L2 devices) or media bus codes (V4L2 subdevice) and a list of
image sizes which can be produced with that format.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2019-06-19 02:42:56 +02:00
Jacopo Mondi
8dcd871fec libcamera: formats: Define FormatEnum type
Add an internal format.h and format.cpp files to collect libcamera image
format related types, helpers and structures. Define and document the
FormatEnum type, used to enumerate pixel image formats and associated
image resolutions.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
2019-04-02 11:02:38 +02:00