MWCapture SDK Mac  3.4.62314
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
47extern "C" {
48#endif
49
87MW_RESULT
88LIBMWCAPTURE_API
90 LPFN_HOT_PLUG_CALLBACK lpfnCallback,
91 void * pParam
92 );
93
94
117MW_RESULT
118LIBMWCAPTURE_API
120 );
121
159MW_RESULT
160LIBMWCAPTURE_API
162 HUSBCHANNEL hChannel,
163 MWCAP_NOTIFY_ENABLE * pNotify
164 );
165
209MW_RESULT
210LIBMWCAPTURE_API
212 HUSBCHANNEL hChannel,
213 uint64_t * pullStatusBit
214 );
215
217// * @ingroup group_functions_usbcapture
218// * @brief Erases firmware data from USB device
219// * @param[in] hChannel Channel handle of USB device
220// * @param[in] cbOffset Address offset
221// * @param[in] cbErase Erased size
222//@return Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
223//*/
224//MW_RESULT
225//LIBMWCAPTURE_API
226//MWUSBSetFirmwareErase(
227// HUSBCHANNEL hChannel,
228// uint32_t cbOffset,
229// uint32_t cbErase
230// );
231//
233// * @ingroup group_functions_usbcapture
234// * @brief Gets read address of USB device firmware.
235// * @param[in] hChannel Channel handle of USB device
236// * @param[out] pdwAddress Read address of firmware
237//@return Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
238//*/
239//MW_RESULT
240//LIBMWCAPTURE_API
241//MWUSBGetFirmwareReadAddress(
242// HUSBCHANNEL hChannel,
243// uint32_t * pdwAddress
244// );
245
282MW_RESULT
283LIBMWCAPTURE_API
285 HUSBCHANNEL hChannel,
286 char * pbyEDID,
287 uint32_t * pcbEDID
288 );
289
323MW_RESULT
324LIBMWCAPTURE_API
326 HUSBCHANNEL hChannel,
327 bool_t * pbValid
328 );
329
365MW_RESULT
366LIBMWCAPTURE_API
368 HUSBCHANNEL hChannel,
369 MWCAP_USB_AUDIO_NODE audioNode,
370 MWCAP_AUDIO_VOLUME* pVolume
371 );
372
410MW_RESULT
411LIBMWCAPTURE_API
413 HUSBCHANNEL hChannel,
414 MWCAP_USB_AUDIO_NODE audioNode,
415 MWCAP_AUDIO_VOLUME* pVolume
416 );
417
425MW_RESULT
426LIBMWCAPTURE_API
428 HUSBCHANNEL hChannel,
430 );
431
439MW_RESULT
440LIBMWCAPTURE_API
442 HUSBCHANNEL hChannel,
443 MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
444 );
445
453MW_RESULT
454LIBMWCAPTURE_API
456 HUSBCHANNEL hChannel,
457 MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
458 );
459
493MW_RESULT
494LIBMWCAPTURE_API
496 HUSBCHANNEL hChannel,
497 MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
498 );
499
539MW_RESULT
540LIBMWCAPTURE_API
542 HUSBCHANNEL hChannel,
543 MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
544 );
545
579MW_RESULT
580LIBMWCAPTURE_API
582 HUSBCHANNEL hChannel,
584 );
585
625MW_RESULT
626LIBMWCAPTURE_API
628 HUSBCHANNEL hChannel,
630 );
631
665MW_RESULT
666LIBMWCAPTURE_API
668 HUSBCHANNEL hChannel,
670 );
671
711MW_RESULT
712LIBMWCAPTURE_API
714 HUSBCHANNEL hChannel,
716 );
717
752MW_RESULT
753LIBMWCAPTURE_API
755 HUSBCHANNEL hChannel,
756 MWCAP_STATUS_IMAGE_MODE * pImageMode
757 );
758
795MW_RESULT
796LIBMWCAPTURE_API
798 HUSBCHANNEL hChannel,
799 MWCAP_STATUS_IMAGE_MODE * pImageMode
800 );
801
835MW_RESULT
836LIBMWCAPTURE_API
838 HUSBCHANNEL hChannel,
839 MWCAP_DEVICE_NAME_MODE * pNameMode
840 );
841
877MW_RESULT
878LIBMWCAPTURE_API
880 HUSBCHANNEL hChannel,
881 MWCAP_DEVICE_NAME_MODE * pNameMode
882 );
883
921MW_RESULT
922LIBMWCAPTURE_API
924 HUSBCHANNEL hChannel
925 );
926
958MW_RESULT
959LIBMWCAPTURE_API
961 HUSBCHANNEL hChannel
962 );
963
995MW_RESULT
996LIBMWCAPTURE_API
998 HUSBCHANNEL hChannel
999 );
1000
1008MW_RESULT
1009LIBMWCAPTURE_API
1011 HUSBCHANNEL hChannel,
1012 bool_t * pbAutoHAlign
1013 );
1014
1022MW_RESULT
1023LIBMWCAPTURE_API
1025 HUSBCHANNEL hChannel,
1026 bool_t pbAutoHAlign
1027 );
1028
1036MW_RESULT
1037LIBMWCAPTURE_API
1039 HUSBCHANNEL hChannel,
1040 uint8_t * puSamplingPhase
1041 );
1042
1050MW_RESULT
1051LIBMWCAPTURE_API
1053 HUSBCHANNEL hChannel,
1054 uint8_t* puSamplingPhase
1055 );
1056
1064MW_RESULT
1065LIBMWCAPTURE_API
1067 HUSBCHANNEL hChannel,
1068 bool_t * pbAutoSamplingPhase
1069 );
1070
1078MW_RESULT
1079LIBMWCAPTURE_API
1081 HUSBCHANNEL hChannel,
1082 bool_t * pbAutoSamplingPhase
1083 );
1084
1092MW_RESULT
1093LIBMWCAPTURE_API
1095 HUSBCHANNEL hChannel,
1096 MWCAP_VIDEO_TIMING * pTiming
1097 );
1098
1106MW_RESULT
1107LIBMWCAPTURE_API
1109 HUSBCHANNEL hChannel,
1110 MWCAP_VIDEO_TIMING_ARRAY * paTimings
1111 );
1112
1120MW_RESULT
1121LIBMWCAPTURE_API
1123 HUSBCHANNEL hChannel,
1124 MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
1125 );
1126
1134MW_RESULT
1135LIBMWCAPTURE_API
1137 HUSBCHANNEL hChannel,
1138 MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
1139 );
1140
1148MW_RESULT
1149LIBMWCAPTURE_API
1151 HUSBCHANNEL hChannel,
1152 MWCAP_VIDEO_CUSTOM_TIMING * pCustomTiming
1153 );
1154
1162MW_RESULT
1163LIBMWCAPTURE_API
1165 HUSBCHANNEL hChannel,
1166 MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
1167 );
1168
1176MW_RESULT
1177LIBMWCAPTURE_API
1179 HUSBCHANNEL hChannel,
1180 MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
1181 );
1182
1190MW_RESULT
1191LIBMWCAPTURE_API
1193 HUSBCHANNEL hChannel,
1194 uint32_t * pdwFlag
1195 );
1196
1204MW_RESULT
1205LIBMWCAPTURE_API
1206MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t * pbScanning);
1214MW_RESULT
1215LIBMWCAPTURE_API
1216MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE * pMode);
1224MW_RESULT
1225LIBMWCAPTURE_API
1226MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode);
1227
1228
1237MW_RESULT
1238LIBMWCAPTURE_API
1239MWUSBGetVideoCaptureSupportFrameRate(
1240 HCHANNEL hChannel,
1241 MWCAP_VIDEO_FRAMERATE* pFramerate,
1242 int* nCount
1243);
1244
1245
1254MW_RESULT
1255LIBMWCAPTURE_API
1256MWUSBGetVideoCaptureSupportFrameRateEx(
1257 HCHANNEL hChannel,
1258 MWCAP_VIDEO_FRAMERATE_EX* pFramerate,
1259 int* nCount
1260);
1261
1262
1263
1264#ifdef __cplusplus
1265}
1266#endif
1267
1268
1269#endif //_MWUSB_CAPTURE_H_
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoSamplingPhase(HUSBCHANNEL hChannel, uint8_t *puSamplingPhase)
Sets video sampling phase.
MW_RESULT LIBMWCAPTURE_API MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t *pbScanning)
Obtains the scan state of input source.
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug()
Unregisters hotplug callback function.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoAutoHAlign(HUSBCHANNEL hChannel, bool_t pbAutoHAlign)
Sets video horizontal alignment.
MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug(LPFN_HOT_PLUG_CALLBACK lpfnCallback, void *pParam)
Registers hotplug callback function of USB capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoSamplingPhase(HUSBCHANNEL hChannel, uint8_t *puSamplingPhase)
Gets video sampling phase.
MW_RESULT LIBMWCAPTURE_API MWUSBGetCustomVideoResolutions(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Gets customize video resolutions.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Gets resolutions of captured images supported by the USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported(HUSBCHANNEL hChannel, uint32_t *pdwFlag)
Gets extended support.
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDLoopThrough(HUSBCHANNEL hChannel, char *pbyEDID, uint32_t *pcbEDID)
‍**
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureProcessSettings(HUSBCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *pProcSettings)
Get the video process settings of the video capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Sets customize video timing array.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoTiming(HUSBCHANNEL hChannel, MWCAP_VIDEO_TIMING *pTiming)
Sets default video timing.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Sets capture formats supported by the USB device, 3 at most.
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode)
Sets the edid mode.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoCaptureProcessSettings(HUSBCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *pProcSettings)
Sets the video process settings of the video capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetPreferredVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_TIMING_ARRAY *paTimings)
Gets video preferred timings.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Gets capture formats supported by the USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Gets device name pattern of USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Gets the volume of USB audio device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Sets resolutions supported by the USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoAutoHAlign(HUSBCHANNEL hChannel, bool_t *pbAutoHAlign)
Gets whether video is horizontally aligned.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoSamplingPhaseAutoAdjust(HUSBCHANNEL hChannel, bool_t *pbAutoSamplingPhase)
Sets video sampling phase auto adjust.
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.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoSamplingPhaseAutoAdjust(HUSBCHANNEL hChannel, bool_t *pbAutoSamplingPhase)
Gets whether video sampling phase is auto adjusted.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Sets capture intervals supported by USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions(HUSBCHANNEL hChannel)
Saves configurations.
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable(HUSBCHANNEL hChannel, MWCAP_NOTIFY_ENABLE *pNotify)
Sets notification types for specified channel.
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.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Gets capture intervals supported by USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoResolutions(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Sets customize video resolutions.
MW_RESULT LIBMWCAPTURE_API MWUSBGetCustomVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Gets customize video timing array.
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid(HUSBCHANNEL hChannel, bool_t *pbValid)
Gets whether the loopthrough interface in the USB device is valid.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureConnectionFormat(HUSBCHANNEL hChannel, MWCAP_VIDEO_CONNECTION_FORMAT *pConnFormat)
Get the capture format related parameters of the video capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus(HUSBCHANNEL hChannel, uint64_t *pullStatusBit)
Gets notification status of USB specified channel.
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE *pMode)
Gets current edid mode.
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions(HUSBCHANNEL hChannel)
Reset the settings to the capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoTiming(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING *pCustomTiming)
Sets customize video timing.
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Sets device name pattern of USB device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Sets the volume of USB audio device.
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions(HUSBCHANNEL hChannel)
Load the settings to the capture device.
Definition: MWUSBCaptureExtension.h:173
Definition: MWCaptureExtension.h:1060
MWCAP_VIDEO_CONNECTION_FORMAT.
Definition: MWCaptureExtension.h:1406
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
MWCAP_VIDEO_PROCESS_SETTINGS.
Definition: MWCaptureExtension.h:1432
Definition: MWUSBCaptureExtension.h:245
MWCAP_VIDEO_TIMING.
Definition: MWCaptureExtension.h:330