LibMWCapture  3.3.1
LibMWCapture Documentation
MWUSBCapture.h
Go to the documentation of this file.
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 
55 MW_RESULT
58  LPFN_HOT_PLUG_CALLBACK lpfnCallback,
59  void * pParam
60  );
61 
66 MW_RESULT
69  );
70 
71 //Notification
78 MW_RESULT
81  HUSBCHANNEL hChannel,
82  MWCAP_NOTIFY_ENABLE * pNotify
83  );
84 
91 MW_RESULT
94  HUSBCHANNEL hChannel,
95  uint64_t * pullStatusBit
96  );
97 
98 //Upgrade
106 MW_RESULT
109  HUSBCHANNEL hChannel,
110  uint32_t cbOffset,
111  uint32_t cbErase
112  );
113 
120 MW_RESULT
123  HUSBCHANNEL hChannel,
124  uint32_t * pdwAddress
125  );
126 
127 //HDMI
135 MW_RESULT
138  HUSBCHANNEL hChannel,
139  char * pbyEDID,
140  uint32_t * pcbEDID
141  );
142 
149 MW_RESULT
152  HUSBCHANNEL hChannel,
153  bool_t * pbValid
154  );
155 
163 MW_RESULT
166  HUSBCHANNEL hChannel,
167  MWCAP_USB_AUDIO_NODE audioNode,
168  MWCAP_AUDIO_VOLUME* pVolume
169  );
170 
178 MW_RESULT
181  HUSBCHANNEL hChannel,
182  MWCAP_USB_AUDIO_NODE audioNode,
183  MWCAP_AUDIO_VOLUME* pVolume
184  );
185 
186 // Video Processing
193 MW_RESULT
196  HUSBCHANNEL hChannel,
197  MWCAP_VIDEO_CONNECTION_FORMAT* pConnFormat
198  );
199 
206 MW_RESULT
209  HUSBCHANNEL hChannel,
210  MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
211  );
212 
219 MW_RESULT
222  HUSBCHANNEL hChannel,
223  MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
224  );
225 
226 // Video output format
233 MW_RESULT
236  HUSBCHANNEL hChannel,
237  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
238  );
239 
246 MW_RESULT
249  HUSBCHANNEL hChannel,
250  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
251  );
252 
259 MW_RESULT
262  HUSBCHANNEL hChannel,
263  MWCAP_VIDEO_OUTPUT_FRAME_SIZE* pFrameSize
264  );
265 
272 MW_RESULT
275  HUSBCHANNEL hChannel,
276  MWCAP_VIDEO_OUTPUT_FRAME_SIZE* pFrameSize
277  );
278 
285 MW_RESULT
288  HUSBCHANNEL hChannel,
289  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
290  );
291 
298 MW_RESULT
301  HUSBCHANNEL hChannel,
302  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
303  );
304 
305 //Image mode
312 MW_RESULT
315  HUSBCHANNEL hChannel,
316  MWCAP_STATUS_IMAGE_MODE * pImageMode
317  );
318 
325 MW_RESULT
328  HUSBCHANNEL hChannel,
329  MWCAP_STATUS_IMAGE_MODE * pImageMode
330  );
331 
332 //Name mode
339 MW_RESULT
342  HUSBCHANNEL hChannel,
343  MWCAP_DEVICE_NAME_MODE * pNameMode
344  );
345 
352 MW_RESULT
355  HUSBCHANNEL hChannel,
356  MWCAP_DEVICE_NAME_MODE * pNameMode
357  );
358 
359 // HID Options Control
365 MW_RESULT
368  HUSBCHANNEL hChannel
369  );
370 
376 MW_RESULT
379  HUSBCHANNEL hChannel
380  );
381 
387 MW_RESULT
390  HUSBCHANNEL hChannel
391  );
392 
393 //Timing
400 MW_RESULT
403  HUSBCHANNEL hChannel,
404  bool_t * pbAutoHAlign
405  );
406 
413 MW_RESULT
416  HUSBCHANNEL hChannel,
417  bool_t pbAutoHAlign
418  );
419 
426 MW_RESULT
429  HUSBCHANNEL hChannel,
430  uint8_t * puSamplingPhase
431  );
432 
439 MW_RESULT
442  HUSBCHANNEL hChannel,
443  uint8_t* puSamplingPhase
444  );
445 
452 MW_RESULT
455  HUSBCHANNEL hChannel,
456  bool_t * pbAutoSamplingPhase
457  );
458 
465 MW_RESULT
468  HUSBCHANNEL hChannel,
469  bool_t * pbAutoSamplingPhase
470  );
471 
478 MW_RESULT
481  HUSBCHANNEL hChannel,
482  MWCAP_VIDEO_TIMING * pTiming
483  );
484 
491 MW_RESULT
494  HUSBCHANNEL hChannel,
495  MWCAP_VIDEO_TIMING_ARRAY * paTimings
496  );
497 
504 MW_RESULT
507  HUSBCHANNEL hChannel,
508  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
509  );
510 
517 MW_RESULT
520  HUSBCHANNEL hChannel,
521  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
522  );
523 
530 MW_RESULT
533  HUSBCHANNEL hChannel,
534  MWCAP_VIDEO_CUSTOM_TIMING * pCustomTiming
535  );
536 
543 MW_RESULT
546  HUSBCHANNEL hChannel,
547  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
548  );
549 
556 MW_RESULT
559  HUSBCHANNEL hChannel,
560  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
561  );
562 
569 MW_RESULT
572  HUSBCHANNEL hChannel,
573  uint32_t * pdwFlag
574  );
575 
582 MW_RESULT
584 MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t * pbScanning);
591 MW_RESULT
593 MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE * pMode);
600 MW_RESULT
602 MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode);
603 #ifdef __cplusplus
604 }
605 #endif
606 
607 
608 #endif //_MWUSB_CAPTURE_H_
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions(HUSBCHANNEL hChannel)
Reset the settings to the capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE *pMode)
get current edid mode
MW_RESULT LIBMWCAPTURE_API MWUSBGetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Get the volume value of the USB audio device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureProcessSettings(HUSBCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *pProcSettings)
Get the default settings of the video capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode)
set the edid mode
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Set customize video timing array.
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoResolutions(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Set customize video resolutions.
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid(HUSBCHANNEL hChannel, bool_t *pbValid)
Get the valid flag of the loopthrough.
MW_RESULT LIBMWCAPTURE_API MWUSBSetStatusImageMode(HUSBCHANNEL hChannel, MWCAP_STATUS_IMAGE_MODE *pImageMode)
Set the image mode status.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoAutoHAlign(HUSBCHANNEL hChannel, bool_t *pbAutoHAlign)
Get whether video is horizontally aligned.
MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug(LPFN_HOT_PLUG_CALLBACK lpfnCallback, void *pParam)
Registers notification event of device hot plug.
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDLoopThrough(HUSBCHANNEL hChannel, char *pbyEDID, uint32_t *pcbEDID)
Get the loop through EDID.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoSamplingPhase(HUSBCHANNEL hChannel, uint8_t *puSamplingPhase)
Set video sampling phase.
MW_RESULT LIBMWCAPTURE_API MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t *pbScanning)
Obtains the scan state of input source.
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported(HUSBCHANNEL hChannel, uint32_t *pdwFlag)
Get extended support.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Set output frame rate.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoSamplingPhase(HUSBCHANNEL hChannel, uint8_t *puSamplingPhase)
Get video sampling phase.
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus(HUSBCHANNEL hChannel, uint64_t *pullStatusBit)
Get the notify status.
MW_RESULT LIBMWCAPTURE_API MWUSBGetPreferredVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_TIMING_ARRAY *paTimings)
Get video preferred timings.
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions(HUSBCHANNEL hChannel)
Load the settings to the capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBGetCustomVideoTimings(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Get customize video timing array.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoSamplingPhaseAutoAdjust(HUSBCHANNEL hChannel, bool_t *pbAutoSamplingPhase)
Get whether video sampling phase is auto adjusted.
MW_RESULT LIBMWCAPTURE_API MWUSBGetStatusImageMode(HUSBCHANNEL hChannel, MWCAP_STATUS_IMAGE_MODE *pImageMode)
Get the image mode status.
MW_RESULT LIBMWCAPTURE_API MWUSBGetFirmwareReadAddress(HUSBCHANNEL hChannel, uint32_t *pdwAddress)
Get the firmware data address.
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Set device name mode.
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable(HUSBCHANNEL hChannel, MWCAP_NOTIFY_ENABLE *pNotify)
Registers notification.
MW_RESULT LIBMWCAPTURE_API MWUSBGetCustomVideoResolutions(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Get customize video resolutions.
MW_RESULT LIBMWCAPTURE_API MWUSBSetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Set the volume value to the usb audio device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Set output format of the video capture device.
#define LIBMWCAPTURE_API
Definition: MWUSBCapture.h:37
MW_RESULT LIBMWCAPTURE_API MWUSBSetFirmwareErase(HUSBCHANNEL hChannel, uint32_t cbOffset, uint32_t cbErase)
Erases the firmware data.
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions(HUSBCHANNEL hChannel)
Save the options to the capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoAutoHAlign(HUSBCHANNEL hChannel, bool_t pbAutoHAlign)
Set video horizontal alignment.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoSamplingPhaseAutoAdjust(HUSBCHANNEL hChannel, bool_t *pbAutoSamplingPhase)
Set video sampling phase auto adjust.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Get output frame size.
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug()
UnRegister notification event of device hot plug.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoCaptureProcessSettings(HUSBCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *pProcSettings)
Set the default video capture format.
MW_RESULT LIBMWCAPTURE_API MWUSBSetCustomVideoTiming(HUSBCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING *pCustomTiming)
Set customize video timing.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Get output formate supported by the video capture device.
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoTiming(HUSBCHANNEL hChannel, MWCAP_VIDEO_TIMING *pTiming)
Set default video timing.
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 MWUSBSetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Set output frame size.
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Get the value of device name mode.
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Get output frame rate.