Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
Video Driver Backend API

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).

Detailed Description

This group contains the API type definitions, callback signatures, and other helpers required to implement a Video driver.

Typedef Documentation

◆ video_api_ctrl_t

typedef int(* video_api_ctrl_t) (const struct device *dev, uint32_t cid)

#include <zephyr/drivers/video.h>

Callback API to set or get a video control value.

Parameters
devPointer to the device structure.
cidId of the control to set/get its value.

◆ video_api_dequeue_t

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.

◆ video_api_enqueue_t

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.

◆ video_api_enum_frmival_t

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.

◆ video_api_flush_t

typedef int(* video_api_flush_t) (const struct device *dev, bool cancel)

#include <zephyr/drivers/video.h>

Callback API to flush endpoint buffers.

See video_flush() for argument description.

◆ video_api_format_t

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.

◆ video_api_frmival_t

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.

◆ video_api_get_caps_t

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.

◆ video_api_selection_t

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).

◆ video_api_set_signal_t

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.

◆ video_api_set_stream_t

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.

Parameters
devPointer to the device structure.
enableIf true, start streaming, otherwise stop streaming.
typeThe type of the buffers stream to start or stop.
Returns
0 on success, negative errno value on failure.

◆ video_api_transform_cap_t

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.