update(class/video/usbd_video): make payload fill api common
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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数据包大小
|
||||||
|
|||||||
Reference in New Issue
Block a user