Camera Plugins
A camera plugin is a library used by Metavision HAL to open a camera and access all of its functionalities (tuning the configuration, starting the stream, retrieving the event-based data etc.).
The plugin provides the implementations of the HAL facilities for each feature supported by this specific device.
Design
From a technical point of view, a camera plugin compatible with HAL is a shared library which provides
a free function void initialize_plugin(void*)
responsible for :
setting the integrator information via
Metavision::Plugin::set_integrator_name()
setting the plugin and HAL version information via
Metavision::Plugin::set_plugin_info()
andMetavision::Plugin::set_hal_info()
registering the file and camera discoveries via
Metavision::Plugin::add_file_discovery()
andMetavision::Plugin::add_camera_discovery()
Then, the plugin should contain:
the file and camera discoveries function referenced in
void initialize_plugin(void*)
the implementation all the facilities that we want to support with this camera (that should be added in the
Device
returned by thediscover()
functions)
To create your own plugin, you can choose among those two possibilities :
start from scratch by leveraging our HAL Toy Sample plugin or HAL EVK4 Sample Plugin
start from the existing Prophesee camera plugin following our guide: Customizing Prophesee plugin and firmware for CX3-based camera
Additionally, if you want to get a deeper understanding of how the Prophesee plugin is implemented, you can
discover the Treuzell Protocol used to interface Prophesee sensors to a host
see how the Treuzell Protocol is leveraged to build the Prophesee plugins
Hardware Layer Library
The Prophesee plugin allows application developers to access device-specific implementation of facilities. This is described in the Hardware Layer Library page.
Distribution
Camera plugins are distributed by camera makers.
Partners’ cameras plugins can be retrieved directly from the partner.
Prophesee EVKs are supported by a single plugin. This plugin is included in our different packagings and installation is described in our Camera Plugin Installation page
Next Steps
From here, depending on your interest, you can:
continue to explore the SDK architecture, by checking our pages on HAL or on SDK Stream
check out our sample plugins to see how a simple plugin can be written:
HAL Toy Sample plugin shows how to create a plugin for toy device (software-simulated).
HAL EVK4 Sample Plugin shows how to create a plugin for an EVK4.
See also
For a summary of the Camera Plugin installation, please check our installation page