MWCapture SDK Mac  3.3.0.12920
MWUSBCapture.h
1 /************************************************************************************************/
2 // MWUSBCapture.h : header file
3 
4 // MAGEWELL PROPRIETARY INFORMATION
5 
6 // The following license only applies to head files and library within Magewell's SDK
7 // and not to Magewell's SDK as a whole.
8 
9 // Copyrights ? Nanjing Magewell Electronics Co., Ltd. ("Magewell") All rights reserved.
10 
11 // Magewell grands to any person who obtains the copy of Magewell's head files and library
12 // the rights,including without limitation, to use on the condition that the following terms are met:
13 // - The above copyright notice shall be retained in any circumstances.
14 // -The following disclaimer shall be included in the software and documentation and/or
15 // other materials provided for the purpose of publish, distribution or sublicense.
16 
17 // THE SOFTWARE IS PROVIDED BY MAGEWELL "AS IS" AND ANY EXPRESS, INCLUDING BUT NOT LIMITED TO,
18 // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 // IN NO EVENT SHALL MAGEWELL BE LIABLE
20 
21 // FOR ANY CLAIM, DIRECT OR INDIRECT DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT,
22 // TORT OR OTHERWISE, ARISING IN ANY WAY OF USING THE SOFTWARE.
23 
24 // CONTACT INFORMATION:
25 // SDK@magewell.net
26 // http://www.magewell.com/
27 //
28 /************************************************************************************************/
29 #ifndef _MWUSB_CAPTURE_H_
30 #define _MWUSB_CAPTURE_H_
31 
32 #ifdef LIBMWCAPTURE_EXPORTS
33 #define LIBMWCAPTURE_API __declspec(dllexport)
34 #elif LIBMWCAPTURE_DLL
35 #define LIBMWCAPTURE_API __declspec(dllimport)
36 #else
37 #define LIBMWCAPTURE_API
38 #endif
39 
40 #ifdef _WIN32
41 #include <Windows.h>
42 #endif
43 #include <stdint.h>
44 #include "MWUSBCaptureExtension.h"
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
56 MW_RESULT
57 LIBMWCAPTURE_API
59  LPFN_HOT_PLUG_CALLBACK lpfnCallback,
60  void * pParam
61  );
62 
68 MW_RESULT
69 LIBMWCAPTURE_API
71  );
72 
80 MW_RESULT
81 LIBMWCAPTURE_API
83  HUSBCHANNEL hChannel,
84  MWCAP_NOTIFY_ENABLE * pNotify
85  );
86 
94 MW_RESULT
95 LIBMWCAPTURE_API
97  HUSBCHANNEL hChannel,
98  uint64_t * pullStatusBit
99  );
100 
109 MW_RESULT
110 LIBMWCAPTURE_API
112  HUSBCHANNEL hChannel,
113  uint32_t cbOffset,
114  uint32_t cbErase
115  );
116 
124 MW_RESULT
125 LIBMWCAPTURE_API
127  HUSBCHANNEL hChannel,
128  uint32_t * pdwAddress
129  );
130 
139 MW_RESULT
140 LIBMWCAPTURE_API
142  HUSBCHANNEL hChannel,
143  char * pbyEDID,
144  uint32_t * pcbEDID
145  );
146 
154 MW_RESULT
155 LIBMWCAPTURE_API
157  HUSBCHANNEL hChannel,
158  bool_t * pbValid
159  );
160 
169 MW_RESULT
170 LIBMWCAPTURE_API
172  HUSBCHANNEL hChannel,
173  MWCAP_USB_AUDIO_NODE audioNode,
174  MWCAP_AUDIO_VOLUME* pVolume
175  );
176 
185 MW_RESULT
186 LIBMWCAPTURE_API
188  HUSBCHANNEL hChannel,
189  MWCAP_USB_AUDIO_NODE audioNode,
190  MWCAP_AUDIO_VOLUME* pVolume
191  );
192 
200 MW_RESULT
201 LIBMWCAPTURE_API
203  HUSBCHANNEL hChannel,
204  MWCAP_VIDEO_CONNECTION_FORMAT* pConnFormat
205  );
206 
214 MW_RESULT
215 LIBMWCAPTURE_API
217  HUSBCHANNEL hChannel,
218  MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
219  );
220 
228 MW_RESULT
229 LIBMWCAPTURE_API
231  HUSBCHANNEL hChannel,
232  MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
233  );
234 
242 MW_RESULT
243 LIBMWCAPTURE_API
245  HUSBCHANNEL hChannel,
246  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
247  );
248 
256 MW_RESULT
257 LIBMWCAPTURE_API
259  HUSBCHANNEL hChannel,
260  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
261  );
262 
270 MW_RESULT
271 LIBMWCAPTURE_API
273  HUSBCHANNEL hChannel,
275  );
276 
284 MW_RESULT
285 LIBMWCAPTURE_API
287  HUSBCHANNEL hChannel,
289  );
290 
298 MW_RESULT
299 LIBMWCAPTURE_API
301  HUSBCHANNEL hChannel,
302  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
303  );
304 
312 MW_RESULT
313 LIBMWCAPTURE_API
315  HUSBCHANNEL hChannel,
316  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
317  );
318 
326 MW_RESULT
327 LIBMWCAPTURE_API
329  HUSBCHANNEL hChannel,
330  MWCAP_STATUS_IMAGE_MODE * pImageMode
331  );
332 
340 MW_RESULT
341 LIBMWCAPTURE_API
343  HUSBCHANNEL hChannel,
344  MWCAP_STATUS_IMAGE_MODE * pImageMode
345  );
346 
354 MW_RESULT
355 LIBMWCAPTURE_API
357  HUSBCHANNEL hChannel,
358  MWCAP_DEVICE_NAME_MODE * pNameMode
359  );
360 
368 MW_RESULT
369 LIBMWCAPTURE_API
371  HUSBCHANNEL hChannel,
372  MWCAP_DEVICE_NAME_MODE * pNameMode
373  );
374 
381 MW_RESULT
382 LIBMWCAPTURE_API
384  HUSBCHANNEL hChannel
385  );
386 
393 MW_RESULT
394 LIBMWCAPTURE_API
396  HUSBCHANNEL hChannel
397  );
398 
405 MW_RESULT
406 LIBMWCAPTURE_API
408  HUSBCHANNEL hChannel
409  );
410 
418 MW_RESULT
419 LIBMWCAPTURE_API
421  HUSBCHANNEL hChannel,
422  bool_t * pbAutoHAlign
423  );
424 
432 MW_RESULT
433 LIBMWCAPTURE_API
435  HUSBCHANNEL hChannel,
436  bool_t pbAutoHAlign
437  );
438 
446 MW_RESULT
447 LIBMWCAPTURE_API
449  HUSBCHANNEL hChannel,
450  uint8_t * puSamplingPhase
451  );
452 
460 MW_RESULT
461 LIBMWCAPTURE_API
463  HUSBCHANNEL hChannel,
464  uint8_t* puSamplingPhase
465  );
466 
474 MW_RESULT
475 LIBMWCAPTURE_API
477  HUSBCHANNEL hChannel,
478  bool_t * pbAutoSamplingPhase
479  );
480 
488 MW_RESULT
489 LIBMWCAPTURE_API
491  HUSBCHANNEL hChannel,
492  bool_t * pbAutoSamplingPhase
493  );
494 
502 MW_RESULT
503 LIBMWCAPTURE_API
505  HUSBCHANNEL hChannel,
506  MWCAP_VIDEO_TIMING * pTiming
507  );
508 
516 MW_RESULT
517 LIBMWCAPTURE_API
519  HUSBCHANNEL hChannel,
520  MWCAP_VIDEO_TIMING_ARRAY * paTimings
521  );
522 
530 MW_RESULT
531 LIBMWCAPTURE_API
533  HUSBCHANNEL hChannel,
534  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
535  );
536 
544 MW_RESULT
545 LIBMWCAPTURE_API
547  HUSBCHANNEL hChannel,
548  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
549  );
550 
558 MW_RESULT
559 LIBMWCAPTURE_API
561  HUSBCHANNEL hChannel,
562  MWCAP_VIDEO_CUSTOM_TIMING * pCustomTiming
563  );
564 
572 MW_RESULT
573 LIBMWCAPTURE_API
575  HUSBCHANNEL hChannel,
576  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
577  );
578 
586 MW_RESULT
587 LIBMWCAPTURE_API
589  HUSBCHANNEL hChannel,
590  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
591  );
592 
600 MW_RESULT
601 LIBMWCAPTURE_API
603  HUSBCHANNEL hChannel,
604  uint32_t * pdwFlag
605  );
606 
614 MW_RESULT
615 LIBMWCAPTURE_API
616 MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t * pbScanning);
624 MW_RESULT
625 LIBMWCAPTURE_API
626 MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE * pMode);
634 MW_RESULT
635 LIBMWCAPTURE_API
636 MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode);
637 
638 
647 MW_RESULT
648 LIBMWCAPTURE_API
649 MWUSBGetVideoCaptureSupportFrameRate(
650  HCHANNEL hChannel,
651  MWCAP_VIDEO_FRAMERATE* pFramerate,
652  int* nCount
653 );
654 
655 
664 MW_RESULT
665 LIBMWCAPTURE_API
666 MWUSBGetVideoCaptureSupportFrameRateEx(
667  HCHANNEL hChannel,
668  MWCAP_VIDEO_FRAMERATE_EX* pFramerate,
669  int* nCount
670 );
671 
672 
673 
674 #ifdef __cplusplus
675 }
676 #endif
677 
678 
679 #endif //_MWUSB_CAPTURE_H_
MWUSBRegisterHotPlug
MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug(LPFN_HOT_PLUG_CALLBACK lpfnCallback, void *pParam)
Registers notification event of device hot plug.
_MWCAP_VIDEO_CUSTOM_TIMING
MWCAP_VIDEO_CUSTOM_TIMING.
Definition: MWCaptureExtension.h:1572
_MWCAP_VIDEO_TIMING
MWCAP_VIDEO_TIMING.
Definition: MWCaptureExtension.h:330
MWUSBGetFirmwareReadAddress
MW_RESULT LIBMWCAPTURE_API MWUSBGetFirmwareReadAddress(HUSBCHANNEL hChannel, uint32_t *pdwAddress)
Gets read address of USB device firmware.
MWUSBSetVideoAutoHAlign
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoAutoHAlign(HUSBCHANNEL hChannel, bool_t pbAutoHAlign)
Sets video horizontal alignment.
MWUSBSetDeviceNameMode
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Sets device name pattern of USB device.
_MWCAP_VIDEO_CONNECTION_FORMAT
MWCAP_VIDEO_CONNECTION_FORMAT.
Definition: MWCaptureExtension.h:1431
MWUSBGetVideoCaptureConnectionFormat
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureConnectionFormat(HUSBCHANNEL hChannel, MWCAP_VIDEO_CONNECTION_FORMAT *pConnFormat)
Get the capture format related parameters of the video capture device.
MWUSBSetCustomVideoResolutions
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoResolutions(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Sets customize video resolutions.
MWUSBSetAudioVolume
MW_RESULT LIBMWCAPTURE_API MWUSBSetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Sets the volume of USB audio device.
MWUSBGetVideoOutputFOURCC
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Gets output video format of the video capture device.
_MWCAP_VIDEO_OUTPUT_FOURCC
Definition: MWUSBCaptureExtension.h:206
MWUSBSetVideoSamplingPhase
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoSamplingPhase(HUSBCHANNEL hChannel, uint8_t *puSamplingPhase)
Sets video sampling phase.
MWUSBGetVideoSamplingPhaseAutoAdjust
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoSamplingPhaseAutoAdjust(HUSBCHANNEL hChannel, bool_t *pbAutoSamplingPhase)
Gets whether video sampling phase is auto adjusted.
MWUSBSetEDIDMode
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode)
Sets the edid mode.
MWUSBGetPreferredVideoTimings
MW_RESULT LIBMWCAPTURE_API MWUSBGetPreferredVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_TIMING_ARRAY *paTimings)
Gets video preferred timings.
MWUSBSetFirmwareErase
MW_RESULT LIBMWCAPTURE_API MWUSBSetFirmwareErase(HUSBCHANNEL hChannel, uint32_t cbOffset, uint32_t cbErase)
Erases firmware data from USB device.
_MWCAP_VIDEO_TIMING_ARRAY
Definition: MWUSBCaptureExtension.h:245
MWUSBGetStatusImageMode
MW_RESULT LIBMWCAPTURE_API MWUSBGetStatusImageMode(HUSBCHANNEL hChannel, MWCAP_STATUS_IMAGE_MODE *pImageMode)
Gets the image pattern showed when there is not a valid input signal.
MWUSBGetVideoOutputFrameSize
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Gets resolutions of captured images supported by the USB device.
MWUSBSetVideoCaptureProcessSettings
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoCaptureProcessSettings(HUSBCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *pProcSettings)
Sets the video process settings of the video capture device.
MWUSBGetDeviceNameMode
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Gets device name pattern of USB device.
MWUSBSetStatusImageMode
MW_RESULT LIBMWCAPTURE_API MWUSBSetStatusImageMode(HUSBCHANNEL hChannel, MWCAP_STATUS_IMAGE_MODE *pImageMode)
Sets the image pattern showed when there is not a valid input signal.
MWUSBSetNotifyEnable
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable(HUSBCHANNEL hChannel, MWCAP_NOTIFY_ENABLE *pNotify)
Registers notification.
MWUSBGetEDIDMode
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE *pMode)
Gets current edid mode.
MWUSBGetVideoAutoHAlign
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoAutoHAlign(HUSBCHANNEL hChannel, bool_t *pbAutoHAlign)
Gets whether video is horizontally aligned.
MWUSBSetVideoTiming
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoTiming(HUSBCHANNEL hChannel, MWCAP_VIDEO_TIMING *pTiming)
Sets default video timing.
MWUSBGetVideoSamplingPhase
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoSamplingPhase(HUSBCHANNEL hChannel, uint8_t *puSamplingPhase)
Gets video sampling phase.
_MWCAP_VIDEO_OUTPUT_FRAME_SIZE
Definition: MWUSBCaptureExtension.h:216
_MWCAP_NOTIFY_ENABLE
Definition: MWCaptureExtension.h:1085
MWUSBResetOptions
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions(HUSBCHANNEL hChannel)
Reset the settings to the capture device.
MWUSBGetVideoOutputFrameInterval
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Gets capture intervals supported by USB device.
MWUSBGetCustomVideoTimings
MW_RESULT LIBMWCAPTURE_API MWUSBGetCustomVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Gets customize video timing array.
_MWCAP_VIDEO_PROCESS_SETTINGS
MWCAP_VIDEO_PROCESS_SETTINGS.
Definition: MWCaptureExtension.h:1457
_MWCAP_VIDEO_FRAMERATE_EX
Definition: MWUSBCaptureExtension.h:266
MWUSBGetAudioVolume
MW_RESULT LIBMWCAPTURE_API MWUSBGetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Gets the volume of USB audio device.
_MWCAP_VIDEO_FRAMERATE
Definition: MWUSBCaptureExtension.h:260
MWUSBSetCustomVideoTimings
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Sets customize video timing array.
MWUSBLoadOptions
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions(HUSBCHANNEL hChannel)
Load the settings to the capture device.
_MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL
Definition: MWUSBCaptureExtension.h:222
_MWCAP_VIDEO_CUSTOM_TIMING_ARRAY
Definition: MWUSBCaptureExtension.h:250
MWUSBGetNotifyStatus
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus(HUSBCHANNEL hChannel, uint64_t *pullStatusBit)
Gets notification status of USB specified channel.
MWUSBGetEDIDLoopThrough
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDLoopThrough(HUSBCHANNEL hChannel, char *pbyEDID, uint32_t *pcbEDID)
Gets EDID of the loopthrough interface in the USB device, only supported by devices with loopthrough ...
MWUSBSetVideoOutputFrameSize
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Sets resolutions supported by the USB device.
MWUSBGetCustomVideoResolutions
MW_RESULT LIBMWCAPTURE_API MWUSBGetCustomVideoResolutions(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Gets customize video resolutions.
MWUSBUnRegisterHotPlug
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug()
UnRegisters notification event of device hot plug.
MWUSBSetVideoSamplingPhaseAutoAdjust
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoSamplingPhaseAutoAdjust(HUSBCHANNEL hChannel, bool_t *pbAutoSamplingPhase)
Sets video sampling phase auto adjust.
MWUSBSaveOptions
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions(HUSBCHANNEL hChannel)
Saves configurations.
MWUSBSetVideoOutputFrameInterval
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Sets capture intervals supported by USB device.
MWUSBGetVideoCaptureProcessSettings
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureProcessSettings(HUSBCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *pProcSettings)
Get the video process settings of the video capture device.
_MWCAP_AUDIO_VOLUME
Definition: MWUSBCaptureExtension.h:173
MWUSBSetCustomVideoTiming
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoTiming(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING *pCustomTiming)
Sets customize video timing.
MWUSBSetVideoOutputFOURCC
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Sets output format of the video capture device.
_MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY
Definition: MWUSBCaptureExtension.h:255
MWUSBGetLoopThroughValid
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid(HUSBCHANNEL hChannel, bool_t *pbValid)
Gets whether the loopthrough interface in the USB device is valid.
MWUSBGetInputSourceScanState
MW_RESULT LIBMWCAPTURE_API MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t *pbScanning)
Obtains the scan state of input source.
MWUSBGetExtensionSupported
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported(HUSBCHANNEL hChannel, uint32_t *pdwFlag)
Gets extended support.