My Project
 All Classes
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 
55 MW_RESULT
56 LIBMWCAPTURE_API
57 MWUSBRegisterHotPlug(
58  LPFN_HOT_PLUG_CALLBACK lpfnCallback,
59  void * pParam
60  );
61 
66 MW_RESULT
67 LIBMWCAPTURE_API
68 MWUSBUnRegisterHotPlug(
69  );
70 
71 //Notification
78 MW_RESULT
79 LIBMWCAPTURE_API
80 MWUSBSetNotifyEnable(
81  HUSBCHANNEL hChannel,
82  MWCAP_NOTIFY_ENABLE * pNotify
83  );
84 
91 MW_RESULT
92 LIBMWCAPTURE_API
93 MWUSBGetNotifyStatus(
94  HUSBCHANNEL hChannel,
95  uint64_t * pullStatusBit
96  );
97 
98 //Upgrade
106 MW_RESULT
107 LIBMWCAPTURE_API
108 MWUSBSetFirmwareErase(
109  HUSBCHANNEL hChannel,
110  uint32_t cbOffset,
111  uint32_t cbErase
112  );
113 
120 MW_RESULT
121 LIBMWCAPTURE_API
122 MWUSBGetFirmwareReadAddress(
123  HUSBCHANNEL hChannel,
124  uint32_t * pdwAddress
125  );
126 
127 //HDMI
135 MW_RESULT
136 LIBMWCAPTURE_API
137 MWUSBGetEDIDLoopThrough(
138  HUSBCHANNEL hChannel,
139  char * pbyEDID,
140  uint32_t * pcbEDID
141  );
142 
149 MW_RESULT
150 LIBMWCAPTURE_API
151 MWUSBGetLoopThroughValid(
152  HUSBCHANNEL hChannel,
153  bool_t * pbValid
154  );
155 
163 MW_RESULT
164 LIBMWCAPTURE_API
165 MWUSBGetAudioVolume(
166  HUSBCHANNEL hChannel,
167  MWCAP_USB_AUDIO_NODE audioNode,
168  MWCAP_AUDIO_VOLUME* pVolume
169  );
170 
178 MW_RESULT
179 LIBMWCAPTURE_API
180 MWUSBSetAudioVolume(
181  HUSBCHANNEL hChannel,
182  MWCAP_USB_AUDIO_NODE audioNode,
183  MWCAP_AUDIO_VOLUME* pVolume
184  );
185 
186 // Video Processing
193 MW_RESULT
194 LIBMWCAPTURE_API
195 MWUSBGetVideoCaptureConnectionFormat(
196  HUSBCHANNEL hChannel,
197  MWCAP_VIDEO_CONNECTION_FORMAT* pConnFormat
198  );
199 
206 MW_RESULT
207 LIBMWCAPTURE_API
208 MWUSBGetVideoCaptureProcessSettings(
209  HUSBCHANNEL hChannel,
210  MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
211  );
212 
219 MW_RESULT
220 LIBMWCAPTURE_API
221 MWUSBSetVideoCaptureProcessSettings(
222  HUSBCHANNEL hChannel,
223  MWCAP_VIDEO_PROCESS_SETTINGS* pProcSettings
224  );
225 
226 // Video output format
233 MW_RESULT
234 LIBMWCAPTURE_API
235 MWUSBGetVideoOutputFOURCC(
236  HUSBCHANNEL hChannel,
237  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
238  );
239 
246 MW_RESULT
247 LIBMWCAPTURE_API
248 MWUSBSetVideoOutputFOURCC(
249  HUSBCHANNEL hChannel,
250  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
251  );
252 
259 MW_RESULT
260 LIBMWCAPTURE_API
261 MWUSBGetVideoOutputFrameSize(
262  HUSBCHANNEL hChannel,
264  );
265 
272 MW_RESULT
273 LIBMWCAPTURE_API
274 MWUSBSetVideoOutputFrameSize(
275  HUSBCHANNEL hChannel,
277  );
278 
285 MW_RESULT
286 LIBMWCAPTURE_API
287 MWUSBGetVideoOutputFrameInterval(
288  HUSBCHANNEL hChannel,
289  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
290  );
291 
298 MW_RESULT
299 LIBMWCAPTURE_API
300 MWUSBSetVideoOutputFrameInterval(
301  HUSBCHANNEL hChannel,
302  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
303  );
304 
305 //Image mode
312 MW_RESULT
313 LIBMWCAPTURE_API
314 MWUSBGetStatusImageMode(
315  HUSBCHANNEL hChannel,
316  MWCAP_STATUS_IMAGE_MODE * pImageMode
317  );
318 
325 MW_RESULT
326 LIBMWCAPTURE_API
327 MWUSBSetStatusImageMode(
328  HUSBCHANNEL hChannel,
329  MWCAP_STATUS_IMAGE_MODE * pImageMode
330  );
331 
332 //Name mode
339 MW_RESULT
340 LIBMWCAPTURE_API
341 MWUSBGetDeviceNameMode(
342  HUSBCHANNEL hChannel,
343  MWCAP_DEVICE_NAME_MODE * pNameMode
344  );
345 
352 MW_RESULT
353 LIBMWCAPTURE_API
354 MWUSBSetDeviceNameMode(
355  HUSBCHANNEL hChannel,
356  MWCAP_DEVICE_NAME_MODE * pNameMode
357  );
358 
359 // HID Options Control
365 MW_RESULT
366 LIBMWCAPTURE_API
367 MWUSBSaveOptions(
368  HUSBCHANNEL hChannel
369  );
370 
376 MW_RESULT
377 LIBMWCAPTURE_API
378 MWUSBLoadOptions(
379  HUSBCHANNEL hChannel
380  );
381 
387 MW_RESULT
388 LIBMWCAPTURE_API
389 MWUSBResetOptions(
390  HUSBCHANNEL hChannel
391  );
392 
393 //Timing
400 MW_RESULT
401 LIBMWCAPTURE_API
402 MWUSBGetVideoAutoHAlign(
403  HUSBCHANNEL hChannel,
404  bool_t * pbAutoHAlign
405  );
406 
413 MW_RESULT
414 LIBMWCAPTURE_API
415 MWUSBSetVideoAutoHAlign(
416  HUSBCHANNEL hChannel,
417  bool_t pbAutoHAlign
418  );
419 
426 MW_RESULT
427 LIBMWCAPTURE_API
428 MWUSBGetVideoSamplingPhase(
429  HUSBCHANNEL hChannel,
430  uint8_t * puSamplingPhase
431  );
432 
439 MW_RESULT
440 LIBMWCAPTURE_API
441 MWUSBSetVideoSamplingPhase(
442  HUSBCHANNEL hChannel,
443  uint8_t* puSamplingPhase
444  );
445 
452 MW_RESULT
453 LIBMWCAPTURE_API
454 MWUSBGetVideoSamplingPhaseAutoAdjust(
455  HUSBCHANNEL hChannel,
456  bool_t * pbAutoSamplingPhase
457  );
458 
465 MW_RESULT
466 LIBMWCAPTURE_API
467 MWUSBSetVideoSamplingPhaseAutoAdjust(
468  HUSBCHANNEL hChannel,
469  bool_t * pbAutoSamplingPhase
470  );
471 
478 MW_RESULT
479 LIBMWCAPTURE_API
480 MWUSBSetVideoTiming(
481  HUSBCHANNEL hChannel,
482  MWCAP_VIDEO_TIMING * pTiming
483  );
484 
491 MW_RESULT
492 LIBMWCAPTURE_API
493 MWUSBGetPreferredVideoTimings(
494  HUSBCHANNEL hChannel,
495  MWCAP_VIDEO_TIMING_ARRAY * paTimings
496  );
497 
504 MW_RESULT
505 LIBMWCAPTURE_API
506 MWUSBGetCustomVideoTimings(
507  HUSBCHANNEL hChannel,
508  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
509  );
510 
517 MW_RESULT
518 LIBMWCAPTURE_API
519 MWUSBSetCustomVideoTimings(
520  HUSBCHANNEL hChannel,
521  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
522  );
523 
530 MW_RESULT
531 LIBMWCAPTURE_API
532 MWUSBSetCustomVideoTiming(
533  HUSBCHANNEL hChannel,
534  MWCAP_VIDEO_CUSTOM_TIMING * pCustomTiming
535  );
536 
543 MW_RESULT
544 LIBMWCAPTURE_API
545 MWUSBGetCustomVideoResolutions(
546  HUSBCHANNEL hChannel,
547  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
548  );
549 
556 MW_RESULT
557 LIBMWCAPTURE_API
558 MWUSBSetCustomVideoResolutions(
559  HUSBCHANNEL hChannel,
560  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
561  );
562 
569 MW_RESULT
570 LIBMWCAPTURE_API
571 MWUSBGetExtensionSupported(
572  HUSBCHANNEL hChannel,
573  uint32_t * pdwFlag
574  );
575 
582 MW_RESULT
583 LIBMWCAPTURE_API
584 MWUSBGetInputSourceScanState(HUSBCHANNEL hChannel, bool_t * pbScanning);
591 MW_RESULT
592 LIBMWCAPTURE_API
593 MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE * pMode);
600 MW_RESULT
601 LIBMWCAPTURE_API
602 MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode);
603 #ifdef __cplusplus
604 }
605 #endif
606 
607 
608 #endif //_MWUSB_CAPTURE_H_
Definition: MWUSBCaptureExtension.h:202
Definition: MWCaptureExtension.h:242
Definition: MWCaptureExtension.h:748
Definition: MWUSBCaptureExtension.h:241
Definition: MWCaptureExtension.h:730
Definition: MWUSBCaptureExtension.h:159
Definition: MWCaptureExtension.h:814
Definition: MWUSBCaptureExtension.h:192
Definition: MWUSBCaptureExtension.h:236
Definition: MWCaptureExtension.h:541
Definition: MWUSBCaptureExtension.h:231
Definition: MWUSBCaptureExtension.h:208