libcamera/src/libcamera
Laurent Pinchart e8dc74317a libcamera: Define constants for pixel formats in the public API
libcamera uses pixel format FourCC and modifier values from DRM. This
requires inclusion of drm_fourcc.h, creating a dependency on a header
that is packaged differently between distributions, and causing possible
issues with third-party applications.

Define constants for the supported pixel formats in the new formats.h
public API header, in order to remove the dependency on drm_fourcc.h.
The header is generated by a Python script from a list of supported
formats. The numerical values for the FourCC and modifier are extracted
from drm_fourcc.h by the script, ensuring that numerical values are not
inadvertently modified and preserving the direct interoperability.

The pixel formats constants can't be generated solely from drm_fourcc.h,
as that header defines FourCC values and modifier values, but doesn't
list the valid combinations. The supported formats are thus stored in a
YAML file, which contains the FourCC and optional modifier for each
supported format. We may later extend the YAML file to include formats
documentation, and possibly formats metadata to populate the
pixelFormatInfo map (in formats.cpp) automatically.

Now that two formats.h header are present (one in include/libcamera/ and
one in include/libcamera/internal/), we need to explicitly qualify the
Doxygen \file directive with a path.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2020-06-18 13:26:36 +03:00
..
pipeline libcamera: pipeline: rkisp1: Avoid usage of dynamic_cast<> 2020-06-10 16:48:18 +03:00
proxy libcamera: Move IPA headers from include/ipa/ to include/libcamera/ipa/ 2020-05-16 03:38:47 +03:00
bound_method.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
buffer.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
byte_stream_buffer.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
camera.cpp libcamera: camera: Order parameter documentation correctly 2020-06-05 09:29:40 +01:00
camera_controls.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
camera_manager.cpp libcamera: camera_manager: Introduce signals when a camera is added or removed 2020-06-17 00:27:54 +03:00
camera_sensor.cpp libcamera: camera_sensor: Update properties parsing 2020-05-21 13:31:59 +02:00
control_ids.cpp.in libcamera: control_ids: Add comment to specify control direction 2020-04-27 20:18:06 +03:00
control_ids.yaml libcamera: controls: Add sensor black levels reporting through metadata 2020-04-29 03:34:24 +03:00
control_serializer.cpp libcamera: Move IPA headers from include/ipa/ to include/libcamera/ipa/ 2020-05-16 03:38:47 +03:00
control_validator.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
controls.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
device_enumerator.cpp libcamera: device_enumerator: Emit a signal when new devices are added 2020-06-17 00:27:51 +03:00
device_enumerator_sysfs.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
device_enumerator_udev.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
event_dispatcher.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
event_dispatcher_poll.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
event_notifier.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
file.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
file_descriptor.cpp libcamera: file_descriptor: Implement move semantics for constructor 2020-05-19 18:07:49 +03:00
formats.cpp libcamera: Define constants for pixel formats in the public API 2020-06-18 13:26:36 +03:00
formats.yaml libcamera: Define constants for pixel formats in the public API 2020-06-18 13:26:36 +03:00
framebuffer_allocator.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
gen-controls.py libcamera: controls: Add support for string controls 2020-03-20 16:47:45 +02:00
gen-ipa-pub-key.py libcamera: gen-ipa-pub-key.py: Wrap lines in generated file 2020-04-16 18:01:56 +03:00
geometry.cpp libcamera: geometry: Rename Rectangle fields 2020-04-26 17:12:42 +02:00
ipa_context_wrapper.cpp libcamera: ipa_context_wrapper: Fix typo in comments 2020-06-05 21:01:04 +09:00
ipa_controls.cpp libcamera: Move IPA headers from include/ipa/ to include/libcamera/ipa/ 2020-05-16 03:38:47 +03:00
ipa_interface.cpp libcamera: Move IPA headers from include/ipa/ to include/libcamera/ipa/ 2020-05-16 03:38:47 +03:00
ipa_manager.cpp libcamera: IPAManager: remove instance() and make createIPA() static 2020-06-08 17:11:26 +09:00
ipa_module.cpp libcamera: ipa_module: Fix valgrind assertion failure 2020-06-10 17:06:31 +03:00
ipa_proxy.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
ipa_pub_key.cpp.in libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
ipc_unixsocket.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
log.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
media_device.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
media_object.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
meson.build libcamera: Define constants for pixel formats in the public API 2020-06-18 13:26:36 +03:00
message.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
object.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
pipeline_handler.cpp libcamera: camera_manager: Introduce signals when a camera is added or removed 2020-06-17 00:27:54 +03:00
pixel_format.cpp libcamera: Define constants for pixel formats in the public API 2020-06-18 13:26:36 +03:00
process.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
property_ids.cpp.in libcamera: properties: Add location property 2020-02-14 16:27:42 +01:00
property_ids.yaml libcamera: properties: Add rotation property 2020-02-14 16:27:42 +01:00
pub_key.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
request.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
semaphore.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
signal.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
stream.cpp libcamera: StreamConfiguration: Fix typo in documentation 2020-06-17 15:06:30 +09:00
thread.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
timer.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
utils.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
v4l2_controls.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
v4l2_device.cpp libcamera: Move internal headers to include/libcamera/internal/ 2020-05-16 03:38:11 +03:00
v4l2_pixelformat.cpp libcamera: Rename pixelformats.{cpp,h} to pixel_format.{cpp,h} 2020-06-06 00:25:04 +03:00
v4l2_subdevice.cpp libcamera: v4l2subdev: Print mbus string instead of code 2020-06-15 21:53:11 +01:00
v4l2_videodevice.cpp libcamera: v4l2_videodevice: Use FileDescriptor "fd move" constructor 2020-05-19 18:08:27 +03:00
version.cpp.in libcamera: Rework automatic version generation to avoid rebuilds 2019-07-09 12:34:10 +03:00