2022-08-18 21:41:19 +08:00
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2022, sakumisu
|
2021-07-10 18:31:58 +08:00
|
|
|
*
|
2022-08-18 21:41:19 +08:00
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2021-07-10 18:31:58 +08:00
|
|
|
*/
|
2022-08-18 21:41:19 +08:00
|
|
|
#ifndef USBD_VIDEO_H
|
|
|
|
|
#define USBD_VIDEO_H
|
2021-07-10 18:31:58 +08:00
|
|
|
|
2021-11-26 23:41:59 +08:00
|
|
|
#include "usb_video.h"
|
|
|
|
|
|
2021-07-10 18:31:58 +08:00
|
|
|
#ifdef __cplusplus
|
|
|
|
|
extern "C" {
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-05-25 11:00:35 +08:00
|
|
|
void usbd_video_add_interface(usbd_class_t *devclass, usbd_interface_t *intf);
|
2022-02-12 18:50:09 +08:00
|
|
|
|
2022-03-26 16:07:28 +08:00
|
|
|
void usbd_video_open(uint8_t intf);
|
|
|
|
|
void usbd_video_close(uint8_t intf);
|
2022-02-24 17:43:10 +08:00
|
|
|
void usbd_video_probe_and_commit_controls_init(uint32_t dwFrameInterval, uint32_t dwMaxVideoFrameSize, uint32_t dwMaxPayloadTransferSize);
|
|
|
|
|
uint32_t usbd_video_mjpeg_payload_fill(uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len);
|
|
|
|
|
void usbd_video_mjpeg_payload_header_toggle(uint8_t *output, uint32_t packets);
|
2022-05-25 11:00:35 +08:00
|
|
|
void usbd_video_sof_callback(void);
|
2021-07-10 18:31:58 +08:00
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
2022-08-18 21:41:19 +08:00
|
|
|
#endif /* USBD_VIDEO_H */
|