libcamera/Documentation
Julien Vuillaumier 5ed35fca68 libcamera: pipeline: Rename pipelines to a shorter name
The PipelineHandlerFactoryBase class has a name that is propagated to
the PipelineHandler instance it creates.

In present implementation, this name comes from the
REGISTER_PIPELINE_HANDLER registration macro. It corresponds to the
stringified name of the PipelineHandler derived class. Therefore,
PipelineHandler factories and instances names can be quite long such as
"PipelineHandlerRkISP1".

A libcamera user may have to explicitly refer to a PipelineHandler name
for configuration purpose: one usage of the name can be to define a
pipeline handlers match list and their priorities. It is desired, for
user convenience, to use a short name to designate a pipeline handler.
Reusing the short pipeline names already defined in the meson option
files is an existing and consistent way of naming pipelines.

This change adds an explicit name parameter to the
REGISTER_PIPELINE_HANDLER registration macro. That parameter is used to
define the name of a pipeline handler factory, instead of the current
pipeline handler class name.

Each pipeline registration is updated accordingly. The short name
assigned corresponds to the pipeline directory name in the source tree.
It is consistent with pipelines names used in meson.

Changing the pipeline name has an impact on the IPA modules: each module
defines a IPAModuleInfo structure. This structure has a pipelineName
member defining the pipeline handler name it shall match with.
Therefore, each internal IPA module definition has to be changed to have
its IPAModuleInfo pipelineName name updated with the short pipeline
handler name.

In addition to this pipelineName member, the IPAModuleInfo structure
also has a name member, associated to the IPA module name. Having
renamed the pipelines to a short name, the pipeline name and the IPA
module names of the IPAModuleInfo structure are the same: for in-tree
IPA, they correspond to the respective pipeline and IPA subdirectories
in the source tree.  However the IPA name could be different, for
instance with a close source IPA implementation built out-of-tree. Thus,
it makes sense to keep the IPA name in that structure, as the 2
definitions may not always be redundant.

Signed-off-by: Julien Vuillaumier <julien.vuillaumier@nxp.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[Kieran: Adjust for clang-format style fix, reformat commitmsg]
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2024-05-14 23:20:29 +01:00
..
api-html licenses: Add SPDX headers to RST documentation 2020-04-15 19:51:56 +03:00
guides libcamera: pipeline: Rename pipelines to a shorter name 2024-05-14 23:20:29 +01:00
images/rotation Documentation: Add figures to document Orientation 2023-10-23 16:05:54 +03:00
theme Documentation: theme: Fix compilation with Sphinx >= 7.0.0 2023-07-31 22:58:58 +03:00
binning.svg Documentation: Introduce Camera Sensor Model 2023-09-27 14:35:33 +03:00
camera-sensor-model.rst Documentation: camera-sensor-model: Support Sphinx < 2.0 2024-01-09 15:35:06 +00:00
code-of-conduct.rst Documentation: contributing: Integrate the code of conduct 2023-11-25 19:01:07 +02:00
coding-style.rst Documentation: coding-style: Clean up header guard style 2024-04-17 17:11:54 +01:00
conf.py Documentation: Use language 'en' for Sphinx 5.0.0 2022-06-20 18:19:14 +02:00
contributing.rst Documentation: contributing: Integrate the code of conduct 2023-11-25 19:01:07 +02:00
docs.rst libcamera: Rename 'method' to 'function' 2021-08-09 15:40:32 +03:00
Doxyfile.in Documentation: Add option to treat Doxygen warnings as errors 2024-05-14 14:52:55 +03:00
environment_variables.rst pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code 2023-05-04 20:47:40 +03:00
getting-started.rst Documentation: Add missing SPDX headers 2022-09-30 21:50:56 +03:00
index.rst libcamera: Add "Software ISP benchmarking" documentation 2024-04-16 13:00:21 +01:00
lens_driver_requirements.rst libcamera: camera_lens: Add a new class to model a camera lens 2021-12-03 10:23:26 +00:00
meson.build Documentation: Add option to treat Doxygen warnings as errors 2024-05-14 14:52:55 +03:00
python-bindings.rst Documentation: Fix list indentation 2023-11-28 14:08:13 +02:00
sensor_driver_requirements.rst documentation: sensor_drivers: Document H/V flip 2023-01-30 12:04:17 +01:00
sensor_model.svg Documentation: Introduce Camera Sensor Model 2023-09-27 14:35:33 +03:00
skipping.svg Documentation: Introduce Camera Sensor Model 2023-09-27 14:35:33 +03:00
software-isp-benchmarking.rst libcamera: Add "Software ISP benchmarking" documentation 2024-04-16 13:00:21 +01:00