7#ifndef _MWUSB_CAPTURE_EXTENSION_H_
8#define _MWUSB_CAPTURE_EXTENSION_H_
12#include "MWCaptureExtension.h"
21typedef void* HUSBCHANNEL;
23enum _MWCAP_HID_EXTENSION {
25 MWCAP_HID_CHANNEL_INFO = 1,
26 MWCAP_HID_FAMILY_INFO,
33 MWCAP_HID_POST_RECONFIG,
36 MWCAP_HID_NOTIFY_ENABLE,
37 MWCAP_HID_NOITFY_STATUS,
40 MWCAP_HID_VIDEO_INPUT_SOURCE_ARRAY,
41 MWCAP_HID_AUDIO_INPUT_SOURCE_ARRAY,
43 MWCAP_HID_INPUT_SOURCE_SCAN,
44 MWCAP_HID_INPUT_SOURCE_SCAN_STATE,
45 MWCAP_HID_AV_INPUT_SOURCE_LINK,
46 MWCAP_HID_VIDEO_INPUT_SOURCE,
47 MWCAP_HID_AUDIO_INPUT_SOURCE,
50 MWCAP_HID_INPUT_SPECIFIC_STATUS,
51 MWCAP_HID_VIDEO_SIGNAL_STATUS,
52 MWCAP_HID_AUDIO_SIGNAL_STATUS,
55 MWCAP_HID_VIDEO_INPUT_ASPECT_RATIO,
56 MWCAP_HID_VIDEO_INPUT_COLOR_FORMAT,
57 MWCAP_HID_VIDEO_INPUT_QUANTIZATION_RANGE,
59 MWCAP_HID_VIDEO_CAPTURE_CONNECTION_FORMAT,
60 MWCAP_HID_VIDEO_CAPTURE_PROCESS_SETTINGS,
63 MWCAP_HID_VIDEO_OUTPUT_FOURCC,
64 MWCAP_HID_VIDEO_OUTPUT_FRAME_SIZE,
65 MWCAP_HID_VIDEO_OUTPUT_FRAME_INTERVAL,
68 MWCAP_HID_VIDEO_AUTO_H_ALIGN = 0x90,
69 MWCAP_HID_VIDEO_SAMPLING_PHASE,
70 MWCAP_HID_VIDEO_SAMPLING_PHASE_AUTO,
71 MWCAP_HID_VIDEO_TIMING,
72 MWCAP_HID_VIDEO_PREFERRED_TIMING_ARRAY,
73 MWCAP_HID_VIDEO_CUSTOM_TIMING,
74 MWCAP_HID_VIDEO_CUSTOM_TIMING_ARRAY,
75 MWCAP_HID_VIDEO_CUSTOM_RESOLUTION_ARRAY,
79 MWCAP_HID_EDID_LOOP_THROUGH,
82 MWCAP_HID_LOOP_THROUGH,
85 MWCAP_HID_HDMI_INFOFRAME_VALID = 0xA0,
86 MWCAP_HID_HDMI_INFOFRAME_AVI,
87 MWCAP_HID_HDMI_INFOFRAME_AUDIO,
88 MWCAP_HID_HDMI_INFOFRAME_SPD,
89 MWCAP_HID_HDMI_INFOFRAME_MS,
90 MWCAP_HID_HDMI_INFOFRAME_VS,
91 MWCAP_HID_HDMI_INFOFRAME_ACP,
92 MWCAP_HID_HDMI_INFOFRAME_ISRC1,
93 MWCAP_HID_HDMI_INFOFRAME_ISRC2,
94 MWCAP_HID_HDMI_INFOFRAME_GAMUT,
97 MWCAP_HID_AUDIO_VOLUME_MICROPHONE = 0xB0,
98 MWCAP_HID_AUDIO_VOLUME_HEADPHONE,
99 MWCAP_HID_AUDIO_VOLUME_LINE_IN,
100 MWCAP_HID_AUDIO_VOLUME_LINE_OUT,
101 MWCAP_HID_AUDIO_VOLUME_EMBEDDED_CAPTURE,
102 MWCAP_HID_AUDIO_VOLUME_EMBEDDED_PLAYBACK,
103 MWCAP_HID_AUDIO_VOLUME_USB_CAPTURE,
104 MWCAP_HID_AUDIO_VOLUME_USB_PLAYBACK,
111 MWCAP_HID_FIRMWARE_STORAGE = 0xF0,
112 MWCAP_HID_FIRMWARE_ERASE,
113 MWCAP_HID_FIRMWARE_READ_ADDRESS,
114 MWCAP_HID_FIRMWARE_DATA,
115 MWCAP_HID_FIRMWARE_WIP,
118 MWCAP_HID_STATUS_IMAGE_MODE = 0xFC,
119 MWCAP_HID_DEVICE_NAME_MODE = 0xFD,
120 MWCAP_HID_OPTIONS_CONTROL = 0xFE,
123 MWCAP_HID_EXTENSION_SUPPORTED = 0xFF
126typedef enum _MWUSBHOT_PLUG_EVETN {
127 USBHOT_PLUG_EVENT_DEVICE_ARRIVED = 1,
128 USBHOT_PLUG_EVENT_DEVICE_LEFT,
131typedef void(*LPFN_HOT_PLUG_CALLBACK)(MWUSBHOT_PLUG_EVETN event,
const char *pszDevicePath,
void* pParam);
133#define MW_SERIAL_NO_LEN 16
134#define MW_FAMILY_NAME_LEN 64
135#define MW_PRODUCT_NAME_LEN 64
136#define MW_FIRMWARE_NAME_LEN 64
153 uint8_t byNumInputSource;
154 uint32_t adwInputSources[16];
164typedef enum _MWCAP_EDID_MODE {
165 MWCAP_EDID_MODE_FIXED = 0x01,
166 MWCAP_EDID_MODE_KEEP_LAST = 0x02,
167 MWCAP_EDID_MODE_ADD_AUDIO = 0x04,
168 MWCAP_EDID_MODE_LIMIT_PIXEL_CLOCK = 0x08
171#define MWCAP_MAX_NUM_AUDIO_CHANNEL 16
180 bool_t abMute[MWCAP_MAX_NUM_AUDIO_CHANNEL];
181 int16_t asVolume[MWCAP_MAX_NUM_AUDIO_CHANNEL];
184typedef enum _MWCAP_USB_AUDIO_NODE {
185 MWCAP_USB_AUDIO_MICROPHONE,
186 MWCAP_USB_AUDIO_HEADPHONE,
187 MWCAP_USB_AUDIO_LINE_IN,
188 MWCAP_USB_AUDIO_LINE_OUT,
189 MWCAP_USB_AUDIO_EMBEDDED_CAPTURE,
190 MWCAP_USB_AUDIO_EMBEDDED_PLAYBACK,
191 MWCAP_USB_AUDIO_USB_CAPTURE,
192 MWCAP_USB_AUDIO_USB_PLAYBACK
193} MWCAP_USB_AUDIO_NODE ;
202#define MWCAP_MAX_NUM_VIDEO_OUTPUT_FOURCC 3
203#define MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_SIZE 24
204#define MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_INTERVAL 8
208 uint32_t adwFOURCCs[MWCAP_MAX_NUM_VIDEO_OUTPUT_FOURCC];
219 MWSIZE aSizes[MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_SIZE];
225 uint32_t adwIntervals[MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_INTERVAL];
228typedef enum _MWCAP_STATUS_IMAGE_MODE {
229 MWCAP_STATUS_IMAGE_DEFAULT,
230 MWCAP_STATUS_IMAGE_BLUE,
231 MWCAP_STATUS_IMAGE_BLACK
232}MWCAP_STATUS_IMAGE_MODE;
234typedef enum _MWCAP_DEVICE_NAME_MODE {
235 MWCAP_DEVICE_NAME_DEFAULT,
236 MWCAP_DEVICE_NAME_SERIAL_NUMBER
237} MWCAP_DEVICE_NAME_MODE;
239typedef enum _MWCAP_OPTIONS_CONTROL {
243} MWCAP_OPTIONS_CONTROL;
246 uint8_t byNumTimings;
251 uint8_t byNumCustomTimings;
256 uint8_t byNumCustomResolutions;
257 MWSIZE aCustomResolutions[16];
267 int nFrameDurationDen;
268 int nFrameDurationNum;
273#define MWCAP_USB_VIDEO_CAP_HDMI_LOOP_THROUGH 0x00000001
274#define MWCAP_USB_VIDEO_CAP_SDI_LOOP_THROUGH 0x00000002
275#define MWCAP_USB_VIDEO_CAP_PLANAR_FORMAT 0x00000004
277#define MWCAP_USB_AUDIO_CAP_MICROPHONE (1 << MWCAP_USB_AUDIO_MICROPHONE)
278#define MWCAP_USB_AUDIO_CAP_HEADPHONE (1 << MWCAP_USB_AUDIO_HEADPHONE)
279#define MWCAP_USB_AUDIO_CAP_LINE_IN (1 << MWCAP_USB_AUDIO_LINE_IN)
280#define MWCAP_USB_AUDIO_CAP_LINE_OUT (1 << MWCAP_USB_AUDIO_LINE_OUT)
281#define MWCAP_USB_AUDIO_CAP_EMBEDDED_CAPTURE (1 << MWCAP_USB_AUDIO_EMBEDDED_CAPTURE)
282#define MWCAP_USB_AUDIO_CAP_EMBEDDED_PLAYBACK (1 << MWCAP_USB_AUDIO_EMBEDDED_PLAYBACK)
283#define MWCAP_USB_AUDIO_CAP_USB_CAPTURE (1 << MWCAP_USB_AUDIO_USB_CAPTURE)
284#define MWCAP_USB_AUDIO_CAP_USB_PLAYBACK (1 << MWCAP_USB_AUDIO_USB_PLAYBACK)
286#define MWCAP_NOTIFY_VOLUME_MICROPHONE (1ULL << (48 + MWCAP_USB_AUDIO_MICROPHONE))
287#define MWCAP_NOTIFY_VOLUME_HEADPHONE (1ULL << (48 + MWCAP_USB_AUDIO_HEADPHONE))
288#define MWCAP_NOTIFY_VOLUME_LINE_IN (1ULL << (48 + MWCAP_USB_AUDIO_LINE_IN))
289#define MWCAP_NOTIFY_VOLUME_LINE_OUT (1ULL << (48 + MWCAP_USB_AUDIO_LINE_OUT))
290#define MWCAP_NOTIFY_VOLUME_EMBEDDED_CAPTURE (1ULL << (48 + MWCAP_USB_AUDIO_EMBEDDED_CAPTURE))
291#define MWCAP_NOTIFY_VOLUME_EMBEDDED_PLAYBACK (1ULL << (48 + MWCAP_USB_AUDIO_EMBEDDED_PLAYBACK))
292#define MWCAP_NOTIFY_VOLUME_USB_CAPTURE (1ULL << (48 + MWCAP_USB_AUDIO_USB_CAPTURE))
293#define MWCAP_NOTIFY_VOLUME_USB_PLAYBACK (1ULL << (48 + MWCAP_USB_AUDIO_USB_PLAYBACK))
295enum _MWCAP_USB_SPEED_TYPE {
296 MWCAP_USB_FULL_SPEED = 0x01,
297 MWCAP_USB_HIGH_SPEED = 0x02,
298 MWCAP_USB_SUPER_SPEED_GEN1 = 0x03,
299 MWCAP_USB_SUPER_SPEED_GEN2 = 0x04
303#define MWCAP_HID_EXTENSION_HDMI 0x00000001
304#define MWCAP_HID_EXTENSION_TIMING 0x00000002
305#define MWCAP_HID_EXTENSION_VOLUME 0x00000004
307#define MWCAP_MAX_NUM_AUDIO_CHANNEL 16
309#define MWCAP_MAX_NUM_VIDEO_OUTPUT_FOURCC 3
310#define MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_SIZE 24
311#define MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_INTERVAL 8
struct _MWUSBCAP_CAPTURE_INFO MWUSBCAP_CAPTURE_INFO
MWUSBCAP_CAPTURE_INFO.
Definition: MWUSBCaptureExtension.h:173
Definition: MWUSBCaptureExtension.h:157
Definition: MWUSBCaptureExtension.h:152
Definition: MWUSBCaptureExtension.h:255
Definition: MWUSBCaptureExtension.h:250
MWCAP_VIDEO_CUSTOM_TIMING.
Definition: MWCaptureExtension.h:1547
Definition: MWUSBCaptureExtension.h:266
Definition: MWUSBCaptureExtension.h:260
Definition: MWUSBCaptureExtension.h:206
Definition: MWUSBCaptureExtension.h:222
Definition: MWUSBCaptureExtension.h:216
Definition: MWUSBCaptureExtension.h:245
MWCAP_VIDEO_TIMING.
Definition: MWCaptureExtension.h:330
Definition: MWUSBCaptureExtension.h:195
Definition: MWUSBCaptureExtension.h:211
MWUSBCAP_CAPTURE_INFO.
Definition: MWUSBCaptureExtension.h:145
uint32_t cbFreeMemorySize
Free memory size.
Definition: MWUSBCaptureExtension.h:149
uint32_t cbTotalMemorySize
Total memory size.
Definition: MWUSBCaptureExtension.h:148
uint8_t byUSBSpeed
USB speed: 1.0, 2.0, 3.0.
Definition: MWUSBCaptureExtension.h:146
uint8_t byBoardIndex
The value is 0.
Definition: MWUSBCaptureExtension.h:147