update(class/video/usbd_video): make payload fill api common

This commit is contained in:
sakumisu
2024-06-23 22:46:51 +08:00
parent 1decfd0365
commit c377ebfc61
7 changed files with 9 additions and 9 deletions

View File

@@ -761,7 +761,7 @@ struct usbd_interface *usbd_video_init_intf(uint8_t busid, struct usbd_interface
return intf; return intf;
} }
uint32_t usbd_video_mjpeg_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len) uint32_t usbd_video_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len)
{ {
uint32_t packets; uint32_t packets;
uint32_t last_packet_size; uint32_t last_packet_size;

View File

@@ -20,7 +20,7 @@ struct usbd_interface *usbd_video_init_intf(uint8_t busid, struct usbd_interface
void usbd_video_open(uint8_t busid, uint8_t intf); void usbd_video_open(uint8_t busid, uint8_t intf);
void usbd_video_close(uint8_t busid, uint8_t intf); void usbd_video_close(uint8_t busid, uint8_t intf);
uint32_t usbd_video_mjpeg_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len); uint32_t usbd_video_payload_fill(uint8_t busid, uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -477,7 +477,7 @@ void video_test(uint8_t busid)
memset(video_packet_buffer, 0, 40 * 1024); memset(video_packet_buffer, 0, 40 * 1024);
while (1) { while (1) {
if (video_tx_flag) { if (video_tx_flag) {
packets = usbd_video_mjpeg_payload_fill(busid, (uint8_t *)cherryusb_mjpeg, sizeof(cherryusb_mjpeg), video_packet_buffer, &out_len); packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_mjpeg, sizeof(cherryusb_mjpeg), video_packet_buffer, &out_len);
#if 1 #if 1
video_iso_tx_busy = true; video_iso_tx_busy = true;
usbd_ep_start_write(busid, VIDEO_IN_EP, video_packet_buffer, out_len); usbd_ep_start_write(busid, VIDEO_IN_EP, video_packet_buffer, out_len);

View File

@@ -213,7 +213,7 @@ void video_test(uint8_t busid)
memset(packet_buffer, 0, 40 * 1024); memset(packet_buffer, 0, 40 * 1024);
while (1) { while (1) {
if (tx_flag) { if (tx_flag) {
packets = usbd_video_mjpeg_payload_fill(busid, (uint8_t *)cherryusb_h264, sizeof(cherryusb_h264), packet_buffer, &out_len); packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_h264, sizeof(cherryusb_h264), packet_buffer, &out_len);
#if 1 #if 1
iso_tx_busy = true; iso_tx_busy = true;
usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len); usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len);

View File

@@ -213,7 +213,7 @@ void video_test(uint8_t busid)
memset(packet_buffer, 0, 40 * 1024); memset(packet_buffer, 0, 40 * 1024);
while (1) { while (1) {
if (tx_flag) { if (tx_flag) {
packets = usbd_video_mjpeg_payload_fill(busid, (uint8_t *)cherryusb_mjpeg, sizeof(cherryusb_mjpeg), packet_buffer, &out_len); packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_mjpeg, sizeof(cherryusb_mjpeg), packet_buffer, &out_len);
#if 1 #if 1
iso_tx_busy = true; iso_tx_busy = true;
usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len); usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len);

View File

@@ -215,7 +215,7 @@ void video_test(uint8_t busid)
memset(packet_buffer, 0, 40 * 1024); memset(packet_buffer, 0, 40 * 1024);
while (1) { while (1) {
if (tx_flag) { if (tx_flag) {
packets = usbd_video_mjpeg_payload_fill(busid, (uint8_t *)cherryusb_yuyv, sizeof(cherryusb_yuyv), packet_buffer, &out_len); packets = usbd_video_payload_fill(busid, (uint8_t *)cherryusb_yuyv, sizeof(cherryusb_yuyv), packet_buffer, &out_len);
#if 1 #if 1
iso_tx_busy = true; iso_tx_busy = true;
usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len); usbd_ep_start_write(busid, VIDEO_IN_EP, packet_buffer, out_len);

View File

@@ -453,14 +453,14 @@ usbd_video_close
- **intf** 关闭的接口号 - **intf** 关闭的接口号
usbd_video_mjpeg_payload_fill usbd_video_payload_fill
"""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""
``usbd_video_mjpeg_payload_fill`` 用来填充 mjpeg 到新的 buffer中其中会对 mjpeg 数据按帧进行切分,切分大小由 ``dwMaxPayloadTransferSize`` 控制,并添加头部信息,当前头部字节数为 2。头部信息见 ``struct video_mjpeg_payload_header`` ``usbd_video_payload_fill`` 用来填充 mjpeg 到新的 buffer中其中会对 mjpeg 数据按帧进行切分,切分大小由 ``dwMaxPayloadTransferSize`` 控制,并添加头部信息,当前头部字节数为 2。头部信息见 ``struct video_mjpeg_payload_header``
.. code-block:: C .. code-block:: C
uint32_t usbd_video_mjpeg_payload_fill(uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len); uint32_t usbd_video_payload_fill(uint8_t *input, uint32_t input_len, uint8_t *output, uint32_t *out_len);
- **input** mjpeg 格式的数据包,从 FFD8~FFD9结束 - **input** mjpeg 格式的数据包,从 FFD8~FFD9结束
- **input_len** mjpeg数据包大小 - **input_len** mjpeg数据包大小