eclipse-threadx / usbx

Eclipse ThreadX - USBX is a high-performance USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with Eclipse ThreadX RTOS
https://github.com/eclipse-threadx/rtos-docs/blob/main/rtos-docs/usbx/index.md
MIT License
154 stars 89 forks source link

Update usbx/common/usbx_host_classes/inc/ux_host_class_video.h as per latest UVC 1.5 specification. #16

Closed parthindia47 closed 3 years ago

parthindia47 commented 3 years ago

Hi,

It seems header file for video host class is not matching UVC 1.5 specification < https://www.usb.org/document-library/video-class-v15-document-set >. for example ux_host_class_video.h mentions:

/ Define Video Class specific VS . /

#define UX_HOST_CLASS_VIDEO_VS_UNDEFINED                                                    0x00
#define UX_HOST_CLASS_VIDEO_VS_INPUT_HEADER                                                 0x01
#define UX_HOST_CLASS_VIDEO_VS_OUTPUT_HEADER                                                0x02
#define UX_HOST_CLASS_VIDEO_VS_STILL_IMAGE_FRAME                                            0x03
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_UNCOMPRESSED                                          0x04
#define UX_HOST_CLASS_VIDEO_VS_FRAME_UNCOMPRESSED                                           0x05
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_MJPEG                                                 0x06
#define UX_HOST_CLASS_VIDEO_VS_FRAME_MJPEG                                                  0x07
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_MPEG2TS                                               0x0A
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_DV                                                    0x0C
#define UX_HOST_CLASS_VIDEO_VS_COLORFORMAT                                                  0x0D
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_FRAME_BASED                                           0x10
#define UX_HOST_CLASS_VIDEO_VS_FRAME_FRAME_BASED                                            0x11
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_STREAM_BASED                                          0x12

But there are other subtypes as well on page 172 , UVC 1.5 specification < https://www.usb.org/document-library/video-class-v15-document-set >. Ideally following should be added :

#define UX_HOST_CLASS_VIDEO_VS_FORMAT_H264                                          0x13
#define UX_HOST_CLASS_VIDEO_VS__FRAME_H264                                          0x14
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_H264_SIMULCAST                                0x15
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_VP8                                          0x16
#define UX_HOST_CLASS_VIDEO_VS_FRAME_VP8                                           0x17
#define UX_HOST_CLASS_VIDEO_VS_FORMAT_VP8_SIMULCAST                                0x18

This is just an example entire file need an update.

xiaocq2001 commented 3 years ago

Thanks for the feedback. We will update the file for 1.5 spec.

xiaocq2001 commented 3 years ago

Updated in 6.1.8

parthindia47 commented 3 years ago

thanks I will test this