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 control stream status.
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.

See video_driver_set_ctrl() and video_driver_get_volatile_ctrl() for argument description.

◆ 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_driver_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_driver_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_driver_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_driver_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_driver_set_format() and video_driver_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_driver_set_frmival() and video_driver_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).

See video_driver_set_selection() and video_driver_get_selection() for argument description.

◆ 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 control stream status.

See video_driver_set_stream() for argument description.

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