|
Zephyr API Documentation 4.4.0-rc1
A Scalable Open Source RTOS
|
Data Structures | |
| struct | video_driver_api |
| Driver Operations Video driver operations More... | |
Typedefs | |
| typedef int(* | video_api_format_t) (const struct device *dev, struct video_format *fmt) |
| Callback API to set or get video format. | |
| typedef int(* | video_api_frmival_t) (const struct device *dev, struct video_frmival *frmival) |
| Callback API to set or get video frame interval. | |
| typedef int(* | video_api_enum_frmival_t) (const struct device *dev, struct video_frmival_enum *fie) |
| Callback API to enumerate supported frame intervals for a format. | |
| typedef int(* | video_api_enqueue_t) (const struct device *dev, struct video_buffer *buf) |
| Callback API to enqueue a buffer in the driver incoming queue. | |
| typedef int(* | video_api_dequeue_t) (const struct device *dev, struct video_buffer **buf, k_timeout_t timeout) |
| Callback API to dequeue a buffer from the driver outgoing queue. | |
| typedef int(* | video_api_flush_t) (const struct device *dev, bool cancel) |
| Callback API to flush endpoint buffers. | |
| typedef int(* | video_api_set_stream_t) (const struct device *dev, bool enable, enum video_buf_type type) |
| Callback API to start or stop streaming on the video device. | |
| typedef int(* | video_api_ctrl_t) (const struct device *dev, uint32_t cid) |
| Callback API to set or get a video control value. | |
| typedef int(* | video_api_get_caps_t) (const struct device *dev, struct video_caps *caps) |
| Callback API to get capabilities of a video endpoint. | |
| typedef int(* | video_api_transform_cap_t) (const struct device *const dev, const struct video_format_cap *const cap, struct video_format_cap *const res_cap, enum video_buf_type type, uint16_t ind) |
| Callback API to transform a format capability across m2m device endpoints. | |
| typedef int(* | video_api_set_signal_t) (const struct device *dev, struct k_poll_signal *sig) |
| Callback API to register or unregister poll signal for buffer events. | |
| typedef int(* | video_api_selection_t) (const struct device *dev, struct video_selection *sel) |
| Callback API to set or get video selection (crop/compose). | |
This group contains the API type definitions, callback signatures, and other helpers required to implement a Video driver.
#include <zephyr/drivers/video.h>
Callback API to set or get a video control value.
| dev | Pointer to the device structure. |
| cid | Id of the control to set/get its value. |
| typedef int(* video_api_dequeue_t) (const struct device *dev, struct video_buffer **buf, k_timeout_t timeout) |
#include <zephyr/drivers/video.h>
Callback API to dequeue a buffer from the driver outgoing queue.
See video_dequeue() for argument description.
| typedef int(* video_api_enqueue_t) (const struct device *dev, struct video_buffer *buf) |
#include <zephyr/drivers/video.h>
Callback API to enqueue a buffer in the driver incoming queue.
See video_enqueue() for argument description.
| typedef int(* video_api_enum_frmival_t) (const struct device *dev, struct video_frmival_enum *fie) |
#include <zephyr/drivers/video.h>
Callback API to enumerate supported frame intervals for a format.
See video_enum_frmival() for argument description.
#include <zephyr/drivers/video.h>
Callback API to flush endpoint buffers.
See video_flush() for argument description.
| typedef int(* video_api_format_t) (const struct device *dev, struct video_format *fmt) |
#include <zephyr/drivers/video.h>
Callback API to set or get video format.
See video_set_format() and video_get_format() for argument description.
| typedef int(* video_api_frmival_t) (const struct device *dev, struct video_frmival *frmival) |
#include <zephyr/drivers/video.h>
Callback API to set or get video frame interval.
See video_set_frmival() and video_get_frmival() for argument description.
| typedef int(* video_api_get_caps_t) (const struct device *dev, struct video_caps *caps) |
#include <zephyr/drivers/video.h>
Callback API to get capabilities of a video endpoint.
See video_get_caps() for argument description.
| typedef int(* video_api_selection_t) (const struct device *dev, struct video_selection *sel) |
#include <zephyr/drivers/video.h>
Callback API to set or get video selection (crop/compose).
| typedef int(* video_api_set_signal_t) (const struct device *dev, struct k_poll_signal *sig) |
#include <zephyr/drivers/video.h>
Callback API to register or unregister poll signal for buffer events.
See video_set_signal() for argument description.
| typedef int(* video_api_set_stream_t) (const struct device *dev, bool enable, enum video_buf_type type) |
#include <zephyr/drivers/video.h>
Callback API to start or stop streaming on the video device.
Start (enable == true) or stop (enable == false) streaming on the video device.
| dev | Pointer to the device structure. |
| enable | If true, start streaming, otherwise stop streaming. |
| type | The type of the buffers stream to start or stop. |
| 0 | on success, otherwise a negative errno code. |
| typedef int(* video_api_transform_cap_t) (const struct device *const dev, const struct video_format_cap *const cap, struct video_format_cap *const res_cap, enum video_buf_type type, uint16_t ind) |
#include <zephyr/drivers/video.h>
Callback API to transform a format capability across m2m device endpoints.
See video_transform_cap() for argument description.