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, or update an existing one, you can start by checking some plugin source code:
see how a simple plugin can be designed in the HAL Sample plugin
browse the Prophesee plugin source code in our open source project OpenEB.
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 Driver
check out our Sample plugin to see how a simple plugin can be written
See also
For a summary of the Camera Plugin installation, please check our installation page