diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/Readme.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/Readme.html new file mode 100644 index 00000000..ff88af02 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/Readme.html @@ -0,0 +1,284 @@ + + + + + + + + + MWCapture SDKv3 for Linux Release Notes - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
MWCapture SDKv3 for Linux Release Notes
+
+
+

Introduction

+

This section describes the changes between Magewell_Capture_SDK_3.3 (hereafter called "MWCaptureSDK 3.3", "SDK V3.3" or "MWCaptureSDK3.3.x.x") and its older version MWCaptureSDK 3.2.x.x (hereafter called "MWCaptureSDK 3.2"), which aims at helping developers get a better understanding of how to use the latest SDK. We highly recommend users of MWCaptureSDK 3.2 to read this important release note.

+

System Requirements

+
Supported OS
+ +
Supported Hardware
+ + + + + + + + + + + + + +
Family Name SDKv2 SDKv3
First Generation Capture Device Y N
Pro Capture Family Y Y
USB Capture Family Y Y
USB Capture Plus Family Y Y
ECO Capture Family Y Y
+

Note: Available APIs in SDKv3 will depend on the capabilities of the particular Magewell capture hardware you are using. (For example, APIs such as OSD and LowLatency will be available with Pro Capture hardware but not the USB Capture, USB Capture Plus and Eco Capture families)

+

Release Notes

+
July 11,2025
+

Added examples for Python and java.

+
February 29, 2020
+

Added hardware video encoding module. For details, refer to mw_venc.

+

Added mp4 recording module. For details, refer to mw_mp4.

+

Optimized SDKv3 documentation.

+

Added the following APIs.

+

Replaced the interfaces of USB capture device and Pro/Eco Capture device, that have the same functions, with common interfaces.

+ + + + + + + + + + + + + + + + + + + + + + + +
Table 1 Substitution API reference 1
Removed Interfaces Alternative Interface
USB interfaces Pro/Eco interfaces Common interfaces
MWUSBGetVideoCaptureConnectionFormat MWGetVideoConnectFormat MWGetVideoCaptureConnectionFormat
MWUSBGetVideoCaptureProcessSettings MWGetVideoProcessSettings MWGetVideoCaptureProcessSettings
MWUSBSetVideoCaptureProcessSettings MWSetVideoProcessSettings MWSetVideoCaptureProcessSettings
MWUSBGetPreferredVideoTimings MWGetPreferredVideoTimingsArray MWGetPreferredVideoTimings
MWUSBGetCustomVideoTimings MWGetCustomVideoTimingsArray MWGetCustomVideoTimings
MWUSBSetCustomVideoTimings MWSetCustomVideoTimingsArray MWSetCustomVideoTimings
MWUSBGetCustomVideoResolutions MWGetCustomVideoResolutionsArray MWGetCustomVideoResolutions
MWUSBSetCustomVideoResolutions MWSetCustomVideoResolutionsArray MWSetCustomVideoResolutions
+ + + + + + + + + + + + + + + + + + + + + + + +
Table 2 Substitution API reference 2
Removed Interface Alternative Interface
MWUSBGetVideoAutoHAlign MWGetVideoAutoHAlign
MWUSBSetVideoAutoHAlign MWSetVideoAutoHAlign
MWUSBGetVideoSamplingPhase MWGetVideoSamplingPhase
MWUSBSetVideoSamplingPhase MWSetVideoSamplingPhase
MWUSBGetVideoSamplingPhaseAutoAdjust MWGetVideoSamplingPhaseAutoAdjust
MWUSBSetVideoSamplingPhaseAutoAdjust MWSetVideoSamplingPhaseAutoAdjust
MWUSBSetVideoTiming MWSetVideoTiming
MWUSBSetCustomVideoTiming MWSetCustomVideoTiming
MWGetVideoOSDSettings MWGetVideoCaptureOSDSettings
+

Added examples.

+
June 13, 2018
+

New Features

+

New Examples

+

Binary Package

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_common_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_common_8h_source.html new file mode 100644 index 00000000..8ef073e8 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_common_8h_source.html @@ -0,0 +1,67 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWCommon.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWCommon.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 // Firmware header
14 #define MW_SERIAL_NO_LEN 16
15 #define MW_FAMILY_NAME_LEN 64
16 #define MW_PRODUCT_NAME_LEN 64
17 
29 typedef enum _MW_FAMILY_ID {
33 } MW_FAMILY_ID;
34 
35 typedef struct _MW_DATE_TIME {
36  WORD wYear;
37  BYTE byMonth;
38  BYTE byDay;
39  BYTE byHour;
40  BYTE byMinute;
41  BYTE bySecond;
42  BYTE byReserved;
43 } MW_DATE_TIME;
44 
45 #define MW_FIRMWARE_HEADER_MAGIC ((DWORD)('M') | ((DWORD)('W') << 8) | ((DWORD)('F') << 16) | ((DWORD)('H') << 24))
46 #define MW_FIRMWARE_HEADER_VERSION 1
47 
54 #define MW_FIRMWARE_NAME_LEN 64
55 #define MW_FIRMWARE_SECTION_NAME_LEN 16
56 
57 #define MW_MAX_NUM_FIRMWARE_SECTIONS 16
58 
59 // Compatible ID: wProductID, chHardwareVersion and byFirmwareID
60 typedef struct _MW_FIRMWARE_INFO_HEADER {
61  DWORD dwMagic;
62  DWORD dwCheckSum;
63  WORD wVersion;
64  WORD cbHeader;
65  WORD wProductID;
66  CHAR chHardwareVersion;
67  BYTE byFirmwareID;
68  DWORD dwFirmwareVersion;
69  CHAR szProductName[MW_PRODUCT_NAME_LEN];
70  CHAR szFirmwareName[MW_FIRMWARE_NAME_LEN];
71  MW_DATE_TIME dtBuild;
72  BYTE cSections;
74 
75 typedef struct _MW_FIRMWARE_SECTION_HEADER {
76  CHAR szName[MW_FIRMWARE_SECTION_NAME_LEN];
77  DWORD cbOffset;
78  DWORD cbSection;
79  DWORD dwCheckSum;
81 
82 typedef struct _MW_FIRMWARE_HEADER {
83  MW_FIRMWARE_INFO_HEADER infoHeader;
84  MW_FIRMWARE_SECTION_HEADER aSectionHeaders[MW_MAX_NUM_FIRMWARE_SECTIONS];
86 
87 #pragma pack(pop)
Definition: MWCommon.h:26
+
Definition: MWCommon.h:44
+
Pro Capture family.
Definition: MWCommon.h:30
+
Eco Capture family.
Definition: MWCommon.h:31
+
#define MW_FIRMWARE_NAME_LEN
MW_FIRMWARE_NAME_LEN.
Definition: MWCommon.h:54
+
enum _MW_FAMILY_ID MW_FAMILY_ID
MW_FAMILY_ID.
+
Definition: MWCommon.h:66
+
Definition: MWCommon.h:59
+
USB Capture family.
Definition: MWCommon.h:32
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_h_d_m_i_packets_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_h_d_m_i_packets_8h_source.html new file mode 100644 index 00000000..a5f68537 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_h_d_m_i_packets_8h_source.html @@ -0,0 +1,81 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWHDMIPackets.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWHDMIPackets.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 // AVI infoframe
14 #define HDMI_EC_XVYCC601 0x00
15 #define HDMI_EC_XVYCC709 0x01
16 #define HDMI_EC_SYCC601 0x02
17 #define HDMI_EC_ADOBEYCC601 0x03
18 #define HDMI_EC_ADOBERGB 0x04
19 
20 #define HDMI_YQ_LIMITED_RANGE 0x00
21 #define HDMI_YQ_FULL_RANGE 0x01
22 
23 #define HDMI_CN_NONE_OR_GRAPHICS 0x00
24 #define HDMI_CN_PHOTO 0x01
25 #define HDMI_CN_CINEMA 0x02
26 #define HDMI_CN_GAME 0x03
27 
28 typedef struct _HDMI_VIC_FORMAT {
29  WORD cx;
30  WORD cy;
31  BOOLEAN bInterlaced;
32  WORD wAspectX;
33  WORD wAspectY;
34  DWORD dwFrameDuration;
36 
37 static const HDMI_VIC_FORMAT g_aHDMIVICFormats[] = {
38  /* 0 */ { 0, 0, FALSE, 0, 0, 0, },
39  /* 1 */ { 640, 480, FALSE, 4, 3, 166667, },
40  /* 2 */ { 720, 480, FALSE, 4, 3, 166667, },
41  /* 3 */ { 720, 480, FALSE, 16, 9, 166667, },
42  /* 4 */ { 1280, 720, FALSE, 16, 9, 166667, },
43  /* 5 */ { 1920, 1080, TRUE, 16, 9, 333333, },
44  /* 6 */ { 720, 480, TRUE, 4, 3, 333333, },
45  /* 7 */ { 720, 480, TRUE, 16, 9, 333333, },
46  /* 8 */ { 720, 240, FALSE, 4, 3, 166667, },
47  /* 9 */ { 720, 240, FALSE, 16, 9, 166667, },
48  /* 10 */ { 2880, 480, TRUE, 4, 3, 333333, },
49  /* 11 */ { 2880, 480, TRUE, 16, 9, 333333, },
50  /* 12 */ { 2880, 240, FALSE, 4, 3, 166667, },
51  /* 13 */ { 2880, 240, FALSE, 16, 9, 166667, },
52  /* 14 */ { 1440, 480, FALSE, 4, 3, 166667, },
53  /* 15 */ { 1440, 480, FALSE, 16, 9, 166667, },
54  /* 16 */ { 1920, 1080, FALSE, 16, 9, 166667, },
55  /* 17 */ { 720, 576, FALSE, 4, 3, 200000, },
56  /* 18 */ { 720, 576, FALSE, 16, 9, 200000, },
57  /* 19 */ { 1280, 720, FALSE, 16, 9, 200000, },
58  /* 20 */ { 1920, 1080, TRUE, 16, 9, 400000, },
59  /* 21 */ { 720, 576, TRUE, 4, 3, 400000, },
60  /* 22 */ { 720, 576, TRUE, 16, 9, 400000, },
61  /* 23 */ { 720, 288, FALSE, 4, 3, 200000, },
62  /* 24 */ { 720, 288, FALSE, 16, 9, 200000, },
63  /* 25 */ { 2880, 576, TRUE, 4, 3, 400000, },
64  /* 26 */ { 2880, 576, TRUE, 4, 3, 400000, },
65  /* 27 */ { 2880, 288, FALSE, 4, 3, 200000, },
66  /* 28 */ { 2880, 288, FALSE, 16, 9, 200000, },
67  /* 29 */ { 1440, 576, FALSE, 4, 3, 200000, },
68  /* 30 */ { 1440, 576, FALSE, 16, 9, 200000, },
69  /* 31 */ { 1920, 1080, FALSE, 16, 9, 200000, },
70  /* 32 */ { 1920, 1080, FALSE, 16, 9, 416667, },
71  /* 33 */ { 1920, 1080, FALSE, 16, 9, 400000, },
72  /* 34 */ { 1920, 1080, FALSE, 16, 9, 333333, },
73  /* 35 */ { 2880, 480, FALSE, 4, 3, 166667, },
74  /* 36 */ { 2880, 480, FALSE, 16, 9, 166667, },
75  /* 37 */ { 2880, 576, FALSE, 4, 3, 200000, },
76  /* 38 */ { 2880, 576, FALSE, 16, 9, 200000, },
77  /* 39 */ { 1920, 1080, TRUE, 16, 9, 400000, },
78  /* 40 */ { 1920, 1080, TRUE, 16, 9, 200000, },
79  /* 41 */ { 1280, 720, FALSE, 16, 9, 100000, },
80  /* 42 */ { 720, 576, FALSE, 4, 3, 100000, },
81  /* 43 */ { 720, 576, FALSE, 16, 9, 100000, },
82  /* 44 */ { 720, 576, TRUE, 4, 3, 200000, },
83  /* 45 */ { 720, 576, TRUE, 16, 9, 200000, },
84  /* 46 */ { 1920, 1080, TRUE, 16, 9, 166667, },
85  /* 47 */ { 1280, 720, FALSE, 16, 9, 83333, },
86  /* 48 */ { 720, 480, FALSE, 4, 3, 83333, },
87  /* 49 */ { 720, 480, FALSE, 16, 9, 83333, },
88  /* 50 */ { 720, 480, TRUE, 4, 3, 166667, },
89  /* 51 */ { 720, 480, TRUE, 16, 9, 166667, },
90  /* 52 */ { 720, 576, FALSE, 4, 3, 50000, },
91  /* 53 */ { 720, 576, FALSE, 16, 9, 50000, },
92  /* 54 */ { 720, 576, TRUE, 4, 3, 100000, },
93  /* 55 */ { 720, 576, TRUE, 16, 9, 100000, },
94  /* 56 */ { 720, 480, FALSE, 4, 3, 41667, },
95  /* 57 */ { 720, 480, FALSE, 16, 9, 41667, },
96  /* 58 */ { 720, 480, TRUE, 4, 3, 83333, },
97  /* 59 */ { 720, 480, TRUE, 16, 9, 83333, },
98  /* 60 */ { 1280, 720, FALSE, 16, 9, 416667, },
99  /* 61 */ { 1280, 720, FALSE, 16, 9, 400000, },
100  /* 62 */ { 1280, 720, FALSE, 16, 9, 333333, },
101  /* 63 */ { 1920, 1080, FALSE, 16, 9, 83333, },
102  /* 64 */ { 1920, 1080, FALSE, 16, 9, 100000 },
103 };
104 
105 static const HDMI_VIC_FORMAT g_aHDMIExtVICFormats[] = {
106  /* 0 */ { 0, 0, FALSE, 0, 0, 0, },
107  /* 1 */ { 3840, 2160, FALSE, 16, 9, 333333, },
108  /* 2 */ { 3840, 2160, FALSE, 16, 9, 400000, },
109  /* 3 */ { 3840, 2160, FALSE, 16, 9, 416667, },
110  /* 4 */ { 4096, 2160, FALSE, 16, 9, 416667 },
111 };
112 
113 static const BYTE g_abyDefaultYUV709VICs[] = {
114  0, 1, 4, 5, 16, 19, 20, 31, 32, 33, 34, 39, 40, 46, 47, 60, 61, 62, 63, 64
115 };
116 
117 // byRGB_YCbCr
118 typedef enum _HDMI_PIXEL_ENCODING {
119  HDMI_ENCODING_RGB_444 = 0,
120  HDMI_ENCODING_YUV_422 = 1,
121  HDMI_ENCODING_YUV_444 = 2,
122  HDMI_ENCODING_YUV_420 = 3
123 } HDMI_PXIEL_ENCODING;
124 
130 typedef struct _HDMI_AVI_INFOFRAME_PAYLOAD {
131  BYTE byScanInfo : 2;
132  BYTE byBarDataPresent : 2;
133  BYTE byActiveFormatInfoPresent : 1;
134  BYTE byRGB_YCbCr : 2;
135  BYTE byFutureUseByte1 : 1;
136 
137  BYTE byActivePortionAspectRatio : 4;
138  BYTE byCodedFrameAspectRatio : 2;
139  BYTE byColorimetry : 2;
140 
141  BYTE byNonUniformPictureScaling : 2;
142  BYTE byRGBQuantizationRange : 2;
143  BYTE byExtendedColorimetry : 3;
144  BYTE byITContent : 1;
145 
146  BYTE byVIC : 7;
147  BYTE byFutureUseByte4 : 1;
148 
149  BYTE byPixelRepetitionFactor : 4;
150  BYTE byITContentType : 2;
151  BYTE byYCCQuantizationRange : 2;
152 
158 
160  BYTE byEOTF;
161  BYTE byMetadataDescriptorID;
162 
163  BYTE display_primaries_lsb_x0;
164  BYTE display_primaries_msb_x0;
165  BYTE display_primaries_lsb_y0;
166  BYTE display_primaries_msb_y0;
167 
168  BYTE display_primaries_lsb_x1;
169  BYTE display_primaries_msb_x1;
170  BYTE display_primaries_lsb_y1;
171  BYTE display_primaries_msb_y1;
172 
173  BYTE display_primaries_lsb_x2;
174  BYTE display_primaries_msb_x2;
175  BYTE display_primaries_lsb_y2;
176  BYTE display_primaries_msb_y2;
177 
178  BYTE white_point_lsb_x;
179  BYTE white_point_msb_x;
180  BYTE white_point_lsb_y;
181  BYTE white_point_msb_y;
182 
183  BYTE max_display_mastering_lsb_luminance;
184  BYTE max_display_mastering_msb_luminance;
185  BYTE min_display_mastering_lsb_luminance;
186  BYTE min_display_mastering_msb_luminance;
187 
188  BYTE maximum_content_light_level_lsb;
189  BYTE maximum_content_light_level_msb;
190 
191  BYTE maximum_frame_average_light_level_lsb;
192  BYTE maximum_frame_average_light_level_msb;
194 
195 
196 // Audio infoframe
197 #define HDMI_AUDIO_CODING_TYPE_STREAM 0x00
198 #define HDMI_AUDIO_CODING_TYPE_PCM 0x01
199 #define HDMI_AUDIO_CODING_TYPE_AC3 0x02
200 #define HDMI_AUDIO_CODING_TYPE_MPEG1 0x03
201 #define HDMI_AUDIO_CODING_TYPE_MP3 0x04
202 #define HDMI_AUDIO_CODING_TYPE_MPEG2 0x05
203 #define HDMI_AUDIO_CODING_TYPE_AAC_LC 0x06
204 #define HDMI_AUDIO_CODING_TYPE_DTS 0x07
205 #define HDMI_AUDIO_CODING_TYPE_ATRAC 0x08
206 #define HDMI_AUDIO_CODING_TYPE_DSD 0x09
207 #define HDMI_AUDIO_CODING_TYPE_EAC3 0x0A
208 #define HDMI_AUDIO_CODING_TYPE_DTS_HD 0x0B
209 
210 #define HDMI_AUDIO_SAMPLE_SIZE_STREAM 0x00
211 #define HDMI_AUDIO_SAMPLE_SIZE_16BIT 0x01
212 #define HDMI_AUDIO_SAMPLE_SIZE_20BIT 0x02
213 #define HDMI_AUDIO_SAMPLE_SIZE_24BIT 0x03
214 
215 #define HDMI_AUDIO_SAMPLE_RATE_STREAM 0x00
216 #define HDMI_AUDIO_SAMPLE_RATE_32000 0x01
217 #define HDMI_AUDIO_SAMPLE_RATE_44100 0x02
218 #define HDMI_AUDIO_SAMPLE_RATE_48000 0x03
219 #define HDMI_AUDIO_SAMPLE_RATE_88200 0x04
220 #define HDMI_AUDIO_SAMPLE_RATE_96000 0x05
221 #define HDMI_AUDIO_SAMPLE_RATE_176400 0x06
222 #define HDMI_AUDIO_SAMPLE_RATE_192000 0x07
223 
224 typedef struct _HDMI_AUDIO_INFOFRAME_PAYLOAD {
225  BYTE byChannelCount : 3; // +1 for channel count
226  BYTE byReserved1 : 1;
227  BYTE byAudioCodingType : 4;
228 
229  BYTE bySampleSize : 2;
230  BYTE bySampleFrequency : 3;
231  BYTE byReserved2 : 3;
232 
233  BYTE byAudioCodingExtensionType : 5;
234  BYTE byReserved3 : 3;
235 
236  BYTE byChannelAllocation;
237 
238  BYTE byLFEPlaybackLevel : 2;
239  BYTE byReserved4 : 1;
240  BYTE byLevelShiftValue : 4;
241  BYTE byDownMixInhibitFlag : 1;
243 
244 // SPD Infoframe
245 #define HDMI_SPD_SORUCE_UNKOWN 0x00
246 #define HDMI_SPD_SORUCE_DIGITAL_STB 0x01
247 #define HDMI_SPD_SORUCE_DVD_PLAYER 0x02
248 #define HDMI_SPD_SORUCE_D_VHS 0x03
249 #define HDMI_SPD_SORUCE_HDD_RECORDER 0x04
250 #define HDMI_SPD_SORUCE_DVC 0x05
251 #define HDMI_SPD_SORUCE_DSC 0x06
252 #define HDMI_SPD_SORUCE_VIDEO_CD 0x07
253 #define HDMI_SPD_SORUCE_GAME 0x08
254 #define HDMI_SPD_SORUCE_PC_GENERAL 0x09
255 #define HDMI_SPD_SORUCE_BLUE_RAY_DISC 0x0A
256 #define HDMI_SPD_SORUCE_SUPER_AUDIO_CD 0x0B
257 #define HDMI_SPD_SORUCE_HD_DVD 0x0C
258 #define HDMI_SPD_SORUCE_PMP 0x0D
259 
260 typedef struct _HDMI_SPD_INFOFRAME_PAYLOAD {
261  CHAR achVendorName[8];
262  CHAR achProductDescription[16];
263  BYTE bySourceInformation;
265 
266 // HDMI 1.4b VS Infoframe
267 #define HDMI14B_VS_REGISTRATION_ID 0x000C03
268 
269 #define HDMI14B_VS_FORMAT_NONE 0x00
270 #define HDMI14B_VS_FORMAT_EXT_RES 0x01
271 #define HDMI14B_VS_FORMAT_3D_FORMAT 0x02
272 
273 // by3DStructure
274 #define HDMI14B_3DS_FRAME_PACKING 0x00
275 #define HDMI14B_3DS_FIELD_ALTERNATIVE 0x01
276 #define HDMI14B_3DS_LINE_ALTERNATIVE 0x02
277 #define HDMI14B_3DS_SIDE_BY_SIDE_FULL 0x03
278 #define HDMI14B_3DS_TOP_AND_BOTTOM 0x06
279 #define HDMI14B_3DS_SIDE_BY_SIDE_HALF 0x08
280 
281 // by3DExtData
282 #define HDMI_SUB_SAMPLING_HORIZONTAL_00 0x00
283 #define HDMI_SUB_SAMPLING_HORIZONTAL_01 0x01
284 #define HDMI_SUB_SAMPLING_HORIZONTAL_10 0x02
285 #define HDMI_SUB_SAMPLING_HORIZONTAL_11 0x03
286 #define HDMI_SUB_SAMPLING_QUINCUNX_ODD_ODD 0x04
287 #define HDMI_SUB_SAMPLING_QUINCUNX_ODD_EVEN 0x05
288 #define HDMI_SUB_SAMPLING_QUINCUNX_EVEN_ODD 0x06
289 #define HDMI_SUB_SAMPLING_QUINCUNX_EVEN_EVEN 0x07
290 
291 typedef struct _HDMI14B_VS_DATA_EXT_RES {
292  BYTE byHDMI_VIC;
294 
295 typedef struct _HDMI14B_VS_DATA_3D_FORMAT {
296  BYTE byReserved1 : 3;
297  BYTE by3DMetaPresent : 1;
298  BYTE by3DStructure : 4;
299 
300  BYTE byReserved2 : 4;
301  BYTE by3DExtData : 4;
302 
303  BYTE by3DMetadataLength : 5;
304  BYTE by3DMetadataType : 3;
306 
307 typedef struct _HDMI14B_VS_DATA {
308  BYTE byReserved1 : 5;
309  BYTE byHDMIVideoFormat : 3;
310 
311  union {
312  HDMI14B_VS_DATA_EXT_RES vsDataExtRes;
313  HDMI14B_VS_DATA_3D_FORMAT vsData3DFormat;
314  };
316 
317 // Generic VS Infoframe
318 typedef struct _HDMI_VS_INFOFRAME_PAYLOAD {
319  BYTE abyRegistrationId[3];
320 
321  union {
322  BYTE abyVSData[24];
323  HDMI14B_VS_DATA vsDataHDMI14B;
324  };
326 
327 static inline DWORD hdmi_payload_GetRegistrationId(HDMI_VS_INFOFRAME_PAYLOAD *payload)
328 {
329  return payload->abyRegistrationId[0] | (payload->abyRegistrationId[1] << 8)
330  | (payload->abyRegistrationId[2] << 16);
331 }
332 
333 // Generic Infoframe
334 #define HDMI_INFOFRAME_TYPE_VS 0x81
335 #define HDMI_INFOFRAME_TYPE_AVI 0x82
336 #define HDMI_INFOFRAME_TYPE_SPD 0x83
337 #define HDMI_INFOFRAME_TYPE_AUDIO 0x84
338 #define HDMI_INFOFRAME_TYPE_MS 0x85
339 #define HDMI_INFOFRAME_TYPE_VBI 0x86
340 #define HDMI_INFOFRAME_TYPE_HDR 0x87
341 
348 typedef struct _HDMI_INFOFRAME_HEADER {
350  BYTE byVersion;
351  BYTE byLength : 5;
352  BYTE byReservedZero : 3;
354 
361 typedef struct _HDMI_INFOFRAME_PACKET {
362  HDMI_INFOFRAME_HEADER header;
363  BYTE byChecksum;
364 
365  union {
366  BYTE abyPayload[27];
367  HDMI_AVI_INFOFRAME_PAYLOAD aviInfoFramePayload;
368  HDMI_AUDIO_INFOFRAME_PAYLOAD audioInfoFramePayload;
369  HDMI_SPD_INFOFRAME_PAYLOAD spdInfoFramePayload;
370  HDMI_VS_INFOFRAME_PAYLOAD vsInfoFramePayload;
372  };
374 
375 static inline BOOLEAN hdmi_info_IsValid(HDMI_INFOFRAME_PACKET *info)
376 {
377  unsigned char *pbyData = (unsigned char *)&info->header;
378  BYTE cbData = info->header.byLength + sizeof(info->header) + 1;
379 
380  BYTE bySum = 0;
381  while (cbData-- != 0)
382  bySum += *pbyData++;
383 
384  return (bySum == 0);
385 }
386 
387 #pragma pack(pop)
388 
Definition: MWHDMIPackets.h:210
+
Definition: MWHDMIPackets.h:246
+
Definition: MWHDMIPackets.h:304
+
HDMI_INFOFRAME_PACKET.
Definition: MWHDMIPackets.h:333
+
Definition: MWHDMIPackets.h:277
+
Definition: MWHDMIPackets.h:281
+
Definition: MWHDMIPackets.h:159
+
struct _HDMI_INFOFRAME_PACKET HDMI_INFOFRAME_PACKET
HDMI_INFOFRAME_PACKET.
+
WORD wEndOfLeftBar
Unsigned integer, representing the last pixel of the vertical letterbox bar on the left...
Definition: MWHDMIPackets.h:155
+
HDMI_INFOFRAME_HEADER.
Definition: MWHDMIPackets.h:326
+
BYTE byChecksum
checksum
Definition: MWHDMIPackets.h:363
+
struct _HDMI_INFOFRAME_HEADER HDMI_INFOFRAME_HEADER
HDMI_INFOFRAME_HEADER.
+
Definition: MWHDMIPackets.h:293
+
BYTE byPacketType
HDMI infoframe type.
Definition: MWHDMIPackets.h:349
+
HDMI_HDR_INFOFRAME_PAYLOAD hdrInfoFramePayload
hdr infoframe payload
Definition: MWHDMIPackets.h:371
+
HDMI_INFOFRAME_HEADER header
HDMI infoframe header.
Definition: MWHDMIPackets.h:334
+
WORD wStartOfBottomBar
Unsigned integers represent the first line of the letterbox bar at the bottom of the horizontal scree...
Definition: MWHDMIPackets.h:154
+
Definition: MWHDMIPackets.h:28
+
BYTE byVersion
HDMI version.
Definition: MWHDMIPackets.h:350
+
WORD wStartOfRightBar
Unsigned integer, representing the first pixel of the vertical letterbox bar on the right...
Definition: MWHDMIPackets.h:156
+
WORD wEndOfTopBar
Unsigned integers represent the last line of the letterbox bar area at the top of the screen...
Definition: MWHDMIPackets.h:153
+
HDMI_AVI_INFOFRAME_PAYLOAD.
Definition: MWHDMIPackets.h:153
+
struct _HDMI_AVI_INFOFRAME_PAYLOAD HDMI_AVI_INFOFRAME_PAYLOAD
HDMI_AVI_INFOFRAME_PAYLOAD.
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_i_e_c60958_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_i_e_c60958_8h_source.html new file mode 100644 index 00000000..d4523d3a --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_i_e_c60958_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWIEC60958.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWIEC60958.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 typedef union _IEC60958_CHANNEL_STATUS {
14  BYTE abyData[24];
15  WORD awData[12];
16  DWORD adwData[6];
17 
18  struct {
19  BYTE byProfessional : 1;
20  BYTE byNotLPCM : 1;
21  BYTE byEncodedAudioSignalEmphasis : 3; // 000: Emphasis not indicated, 001: No emphasis, 011: 50/15 us emphasis, 111: CCITT J.17 emphasis
22  BYTE bySourceSamplingFreqUnlocked : 1;
23  BYTE byEncodedSamplingFreq : 2; // 00: Not indicated, 10: 48, 01: 44.1, 11: 32
24 
25  BYTE byEncodedChannelMode : 4;
26  BYTE byEncodedUserBitsManagement : 4;
27 
28  BYTE byZero : 1;
29  BYTE bySingleCoordinationSignal : 1;
30  BYTE byWordLength : 4; // 0010: 16, 1100: 17, 0100: 18, 1000: 19, 1010: 20, 0011: 20, 1101: 21, 0101: 22, 1001: 23, 1011: 24
31  BYTE byAlignmentLevel : 2; // 00: Not indicated, 10: 20 dB, 01: 18.06 dB, 11: Reserved
32 
33  BYTE byChannelNumberOrMultiChannelMode : 7;
34  BYTE byDefinedMultiChannelMode : 1;
35 
36  BYTE byReferenceSignal : 2; // 00: Not a reference signal, 10: Grade 1, 01: Grade 2, 11: Reserved
37  BYTE byReserved1 : 1;
38  BYTE bySamplingFreq : 4; // 0000: Not indicated, 0001: 24, 0010: 96, 0011: 192, 1001: 22.05, 1010: 88.2, 1011: 176.4, 1111: User defined
39  BYTE bySamplingFreqScaling : 1;
40 
41  BYTE byReserved2;
42 
43  BYTE achChannelOrigin[4];
44  BYTE achChannelDestination[4];
45  DWORD dwLocalSampleAddress;
46  DWORD dwTimeOfDaySampleAddress;
47  BYTE byReliabilityFlags;
48 
49  BYTE byCRC;
50  } Professional;
51 
52  struct {
53  BYTE byProfessional : 1;
54  BYTE byNotLPCM : 1;
55  BYTE byNoCopyright : 1;
56  BYTE byAdditionalFormatInfo : 3;
57  BYTE byMode : 2;
58 
59  BYTE byCategoryCode;
60 
61  BYTE bySourceNumber : 4;
62  BYTE byChannelNumber : 4;
63 
64  BYTE bySamplingFreq : 4; // 0100: 22.05, 0000: 44.1, 1000: 88.2, 1100: 176.4, 0110: 24, 0010: 48, 1010: 96, 1110: 192, 0011: 32, 0001: Not indicated, 1001: 768
65  BYTE byClockAccuracy : 2; // 00: Level II, 10: Level I, 01: Level III, 11: Not matched
66  BYTE byReserved1 : 2;
67 
68  BYTE byWordLength : 4; // 0010: 16, 1100: 17, 0100: 18, 1000: 19, 1010: 20, 0011: 20, 1101: 21, 0101: 22, 1001: 23, 1011: 24
69  BYTE byOrigSamplingFreq : 4; // 1111: 44.1, 0111: 88.2, 1011: 22.05, 0011: 176.4, 1101: 48, 0101: 96, 1001: 24, 0001: 192, 0110: 8, 1010: 11.025, 0010: 12, 1100: 32, 1000: 16, 0000: Not indicated
70 
71  BYTE byCGMS_A; // 00: Copying permitted, 10: Condition not be used, 01: One generation only, 11: No copying is permitted
72  } Consumer;
74 
75 static inline int IEC60958_GetBitsPerSample(BYTE byWordLength)
76 {
77  switch (byWordLength) {
78  case 2: return 16;
79  case 3: return 20;
80  case 4: return 18;
81  case 5: return 22;
82  case 8: return 19;
83  case 9: return 23;
84  case 10: return 20;
85  case 11: return 24;
86  case 12: return 17;
87  case 13: return 21;
88  default: return 16;
89  }
90 }
91 
92 static inline DWORD IEC60958P_GetSampleRate(IEC60958_CHANNEL_STATUS * pStatus)
93 {
94  switch (pStatus->Professional.byEncodedSamplingFreq) {
95  case 0:
96  switch (pStatus->Professional.bySamplingFreq) {
97  case 1: return 24000;
98  case 2: return 96000;
99  case 3: return 192000;
100  case 5: return 22050;
101  case 6: return 88200;
102  case 7: return 176400;
103  }
104  break;
105 
106  case 1:
107  return 44100;
108 
109  case 2:
110  return 48000;
111 
112  case 3:
113  return 32000;
114  }
115 
116  return 48000;
117 }
118 
119 static inline DWORD IEC60958C_GetSampleRate(IEC60958_CHANNEL_STATUS * pStatus)
120 {
121  switch (pStatus->Consumer.bySamplingFreq) {
122  case 0: return 44100;
123  case 2: return 48000;
124  case 3: return 32000;
125  case 4: return 22050;
126  case 6: return 24000;
127  case 8: return 88200;
128  case 9: return 768000;
129  case 10: return 96000;
130  case 12: return 176400;
131  case 14: return 192000;
132  }
133 
134  return 44100;
135 }
136 
137 static inline BOOLEAN IEC60958_ParseChannelStatus(IEC60958_CHANNEL_STATUS * pStatus, BOOLEAN * pbLPCM, DWORD * pdwSampleRate, int * pnBitsPerSample)
138 {
139  BOOLEAN bLPCM;
140  DWORD dwSampleRate = 48000;
141  int nBitsPerSample = 16;
142 
143  if (pStatus->Professional.byProfessional) {
144  bLPCM = !pStatus->Professional.byNotLPCM;
145  dwSampleRate = IEC60958P_GetSampleRate(pStatus);
146  nBitsPerSample = IEC60958_GetBitsPerSample(pStatus->Professional.byWordLength);
147  }
148  else {
149  bLPCM = !pStatus->Consumer.byNotLPCM;
150  dwSampleRate = IEC60958C_GetSampleRate(pStatus);
151  nBitsPerSample = IEC60958_GetBitsPerSample(pStatus->Consumer.byWordLength);
152  }
153 
154  if (pbLPCM) *pbLPCM = bLPCM;
155  if (pdwSampleRate) *pdwSampleRate = dwSampleRate;
156  if (pnBitsPerSample) *pnBitsPerSample = nBitsPerSample;
157 
158  return TRUE;
159 }
160 
161 #pragma pack(pop)
Definition: MWIEC60958.h:13
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_s_m_p_t_e_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_s_m_p_t_e_8h_source.html new file mode 100644 index 00000000..940f519f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lib_m_w_capture_2_m_w_s_m_p_t_e_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWSMPTE.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWSMPTE.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 typedef enum _SDI_TYPE {
14  SDI_TYPE_SD,
15  SDI_TYPE_HD,
16  SDI_TYPE_3GA,
17  SDI_TYPE_3GB_DL,
18  SDI_TYPE_3GB_DS,
19  SDI_TYPE_DL_CH1,
20  SDI_TYPE_DL_CH2,
21  SDI_TYPE_6G_MODE1,
22  SDI_TYPE_6G_MODE2
23 } SDI_TYPE;
24 
25 typedef enum _SDI_SCANNING_FORMAT {
26  SDI_SCANING_INTERLACED = 0,
27  SDI_SCANING_SEGMENTED_FRAME = 1,
28  SDI_SCANING_PROGRESSIVE = 3
29 } SDI_SCANNING_FORMAT;
30 
31 typedef enum _ST352_STANDARD {
32  ST352_STANDARD_483_576_270M_360M = 0x1,
33  ST352_STANDARD_720P_1_5G = 0x4,
34  ST352_STANDARD_1080_1_5G = 0x5,
35  ST352_STANDARD_1080_DL_1_5G = 0x7,
36  ST352_STANDARD_720P_3G = 0x8,
37  ST352_STANDARD_1080_3G = 0x9,
38  ST352_STANDARD_DL_3G = 0xA,
39  ST352_STANDARD_720P_DS_3G = 0xB,
40  ST352_STANDARD_1080_DS_3G = 0xC,
41  ST352_STANDARD_483_576_DS_3G = 0xD,
42  ST352_STANDARD_6G_MODE1 = 0x40,
43  ST352_STANDARD_6G_MODE2 = 0x41
44 } ST352_STANDARD;
45 
46 typedef enum _SDI_BIT_DEPTH {
47  SDI_BIT_DEPTH_8BIT = 0,
48  SDI_BIT_DEPTH_10BIT = 1,
49  SDI_BIT_DEPTH_12BIT = 2
50 } SDI_BIT_DEPTH;
51 
52 typedef enum _SDI_SAMPLING_STRUCT {
53  SDI_SAMPLING_422_YCbCr = 0x00,
54  SDI_SAMPLING_444_YCbCr = 0x01,
55  SDI_SAMPLING_444_RGB = 0x02,
56  SDI_SAMPLING_420_YCbCr = 0x03,
57  SDI_SAMPLING_4224_YCbCrA = 0x04,
58  SDI_SAMPLING_4444_YCbCrA = 0x05,
59  SDI_SAMPLING_4444_RGBA = 0x06,
60  SDI_SAMPLING_4224_YCbCrD = 0x08,
61  SDI_SAMPLING_4444_YCbCrD = 0x09,
62  SDI_SAMPLING_4444_RGBD = 0x0A,
63  SDI_SAMPLING_444_XYZ = 0x0E
64 } SDI_SAMPLING_STRUCT;
65 
66 typedef enum _SDI_DYNAMIC_RANGE {
67  SDI_DYNAMIC_RANGE_100_PERCENT = 0,
68  SDI_DYNAMIC_RANGE_200_PERCENT = 1,
69  SDI_DYNAMIC_RANGE_400_PERCENT = 2
70 } SDI_DYNAMIC_RANGE;
71 
72 static const DWORD g_adwFrameDuration[] = {
73  0, // 0, Not defined
74  0, // 1, Reserved
75  417083, // 2, 24/1.001fps
76  416667, // 3, 24fps
77  208542, // 4, 48/1.001fps
78  400000, // 5, 25fps
79  333667, // 6, 30/1.001fps
80  333333, // 7, 30fps
81  208333, // 8, 48fps
82  200000, // 9, 50fps
83  166833, // A, 60/1.001fps
84  166667, // B, 60fps
85  104167, // C, 96fps
86  100000, // D, 100fps
87  83417, // E, 120/1.001 fps
88  83333 // F, 120fps
89 };
90 
91 typedef union _SMPTE_ST352_PAYLOAD_ID {
92  DWORD dwData;
93 
94  struct {
95  BYTE byStandard : 7; // ST352_STANDARD
96  BYTE byVersion : 1; // Must be 1
97 
98  BYTE byPictureRate : 4; // g_adwFrameDuration
99  BYTE byReserved1 : 2;
100  BYTE byProgressivePicture : 1;
101  BYTE byProgressiveTransport : 1; // Not valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_720P_1_5G, ST352_STANDARD_720P_DS_3G, ST352_STANDARD_483_576_DS_3G
102 
103  BYTE bySamplingStruct : 4; // SDI_SAMPLING_STRUCT
104  BYTE byColorimetry : 2; // Valid for ST352_STANDARD_6G_MODE1, ST352_STANDARD_6G_MODE2
105  BYTE byHorzYSampling : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G, ST352_STANDARD_1080_3G
106  BYTE byImageAspectRatio : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G
107 
108  BYTE byBitDepth : 2;
109  BYTE byReserved3 : 1;
110  BYTE byDynamicRange : 2; // Valid for ST352_STANDARD_1080_DL_1_5G, ST352_STANDARD_720P_3G, ST352_STANDARD_1080_3G
111  BYTE byReserved4 : 1;
112  BYTE byChannelAssignment : 1; // Valid for ST352_STANDARD_1080_DL_1_5G
113  BYTE byReserved5 : 1;
114  } V1;
116 
117 #pragma pack(pop)
Definition: MWSMPTE.h:65
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lock_utils_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lock_utils_8h_source.html new file mode 100644 index 00000000..abffca86 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_lock_utils_8h_source.html @@ -0,0 +1,61 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/LockUtils.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
LockUtils.h
+
+
+
1 
2 #pragma once
3 
4 
5 class CMWLock
6 {
7 public:
8  CMWLock() {
9  InitializeCriticalSection(&m_cs);
10  }
11 
12  virtual ~CMWLock() {
13  DeleteCriticalSection(&m_cs);
14  }
15 
16 public:
17  void Lock() {
18  EnterCriticalSection(&m_cs);
19  }
20 
21  void Unlock() {
22  LeaveCriticalSection(&m_cs);
23  }
24 
25  BOOL TryLock() {
26  return TryEnterCriticalSection(&m_cs);
27  }
28 protected:
29  CRITICAL_SECTION m_cs;
30 };
31 
33 {
34 public:
35  CMWAutoLock(CMWLock & section) : m_section(section)
36  {
37  m_section.Lock();
38  }
39 
40  virtual ~CMWAutoLock() {
41  m_section.Unlock();
42  }
43 
44 protected:
45  CMWLock& m_section;
46 };
47 
49 {
50 public:
51  CMWAutoUnLock(CMWLock & section) : m_section(section)
52  {
53  m_section.Unlock();
54  }
55 
56  virtual ~CMWAutoUnLock() {
57  m_section.Lock();
58  }
59 
60 protected:
61  CMWLock& m_section;
62 };
Definition: LockUtils.h:5
+
Definition: LockUtils.h:48
+
Definition: LockUtils.h:32
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_capture_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_capture_8h_source.html new file mode 100644 index 00000000..c9a8b5cd --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_capture_8h_source.html @@ -0,0 +1,162 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWCapture.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWCapture.h
+
+
+
1 /************************************************************************************************/
2 // MWCapture.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 #pragma once
30 
31 #ifdef LIBMWCAPTURE_EXPORTS
32 #define LIBMWCAPTURE_API __declspec(dllexport)
33 #elif LIBMWCAPTURE_DLL
34 #define LIBMWCAPTURE_API __declspec(dllimport)
35 #else
36 #define LIBMWCAPTURE_API
37 #endif
38 
39 #include <stdint.h>
40 #include "MWLinux.h"
41 #include "MWProCapture.h"
42 #include "MWCaptureExtension.h"
43 #include "MWUSBCapture.h"
44 #include "MWUSBCaptureExtension.h"
45 
46 #ifdef __cplusplus
47 
48 extern "C"
49 {
50 #endif
51 
79 LIBMWCAPTURE_API
81  BYTE* pbyMaj,
82  BYTE* pbyMin,
83  WORD* pwBuild
84  );
85 
93 BOOL
94 LIBMWCAPTURE_API
96  );
97 
98 
104 void
105 LIBMWCAPTURE_API
107  );
108 
130 MW_RESULT
131 LIBMWCAPTURE_API
133  );
134 
145 int
146 LIBMWCAPTURE_API
148  );
149 
176 MW_RESULT
177 LIBMWCAPTURE_API
179  int nIndex,
180  MWCAP_CHANNEL_INFO * pChannelInfo
181  );
182 
223 MW_RESULT
224 LIBMWCAPTURE_API
226  int nIndex,
227  LPVOID pFamilyInfo,
228  DWORD dwSize
229  );
230 
258 MW_RESULT
259 LIBMWCAPTURE_API
261  int nIndex,
262  char* pDevicePath
263 );
264 
278 HCHANNEL
279 LIBMWCAPTURE_API
281  const char* pszDevicePath
282  );
283 
298 void
299 LIBMWCAPTURE_API
301  HCHANNEL hChannel
302  );
303 
336 MW_RESULT
337 LIBMWCAPTURE_API
339  HCHANNEL hChannel,
340  MWCAP_CHANNEL_INFO * pChannelInfo
341  );
342 
384 MW_RESULT
385 LIBMWCAPTURE_API
387  HCHANNEL hChannel,
388  LPVOID pFamilyInfo,
389  DWORD dwSize
390  );
391 
424 MW_RESULT
425 LIBMWCAPTURE_API
427  HCHANNEL hChannel,
428  MWCAP_VIDEO_CAPS* pVideoCaps
429  );
430 
463 MW_RESULT
464 LIBMWCAPTURE_API
466  HCHANNEL hChannel,
467  MWCAP_AUDIO_CAPS* pAudioCaps
468  );
469 
515 MW_RESULT
516 LIBMWCAPTURE_API
518  HCHANNEL hChannel,
519  DWORD* pdwInputSource,
520  DWORD* pdwInputCount
521  );
522 
568 MW_RESULT
569 LIBMWCAPTURE_API
571  HCHANNEL hChannel,
572  DWORD* pdwInputSource,
573  DWORD* pdwInputCount
574  );
575 
576 
610 MW_RESULT
611 LIBMWCAPTURE_API
613  HCHANNEL hChannel,
614  BOOLEAN* pbScan
615  );
616 
650 MW_RESULT
651 LIBMWCAPTURE_API
653  HCHANNEL hChannel,
654  BOOLEAN bScan
655  );
656 
694 MW_RESULT
695 LIBMWCAPTURE_API
697  HCHANNEL hChannel,
698  BOOLEAN* pbLink
699  );
700 
734 MW_RESULT
735 LIBMWCAPTURE_API
737  HCHANNEL hChannel,
738  BOOLEAN bLink
739  );
740 
775 MW_RESULT
776 LIBMWCAPTURE_API
778  HCHANNEL hChannel,
779  DWORD* pdwSource
780  );
781 
816 MW_RESULT
817 LIBMWCAPTURE_API
819  HCHANNEL hChannel,
820  DWORD dwSource
821  );
822 
857 MW_RESULT
858 LIBMWCAPTURE_API
860  HCHANNEL hChannel,
861  DWORD* pdwSource
862  );
863 
898 MW_RESULT
899 LIBMWCAPTURE_API
901  HCHANNEL hChannel,
902  DWORD dwSource
903  );
904 
941 MW_RESULT
942 LIBMWCAPTURE_API
943 MWGetEDID(
944  HCHANNEL hChannel,
945  BYTE* pbyData,
946  ULONG* pulSize
947  );
948 
987 MW_RESULT
988 LIBMWCAPTURE_API
989 MWSetEDID(
990  HCHANNEL hChannel,
991  BYTE* pbyData,
992  ULONG ulSize
993  );
994 
1028 MW_RESULT
1029 LIBMWCAPTURE_API
1031  HCHANNEL hChannel,
1032  MWCAP_INPUT_SPECIFIC_STATUS * pInputStatus
1033  );
1034 
1068 MW_RESULT
1069 LIBMWCAPTURE_API
1071  HCHANNEL hChannel,
1072  MWCAP_VIDEO_SIGNAL_STATUS * pSignalStatus
1073  );
1074 
1108 MW_RESULT
1109 LIBMWCAPTURE_API
1111  HCHANNEL hChannel,
1112  MWCAP_AUDIO_SIGNAL_STATUS * pSignalStatus
1113  );
1114 
1150 MW_RESULT
1151 LIBMWCAPTURE_API
1153  HCHANNEL hChannel,
1154  DWORD* pdwValidFlag
1155  );
1156 
1199 MW_RESULT
1200 LIBMWCAPTURE_API
1202  HCHANNEL hChannel,
1204  HDMI_INFOFRAME_PACKET* pPacket
1205  );
1206 
1242 MW_RESULT
1243 LIBMWCAPTURE_API
1245  HCHANNEL hChannel,
1246  int nAspectX,
1247  int nAspectY
1248  );
1249 
1285 MW_RESULT
1286 LIBMWCAPTURE_API
1288  HCHANNEL hChannel,
1289  int* pnAspectX,
1290  int* pnAspectY
1291  );
1292 
1327 MW_RESULT
1328 LIBMWCAPTURE_API
1330  HCHANNEL hChannel,
1331  MWCAP_VIDEO_COLOR_FORMAT colorFormat
1332  );
1333 
1367 MW_RESULT
1368 LIBMWCAPTURE_API
1370  HCHANNEL hChannel,
1371  MWCAP_VIDEO_COLOR_FORMAT * pColorFormat
1372  );
1373 
1408 MW_RESULT
1409 LIBMWCAPTURE_API
1411  HCHANNEL hChannel,
1413  );
1414 
1448 MW_RESULT
1449 LIBMWCAPTURE_API
1451  HCHANNEL hChannel,
1452  MWCAP_VIDEO_QUANTIZATION_RANGE* pQuantRange
1453  );
1454 
1489 MW_RESULT
1490 LIBMWCAPTURE_API
1491 MWSetLEDMode(
1492  HCHANNEL hChannel,
1493  DWORD dwMode
1494  );
1495 
1529 MW_RESULT
1530 LIBMWCAPTURE_API
1532  HCHANNEL hChannel,
1533  MWCAP_FIRMWARE_STORAGE * pFirmwareStorageInfo
1534  );
1535 
1572 MW_RESULT
1573 LIBMWCAPTURE_API
1575  HCHANNEL hChannel,
1576  DWORD cbOffset,
1577  DWORD cbErase
1578  );
1579 
1618 MW_RESULT
1619 LIBMWCAPTURE_API
1621  HCHANNEL hChannel,
1622  DWORD cbOffset,
1623  BYTE * pbyData,
1624  DWORD cbToRead,
1625  DWORD * pcbRead
1626  );
1627 
1665 MW_RESULT
1666 LIBMWCAPTURE_API
1668  HCHANNEL hChannel,
1669  DWORD cbOffset,
1670  BYTE * pbyData,
1671  DWORD cbData
1672  );
1673 
1714 HANDLE
1715 LIBMWCAPTURE_API
1717  HCHANNEL hChannel,
1718  int nWidth,
1719  int nHeight,
1720  int nFourcc,
1721  int nFrameDuration,
1722  VIDEO_CAPTURE_CALLBACK callback,
1723  void* pParam
1724  );
1725 
1788 MW_RESULT
1789 LIBMWCAPTURE_API
1791  HANDLE hVideo
1792  );
1793 
1837 HANDLE
1838 LIBMWCAPTURE_API
1840  HCHANNEL hChannel,
1841  MWCAP_AUDIO_CAPTURE_NODE captureNode,
1842  DWORD dwSamplesPerSec,
1843  WORD wBitsPerSample,
1844  WORD wChannels,
1845  AUDIO_CAPTURE_CALLBACK callback,
1846  void* pParam
1847  );
1848 
1888 MW_RESULT
1889 LIBMWCAPTURE_API
1891  HANDLE hAudio
1892  );
1893 
1928 MW_RESULT
1929  LIBMWCAPTURE_API
1931  HCHANNEL hChannel,
1932  MWCAP_AUDIO_NODE audioNode,
1933  MWCAP_AUDIO_VOLUME* pVolume
1934  );
1935 
1975 MW_RESULT
1976  LIBMWCAPTURE_API
1978  HCHANNEL hChannel,
1979  MWCAP_AUDIO_NODE audioNode,
1980  MWCAP_AUDIO_VOLUME* pVolume
1981  );
1982 
2016 MW_RESULT
2017  LIBMWCAPTURE_API
2019  HCHANNEL hChannel,
2020  BOOLEAN* pbAutoHAlign
2021  );
2022 
2056 MW_RESULT
2057  LIBMWCAPTURE_API
2059  HCHANNEL hChannel,
2060  BOOLEAN bAutoHAlign
2061  );
2062 
2096 MW_RESULT
2097  LIBMWCAPTURE_API
2099  HCHANNEL hChannel,
2100  BYTE * puSamplingPhase
2101  );
2102 
2136 MW_RESULT
2137  LIBMWCAPTURE_API
2139  HCHANNEL hChannel,
2140  BYTE puSamplingPhase
2141  );
2142 
2176 MW_RESULT
2177  LIBMWCAPTURE_API
2179  HCHANNEL hChannel,
2180  BOOLEAN * pbAutoSamplingPhase
2181  );
2182 
2216 MW_RESULT
2217  LIBMWCAPTURE_API
2219  HCHANNEL hChannel,
2220  BOOLEAN bAutoSamplingPhase
2221  );
2222 
2257 MW_RESULT
2258  LIBMWCAPTURE_API
2260  HCHANNEL hChannel,
2261  MWCAP_VIDEO_TIMING * pTiming
2262  );
2263 
2297 MW_RESULT
2298  LIBMWCAPTURE_API
2300  HCHANNEL hChannel,
2301  MWCAP_VIDEO_TIMING_ARRAY * paTimings
2302  );
2303 
2339 MW_RESULT
2340  LIBMWCAPTURE_API
2342  HCHANNEL hChannel,
2343  MWCAP_VIDEO_CUSTOM_TIMING * pCustomTiming
2344  );
2345 
2379 MW_RESULT
2380  LIBMWCAPTURE_API
2382  HCHANNEL hChannel,
2383  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
2384  );
2385 
2424 MW_RESULT
2425  LIBMWCAPTURE_API
2427  HCHANNEL hChannel,
2428  MWCAP_VIDEO_CUSTOM_TIMING_ARRAY * paCustomTimings
2429  );
2430 
2464 MW_RESULT
2465  LIBMWCAPTURE_API
2467  HCHANNEL hChannel,
2468  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
2469  );
2470 
2509 MW_RESULT
2510  LIBMWCAPTURE_API
2512  HCHANNEL hChannel,
2513  MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY * paCustomResolutions
2514  );
2553 MW_RESULT
2554  LIBMWCAPTURE_API
2556  HCHANNEL hChannel,
2557  BYTE byIndex,
2558  BOOLEAN bHANC,
2559  BOOLEAN bVANC,
2560  BYTE byDID,
2561  BYTE bySDID
2562  );
2563 
2599 MW_RESULT
2600  LIBMWCAPTURE_API
2602  HCHANNEL hChannel,
2603  MWCAP_SDI_ANC_PACKET* pPacket
2604  );
2605 
2642 MW_RESULT
2643  LIBMWCAPTURE_API
2645  HCHANNEL hChannel,
2647  int *pCount
2648  );
2649 
2691 MW_RESULT
2692  LIBMWCAPTURE_API
2694  HCHANNEL hChannel,
2696  );
2697 
2737 MW_RESULT
2738  LIBMWCAPTURE_API
2740  HCHANNEL hChannel,
2742  );
2743 
2744 
2784 MW_RESULT
2785 LIBMWCAPTURE_API
2787  HCHANNEL hChannel,
2788  DWORD* pColorFourcc,
2789  int* nCount
2790  );
2791 
2840 MW_RESULT
2841 LIBMWCAPTURE_API
2843  HANDLE hVideo,
2844  MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType,
2845  long * plParamValueMin,
2846  long * plParamValueMax,
2847  long * plParamValueDef
2848  );
2849 
2894 MW_RESULT
2895  LIBMWCAPTURE_API
2897  HANDLE hVideo,
2898  MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType,
2899  long * plParamValue
2900  );
2901 
2902 
2953 MW_RESULT
2954  LIBMWCAPTURE_API
2956  HANDLE hVideo,
2957  MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType,
2958  long lParamValue
2959  );
2960 
2986 MW_RESULT
2987 LIBMWCAPTURE_API
2989  HCHANNEL hChannel,
2990  DWORD dwDelayMS
2991  );
2992 
3026 MW_RESULT
3027 LIBMWCAPTURE_API
3029  HCHANNEL hChannel,
3030  MWCAP_VIDEO_CONNECTION_FORMAT* pConnFormat
3031  );
3065 MW_RESULT
3066  LIBMWCAPTURE_API
3068  HCHANNEL hChannel,
3069  BOOLEAN * pbInputSourceScanning
3070  );
3071 
3105 MW_RESULT
3106  LIBMWCAPTURE_API
3108  HCHANNEL hChannel,
3109  MWCAP_VIDEO_PROCESS_SETTINGS* paProcessSettings
3110  );
3111 
3148 MW_RESULT
3149  LIBMWCAPTURE_API
3151  HCHANNEL hChannel,
3152  MWCAP_VIDEO_PROCESS_SETTINGS* paProcessSettings
3153  );
3154 
3155 #ifdef __cplusplus
3156 }
3157 #endif
MWCAP_AUDIO_CAPS.
Definition: MWCaptureExtension.h:530
+
MW_RESULT LIBMWCAPTURE_API MWGetFirmwareStorageInfo(HCHANNEL hChannel, MWCAP_FIRMWARE_STORAGE *pFirmwareStorageInfo)
Gets firmware storage information.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportListResolution(HCHANNEL hChannel, MWCAP_VIDEO_RESOLUTION_LIST *pList)
Gets resolutions supported by devices when the return mode of MWGetVideoCaptureSupportResolutionMode ...
+
MW_RESULT LIBMWCAPTURE_API MWSetAVInputSourceLink(HCHANNEL hChannel, BOOLEAN bLink)
Sets whether the input video source is linked to its audio automatically.
+
MWCAP_FIRMWARE_STORAGE.
Definition: MWCaptureExtension.h:574
+
MW_RESULT LIBMWCAPTURE_API MWSetEDID(HCHANNEL hChannel, BYTE *pbyData, ULONG ulSize)
Sets EDID of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoProcParam(HANDLE hVideo, MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType, long lParamValue)
Sets the specified video processing parameters.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureProcessSettings(HCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *paProcessSettings)
Gets the video process settings of specified channel.
+
void LIBMWCAPTURE_API MWCaptureExitInstance()
Quits instance.
+
MW_RESULT LIBMWCAPTURE_API MWGetAudioInputSourceArray(HCHANNEL hChannel, DWORD *pdwInputSource, DWORD *pdwInputCount)
Gets the input audio signal types supported by the channel.
+
enum _MWCAP_AUDIO_NODE MWCAP_AUDIO_NODE
MWCAP_AUDIO_NODE.
+
MW_RESULT LIBMWCAPTURE_API MWSetInputSourceScan(HCHANNEL hChannel, BOOLEAN bScan)
Sets the scan state of input source.
+
enum _MWCAP_AUDIO_CAPTURE_NODE MWCAP_AUDIO_CAPTURE_NODE
MWCAP_AUDIO_CAPTURE_NODE.
+
void LIBMWCAPTURE_API MWCloseChannel(HCHANNEL hChannel)
Closes capture channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputSource(HCHANNEL hChannel, DWORD dwSource)
Sets the video input source of the specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoResolutions(HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Gets the custom resolutions in vga timing of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureSetSDIANCType(HCHANNEL hChannel, BYTE byIndex, BOOLEAN bHANC, BOOLEAN bVANC, BYTE byDID, BYTE bySDID)
Sets the ANC data types to be captured for SDI signal.
+
HDMI_INFOFRAME_PACKET.
Definition: MWHDMIPackets.h:333
+
MWCAP_VIDEO_TIMING.
Definition: MWCaptureExtension.h:335
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportResolutionMode(HCHANNEL hChannel, MWCAP_VIDEO_RESOLUTION_MODE *pMode, int *pCount)
Gets resolution mode supported by devices, including MWCAP_VIDEO_RESOLUTION_MODE_LIST when the resolu...
+
MWCAP_VIDEO_RESOLUTION_RANGE.
Definition: MWCaptureExtension.h:1530
+
HANDLE LIBMWCAPTURE_API MWCreateVideoCapture(HCHANNEL hChannel, int nWidth, int nHeight, int nFourcc, int nFrameDuration, VIDEO_CAPTURE_CALLBACK callback, void *pParam)
Uses the v4l function to create video capture.
+
MWCAP_VIDEO_SIGNAL_STATUS.
Definition: MWCaptureExtension.h:757
+
enum _MWCAP_VIDEO_QUANTIZATION_RANGE MWCAP_VIDEO_QUANTIZATION_RANGE
MWCAP_VIDEO_QUANTIZATION_RANGE.
+
MWCAP_AUDIO_SIGNAL_STATUS.
Definition: MWCaptureExtension.h:784
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoProcParamRange(HANDLE hVideo, MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType, long *plParamValueMin, long *plParamValueMax, long *plParamValueDef)
Gets range of video processing parameters.
+
MW_RESULT LIBMWCAPTURE_API MWWriteFirmwareData(HCHANNEL hChannel, DWORD cbOffset, BYTE *pbyData, DWORD cbData)
Writes firmware data to specified channel.
+
MWCAP_CHANNEL_INFO.
Definition: MWCaptureExtension.h:415
+
enum _MWCAP_HDMI_INFOFRAME_ID MWCAP_HDMI_INFOFRAME_ID
MWCAP_HDMI_INFOFRAME_ID.
+
MW_RESULT LIBMWCAPTURE_API MWSetAudioInputSource(HCHANNEL hChannel, DWORD dwSource)
Sets current audio input source of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetPostReconfig(HCHANNEL hChannel, DWORD dwDelayMS)
Sends instructions for rereading configurations to delay the execution.
+
MW_RESULT LIBMWCAPTURE_API MWGetInputSpecificStatus(HCHANNEL hChannel, MWCAP_INPUT_SPECIFIC_STATUS *pInputStatus)
Gets the specific status of input signal.
+
MW_RESULT LIBMWCAPTURE_API MWGetFamilyInfoByIndex(int nIndex, LPVOID pFamilyInfo, DWORD dwSize)
Gets the product family based on the index.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportRangeResolution(HCHANNEL hChannel, MWCAP_VIDEO_RESOLUTION_RANGE *pRange)
Gets resolution range supported by the device, when the return mode of MWGetVideoCaptureSupportResolu...
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputColorFormat(HCHANNEL hChannel, MWCAP_VIDEO_COLOR_FORMAT colorFormat)
Sets color format of input video.
+
HANDLE LIBMWCAPTURE_API MWCreateAudioCapture(HCHANNEL hChannel, MWCAP_AUDIO_CAPTURE_NODE captureNode, DWORD dwSamplesPerSec, WORD wBitsPerSample, WORD wChannels, AUDIO_CAPTURE_CALLBACK callback, void *pParam)
Create audio capture using the v4l function.
+
MW_RESULT LIBMWCAPTURE_API MWGetHDMIInfoFrameValidFlag(HCHANNEL hChannel, DWORD *pdwValidFlag)
Gets valid flag of HDMI InfoFrame.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputColorFormat(HCHANNEL hChannel, MWCAP_VIDEO_COLOR_FORMAT *pColorFormat)
Gets color format of input video.
+
MW_RESULT LIBMWCAPTURE_API MWSetAudioVolume(HCHANNEL hChannel, MWCAP_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Sets the volume of audio capture device.
+
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoTiming(HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING *pCustomTiming)
Sets the custom vga timing of specified channel.
+
MWCAP_INPUT_SPECIFIC_STATUS.
Definition: MWCaptureExtension.h:727
+
MW_RESULT LIBMWCAPTURE_API MWDestoryAudioCapture(HANDLE hAudio)
Stops audio capturing.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureGetSDIANCPacket(HCHANNEL hChannel, MWCAP_SDI_ANC_PACKET *pPacket)
Captures specified SDI ANC data.
+
Definition: MWUSBCaptureExtension.h:255
+
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoTimings(HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Gets the custom vga timing of specified channel.
+
enum _MWCAP_VIDEO_COLOR_FORMAT MWCAP_VIDEO_COLOR_FORMAT
MWCAP_VIDEO_COLOR_FORMAT.
+
MW_RESULT LIBMWCAPTURE_API MWGetVersion(BYTE *pbyMaj, BYTE *pbyMin, WORD *pwBuild)
Gets the version number of SDK.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputAspectRatio(HCHANNEL hChannel, int nAspectX, int nAspectY)
Sets aspect ratio of input video source.
+
MW_RESULT LIBMWCAPTURE_API MWGetAudioSignalStatus(HCHANNEL hChannel, MWCAP_AUDIO_SIGNAL_STATUS *pSignalStatus)
Gets the audio signal status of specified channel.
+
MWCAP_SDI_ANC_PACKET.
Definition: MWCaptureExtension.h:1720
+
MW_RESULT LIBMWCAPTURE_API MWGetAudioInputSource(HCHANNEL hChannel, DWORD *pdwSource)
Gets current input audio source of the specified channel.
+
Definition: MWUSBCaptureExtension.h:245
+
MWCAP_VIDEO_CUSTOM_TIMING.
Definition: MWCaptureExtension.h:1624
+
MW_RESULT LIBMWCAPTURE_API MWSetLEDMode(HCHANNEL hChannel, DWORD dwMode)
Sets LED mode.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputAspectRatio(HCHANNEL hChannel, int *pnAspectX, int *pnAspectY)
Gets aspect ratio of input video source.
+
int LIBMWCAPTURE_API MWGetChannelCount()
Gets the total number of channels.
+
MW_RESULT LIBMWCAPTURE_API MWGetInputSourceScan(HCHANNEL hChannel, BOOLEAN *pbScan)
Gets the scan state of input source.
+
MW_RESULT LIBMWCAPTURE_API MWGetHDMIInfoFramePacket(HCHANNEL hChannel, MWCAP_HDMI_INFOFRAME_ID id, HDMI_INFOFRAME_PACKET *pPacket)
Gets HDMI InfoFrame data.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoTiming(HCHANNEL hChannel, MWCAP_VIDEO_TIMING *pTiming)
Sets the vga timing of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoAutoHAlign(HCHANNEL hChannel, BOOLEAN bAutoHAlign)
Sets whether to adjust horizontal alignment of the vga timing automatically.
+
enum _MW_RESULT_ MW_RESULT
MW_RESULT.
+
MW_RESULT LIBMWCAPTURE_API MWGetAudioCaps(HCHANNEL hChannel, MWCAP_AUDIO_CAPS *pAudioCaps)
Gets audio capture capability of the channel.
+
MWCAP_VIDEO_RESOLUTION_LIST.
Definition: MWCaptureExtension.h:1545
+
enum _VIDEO_RESOLUTION_MODE MWCAP_VIDEO_RESOLUTION_MODE
MWCAP_VIDEO_RESOLUTION_MODE.
+
MW_RESULT LIBMWCAPTURE_API MWGetDevicePath(int nIndex, char *pDevicePath)
Gets the instance path of capture device based on the index.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoSignalStatus(HCHANNEL hChannel, MWCAP_VIDEO_SIGNAL_STATUS *pSignalStatus)
Gets video signal status of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoSamplingPhase(HCHANNEL hChannel, BYTE puSamplingPhase)
Sets the phase of the specified input vga timing.
+
MWCAP_VIDEO_CONNECTION_FORMAT.
Definition: MWCaptureExtension.h:1446
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportColorFormat(HCHANNEL hChannel, DWORD *pColorFourcc, int *nCount)
Uses v4l2 to get the device supported color spaces.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputSource(HCHANNEL hChannel, DWORD *pdwSource)
Gets current video input source of the channel.
+
MW_RESULT LIBMWCAPTURE_API MWGetInputSourceScanState(HCHANNEL hChannel, BOOLEAN *pbInputSourceScanning)
Gets whether to scan the input signal source of specified channel automatically.
+
MW_RESULT LIBMWCAPTURE_API MWGetFamilyInfo(HCHANNEL hChannel, LPVOID pFamilyInfo, DWORD dwSize)
Gets attributions of product family which the capture device belongs to.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaps(HCHANNEL hChannel, MWCAP_VIDEO_CAPS *pVideoCaps)
Gets video capture capability of the specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputQuantizationRange(HCHANNEL hChannel, MWCAP_VIDEO_QUANTIZATION_RANGE *pQuantRange)
Gets quantization range of input video.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoProcParam(HANDLE hVideo, MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType, long *plParamValue)
Gets current video processing settings.
+
MW_RESULT LIBMWCAPTURE_API MWGetAVInputSourceLink(HCHANNEL hChannel, BOOLEAN *pbLink)
Gets whether the input audio input source is related to video input source.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputSourceArray(HCHANNEL hChannel, DWORD *pdwInputSource, DWORD *pdwInputCount)
Gets the input video signal types supported by the channel.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureConnectionFormat(HCHANNEL hChannel, MWCAP_VIDEO_CONNECTION_FORMAT *pConnFormat)
Gets the connection format of capture pin.
+
HCHANNEL LIBMWCAPTURE_API MWOpenChannelByPath(const char *pszDevicePath)
Opens capture channel by device instance path.
+
void(* AUDIO_CAPTURE_CALLBACK)(const BYTE *pbFrame, int cbFrame, uint64_t u64TimeStamp, void *pParam)
Callback function of audio capture.
Definition: MWCaptureExtension.h:1696
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoAutoHAlign(HCHANNEL hChannel, BOOLEAN *pbAutoHAlign)
Gets whether to adjust horizontal alignment of the vga timing automatically.
+
MW_RESULT LIBMWCAPTURE_API MWGetChannelInfoByIndex(int nIndex, MWCAP_CHANNEL_INFO *pChannelInfo)
Gets the channel info by its index.
+
void(* VIDEO_CAPTURE_CALLBACK)(BYTE *pBuffer, long iBufferLen, void *pParam)
Callback function of video capture.
Definition: MWCaptureExtension.h:1688
+
MW_RESULT LIBMWCAPTURE_API MWGetEDID(HCHANNEL hChannel, BYTE *pbyData, ULONG *pulSize)
Gets the EDID of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoTimings(HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
Sets the custom vga timing array of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWReadFirmwareData(HCHANNEL hChannel, DWORD cbOffset, BYTE *pbyData, DWORD cbToRead, DWORD *pcbRead)
Read firmware data from specified channel.
+
Definition: MWUSBCaptureExtension.h:173
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoSamplingPhase(HCHANNEL hChannel, BYTE *puSamplingPhase)
Gets the phase of the specified input vga timing.
+
MW_RESULT LIBMWCAPTURE_API MWEraseFirmwareData(HCHANNEL hChannel, DWORD cbOffset, DWORD cbErase)
Erases firmware data.
+
MW_RESULT LIBMWCAPTURE_API MWGetAudioVolume(HCHANNEL hChannel, MWCAP_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Gets the volume value of audio capture device.
+
enum _MWCAP_VIDEO_PROC_PARAM_TYPE MWCAP_VIDEO_PROC_PARAM_TYPE
MWCAP_VIDEO_PROC_PARAM_TYPE.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputQuantizationRange(HCHANNEL hChannel, MWCAP_VIDEO_QUANTIZATION_RANGE quantRange)
Sets quantization range of input video.
+
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoResolutions(HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
Sets the custom resolutions in vga timing of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWGetPreferredVideoTimings(HCHANNEL hChannel, MWCAP_VIDEO_TIMING_ARRAY *paTimings)
Gets the preffered vga timing array of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoCaptureProcessSettings(HCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *paProcessSettings)
Sets the video process parameters of specified channel.
+
BOOL LIBMWCAPTURE_API MWCaptureInitInstance()
Initializes the MWCapture interfaces.
+
MW_RESULT LIBMWCAPTURE_API MWRefreshDevice()
Refreshes device list.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoSamplingPhaseAutoAdjust(HCHANNEL hChannel, BOOLEAN bAutoSamplingPhase)
Sets whether to automatically adjust the phase of vga timing sampling.
+
MW_RESULT LIBMWCAPTURE_API MWDestoryVideoCapture(HANDLE hVideo)
Stops video capturing.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoSamplingPhaseAutoAdjust(HCHANNEL hChannel, BOOLEAN *pbAutoSamplingPhase)
Gets whether to adjust the phase of the specified input vga timing automatically. ...
+
MWCAP_VIDEO_PROCESS_SETTINGS.
Definition: MWCaptureExtension.h:1472
+
Definition: MWUSBCaptureExtension.h:250
+
MW_RESULT LIBMWCAPTURE_API MWGetChannelInfo(HCHANNEL hChannel, MWCAP_CHANNEL_INFO *pChannelInfo)
Gets channel information.
+
MWCAP_VIDEO_CAPS.
Definition: MWCaptureExtension.h:485
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_capture_extension_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_capture_extension_8h_source.html new file mode 100644 index 00000000..b6fece41 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_capture_extension_8h_source.html @@ -0,0 +1,588 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWCaptureExtension.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWCaptureExtension.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #include <stdint.h>
11 #include "WinTypes.h"
12 #include "MWCommon.h"
13 #include "MWSMPTE.h"
14 #include "MWIEC60958.h"
15 #include "MWHDMIPackets.h"
16 
17 #ifndef _MAX_PATH
18 #define _MAX_PATH (512)
19 #endif
20 
21 #pragma pack(push)
22 #pragma pack(1)
23 
24 #ifdef __cplusplus
25 extern "C"
26 {
27 #endif
28 
29 #ifndef HPCICHANNEL
30 #define HPCICHANNEL int
31 #endif
32 
33 #ifndef HCHANNEL
34 #define HCHANNEL void *
35 #endif
36 
37 #ifndef MWCAP_PTR64
38 #define MWCAP_PTR64 MWCAP_PTR
39 #endif
40 
41 #ifndef MWHANDLE
42 #define MWHANDLE MWCAP_PTR
43 #endif
44 
45 #ifndef LPBYTE
46 #define LPBYTE unsigned char*
47 #endif
48 
49 #ifndef HTIMER
50 #define HTIMER MWCAP_PTR
51 #endif
52 
53 #ifndef HNOTIFY
54 #define HNOTIFY MWCAP_PTR
55 #endif
56 
57 #ifndef HOSD
58 #define HOSD MWCAP_PTR
59 #endif
60 
61 #ifndef LPVOID
62 #define LPVOID void *
63 #endif
64 
65 #ifndef ULONG
66 #define ULONG unsigned long
67 #endif
68 
69 #ifndef HANDLE64
70 #define HANDLE64 MWCAP_PTR
71 #endif
72 
73 #ifdef __cplusplus
74 }
75 #endif
76 
78 // Magewell Capture Extensions
79 
81 // Data structs
82 typedef CHAR MWCAP_BOOL;
83 
84 typedef union _LARGE_INTEGER {
85  struct {
86  DWORD LowPart;
87  DWORD HighPart;
88  };
89  struct {
90  DWORD LowPart;
91  DWORD HighPart;
92  } u;
93  LONGLONG QuadPart;
95 
101 typedef enum _MW_RESULT_ {
102  MW_SUCCEEDED = 0x00,
104  MW_ENODATA,
106 } MW_RESULT;
114 #define INPUT_SOURCE(type, index) (((type) << 8) | ((index) & 0xFF))
115 
121 #define INPUT_TYPE(source) ((source) >> 8)
122 
128 #define INPUT_INDEX(source) ((source) & 0xFF)
129 
135 typedef enum _MWCAP_PRODUCT_ID {
155 
161 
172 
178 typedef enum _MWCAP_VIDEO_INPUT_TYPE {
187 
193 typedef enum _MWCAP_AUDIO_INPUT_TYPE {
200 
206 typedef enum _MWCAP_PCIE_LINK_TYPE {
212 
228 
242 
253 
265 
278 
290 
301 
313 
319 typedef struct _MWCAP_VIDEO_SYNC_INFO {
320  BYTE bySyncType;
321  BOOLEAN bHSPolarity;
322  BOOLEAN bVSPolarity;
323  BOOLEAN bInterlaced;
328 
335 typedef struct _MWCAP_VIDEO_TIMING {
336  DWORD dwType;
337  DWORD dwPixelClock;
338  BOOLEAN bInterlaced;
339  BYTE bySyncType;
340  BOOLEAN bHSPolarity;
341  BOOLEAN bVSPolarity;
342  WORD wHActive;
344  WORD wHSyncWidth;
345  WORD wHBackPorch;
346  WORD wVActive;
348  WORD wVSyncWidth;
349  WORD wVBackPorch;
351 
362  WORD wAspectX;
363  WORD wAspectY;
364  WORD x;
365  WORD y;
366  WORD cx;
367  WORD cy;
368  WORD cxTotal;
369  BYTE byClampPos;
371 
372 typedef struct _MWCAP_SIZE {
373  WORD cx;
374  WORD cy;
375 } MWCAP_SIZE;
376 
377 typedef struct _MWCAP_RECT {
378  WORD x;
379  WORD y;
380  WORD cx;
381  WORD cy;
382 } MWCAP_RECT;
383 
390  DWORD dwMin;
391  DWORD dwMax;
392  DWORD dwStep;
393  DWORD dwDefault;
395 
396 #define MWCAP_DWORD_PARAMETER_FLAG_AUTO 0x01
397 
404  DWORD dwFlags;
405  DWORD dwValue;
407 
415 typedef struct _MWCAP_CHANNEL_INFO {
416  WORD wFamilyID;
417  WORD wProductID;
422  CHAR szFamilyName[MW_FAMILY_NAME_LEN];
423  CHAR szProductName[MW_PRODUCT_NAME_LEN];
424  CHAR szFirmwareName[MW_FIRMWARE_NAME_LEN];
425  CHAR szBoardSerialNo[MW_SERIAL_NO_LEN];
429 
437 typedef struct _MWCAP_PRO_CAPTURE_INFO {
438  BYTE byPCIBusID;
439  BYTE byPCIDevID;
440  BYTE byLinkType;
441  BYTE byLinkWidth;
448 
457 
458 
485 typedef struct _MWCAP_VIDEO_CAPS {
486  DWORD dwCaps;
492 
530 typedef struct _MWCAP_AUDIO_CAPS {
531  DWORD dwCaps;
533 
541  DWORD cbStorage;
542  DWORD cbEraseBlock;
546 
554  DWORD cbStorage;
555  DWORD cbEraseBlock;
558 
561  DWORD cbMRFSOffset;
563 
574 typedef union _MWCAP_FIRMWARE_STORAGE {
575  MWCAP_FIRMWARE_STORAGE_CARD firmwareStorageCard;
576  MWCAP_FIRMWARE_STORAGE_USB firmwareStorageUSB;
578 
584 typedef struct _MWCAP_FIRMWARE_ERASE {
585  DWORD cbOffset;
586  DWORD cbErase;
588 
594 typedef enum _MWCAP_LED_MODE {
595  MWCAP_LED_AUTO = 0x00000000,
596  MWCAP_LED_OFF = 0x80000000,
597  MWCAP_LED_ON = 0x80000001,
598  MWCAP_LED_BLINK = 0x80000002,
599  MWCAP_LED_DBL_BLINK = 0x80000003,
600  MWCAP_LED_BREATH = 0x80000004
602 
613  SDI_TYPE sdiType;
614  SDI_SCANNING_FORMAT sdiScanningFormat;
615  SDI_BIT_DEPTH sdiBitDepth;
616  SDI_SAMPLING_STRUCT sdiSamplingStruct;
617  BOOLEAN bST352DataValid;
618  DWORD dwST352Data;
620 
631 typedef struct _MWCAP_HDMI_VIDEO_TIMING {
632  BOOLEAN bInterlaced;
634  WORD wHSyncWidth;
636  WORD wHBackPorch;
637  WORD wHActive;
650 
661  BOOLEAN bHDMIMode;
662  BOOLEAN bHDCP;
663  BYTE byBitDepth;
664  HDMI_PXIEL_ENCODING pixelEncoding;
665  BYTE byVIC;
666  BOOLEAN bITContent;
667  BOOLEAN b3DFormat;
672 
684  BOOLEAN bTriLevelSync;
688 
705 
717  BOOLEAN b50Hz;
719 
728  BOOLEAN bValid;
730  union {
735  };
737 
749 
759  int x;
760  int y;
761  int cx;
762  int cy;
763  int cxTotal;
764  int cyTotal;
765  BOOLEAN bInterlaced;
767  int nAspectX;
768  int nAspectY;
769  BOOLEAN bSegmentedFrame;
775 
776 
786  BOOLEAN bLPCM;
788  DWORD dwSampleRate;
792 
793 // Hardware timer
794 typedef struct _MWCAP_TIMER_EXPIRE_TIME {
795  MWCAP_PTR pvTimer;
796  LONGLONG llExpireTime;
798 
800  MWCAP_PTR pvTimer; // get
801  MWCAP_PTR pvEvent; // set
803 
812 #define MWCAP_NOTIFY_INPUT_SORUCE_START_SCAN 0x0001ULL
813 
821 #define MWCAP_NOTIFY_INPUT_SORUCE_STOP_SCAN 0x0002ULL
822 
830 #define MWCAP_NOTIFY_INPUT_SORUCE_SCAN_CHANGE 0x0003ULL
831 
832 
841 #define MWCAP_NOTIFY_VIDEO_INPUT_SOURCE_CHANGE 0x0004ULL
842 
851 #define MWCAP_NOTIFY_AUDIO_INPUT_SOURCE_CHANGE 0x0008ULL
852 
861 #define MWCAP_NOTIFY_INPUT_SPECIFIC_CHANGE 0x0010ULL
862 
863 
872 #define MWCAP_NOTIFY_VIDEO_SIGNAL_CHANGE 0x0020ULL
873 
874 
883 #define MWCAP_NOTIFY_AUDIO_SIGNAL_CHANGE 0x0040ULL
884 
885 
894 #define MWCAP_NOTIFY_VIDEO_FIELD_BUFFERING 0x0080ULL
895 
904 #define MWCAP_NOTIFY_VIDEO_FRAME_BUFFERING 0x0100ULL
905 
914 #define MWCAP_NOTIFY_VIDEO_FIELD_BUFFERED 0x0200ULL
915 
924 #define MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED 0x0400ULL
925 
934 #define MWCAP_NOTIFY_VIDEO_SMPTE_TIME_CODE 0x0800ULL
935 
936 
945 #define MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED 0x1000ULL
946 
955 #define MWCAP_NOTIFY_AUDIO_INPUT_RESET 0x2000ULL
956 
957 
966 #define MWCAP_NOTIFY_VIDEO_SAMPLING_PHASE_CHANGE 0x4000ULL
967 
976 #define MWCAP_NOTIFY_LOOP_THROUGH_CHANGED 0x8000ULL
977 
986 #define MWCAP_NOTIFY_LOOP_THROUGH_EDID_CHANGED 0x10000ULL
987 
996 #define MWCAP_NOTIFY_NEW_SDI_ANC_PACKET 0x20000ULL
997 
998 
1007 #define MWCAP_NOTIFY_HDMI_INFOFRAME_AVI (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_AVI))
1008 
1017 #define MWCAP_NOTIFY_HDMI_INFOFRAME_AUDIO (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_AUDIO))
1018 
1027 #define MWCAP_NOTIFY_HDMI_INFOFRAME_SPD (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_SPD))
1028 
1037 #define MWCAP_NOTIFY_HDMI_INFOFRAME_MS (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_MS))
1038 
1047 #define MWCAP_NOTIFY_HDMI_INFOFRAME_VS (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_VS))
1048 
1057 #define MWCAP_NOTIFY_HDMI_INFOFRAME_ACP (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ACP))
1058 
1067 #define MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC1 (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ISRC1))
1068 
1077 #define MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC2 (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ISRC2))
1078 
1087 #define MWCAP_NOTIFY_HDMI_INFOFRAME_GAMUT (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_GAMUT))
1088 
1090  MWCAP_PTR pvNotify; // get
1091  ULONGLONG ullEnableBits; // set
1092  MWCAP_PTR pvEvent; // set
1094 
1095 typedef struct _MWCAP_NOTIFY_STATUS {
1096  MWCAP_PTR pvNotify; // set
1097  ULONGLONG ullStatusBits; // get
1099 
1100 typedef struct _MWCAP_NOTIFY_ENABLE {
1101  BOOLEAN bInterrupt;
1102  //MWCAP_PTR pvNotify; // set
1103  ULONGLONG ullEnableBits; // set
1105 
1106 // Video frame information
1107 #define MWCAP_MAX_VIDEO_FRAME_COUNT 8
1108 
1129 typedef struct _MWCAP_SMPTE_TIMECODE {
1130  BYTE byFrames;
1131  BYTE bySeconds;
1132  BYTE byMinutes;
1133  BYTE byHours;
1135 
1148 
1157  DWORD cMaxFrames;
1158 
1161 
1164 
1168 
1176 typedef struct _MWCAP_VIDEO_FRAME_INFO {
1178 
1179  BOOLEAN bInterlaced;
1181  BOOLEAN bTopFieldFirst;
1183 
1184  int cx;
1185  int cy;
1186  int nAspectX;
1187  int nAspectY;
1188 
1189  LONGLONG allFieldStartTimes[2];
1190  LONGLONG allFieldBufferedTimes[2];
1191  MWCAP_SMPTE_TIMECODE aSMPTETimeCodes[2];
1193 
1194 // Video capture
1196  MWCAP_PTR hEvent;
1198 
1199 #define MWCAP_VIDEO_MAX_NUM_OSD_RECTS 4
1200 
1213 #define MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED (-1)
1214 
1227 #define MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERING (-2)
1228 
1241 #define MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERED (-3)
1242 
1255 #define MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERING (-4)
1256 
1263 #define MWCAP_VIDEO_FRAME_ID_EMPTY (-100)
1264 
1271 #define MWCAP_VIDEO_PROCESS_FLIP 0x00000001
1272 
1279 #define MWCAP_VIDEO_PROCESS_MIRROR 0x00000002
1280 
1281 
1283  // Processing parameters
1284  DWORD dwFOURCC;
1285  WORD cx;
1286  WORD cy;
1287  int nAspectX;
1288  int nAspectY;
1289  MWCAP_VIDEO_COLOR_FORMAT colorFormat;
1290  MWCAP_VIDEO_QUANTIZATION_RANGE quantRange;
1292 
1293  SHORT sContrast; // [50, 200]
1294  SHORT sBrightness; // [-100, 100]
1295  SHORT sSaturation; // [0, 200]
1296  SHORT sHue; // [-90, 90]
1297 
1298  RECT rectSource;
1299  RECT rectTarget;
1300 
1301  MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode;
1302  MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode;
1303 
1304  // Source frame
1305  int iSrcFrame;
1306 
1307  // OSD (within rectTarget and [0,0-cx,cy))
1308  MWCAP_PTR pOSDImage;
1309  RECT aOSDRects[MWCAP_VIDEO_MAX_NUM_OSD_RECTS];
1310  int cOSDRects;
1311 
1312  // Buffer parameters
1313  BOOLEAN bPhysicalAddress;
1314  union {
1315  MWCAP_PTR pvFrame;
1316  LARGE_INTEGER liPhysicalAddress;
1317  };
1318 
1319  DWORD cbFrame;
1320  DWORD cbStride;
1321 
1322  BOOLEAN bBottomUp;
1323 
1324  // 0: Not use partial notify
1325  WORD cyPartialNotify;
1326 
1327  DWORD dwProcessSwitchs; // MWCAP_VIDEO_PROCESS_xx
1328 
1329  // Context
1330  MWCAP_PTR pvContext;
1332 
1333 
1342  MWCAP_PTR pvContext;
1343 
1345  union {
1346  MWCAP_PTR pvFrame;
1348  };
1349 
1350  int iFrame;
1355 
1356 // Audio capture
1357 #define MWCAP_AUDIO_FRAME_SYNC_CODE 0xFECA0357
1358 
1365 #define MWCAP_AUDIO_SAMPLES_PER_FRAME 192
1366 
1373 #define MWCAP_AUDIO_MAX_NUM_CHANNELS 8
1374 
1375 // Audio samples are 32bits wide, cBitsPerSample of high bits are valid
1384  DWORD cFrameCount;
1385  DWORD iFrame;
1386  DWORD dwSyncCode;
1387  DWORD dwReserved;
1388  LONGLONG llTimestamp;
1391 
1392 
1415 
1435 
1437  int nAspectX;
1438  int nAspectY;
1440 
1447  // Valid flag
1448  BOOLEAN bConnected;
1449 
1450  // Basic information
1451  LONG cx;
1452  LONG cy;
1454  DWORD dwFOURCC;
1455 
1456  // Preferred parameters
1457  int nAspectX;
1458  int nAspectY;
1463 
1475  int nAspectX;
1476  int nAspectY;
1477  BOOLEAN bLowLatency;
1484 
1485 #define MWCAP_VIDEO_MAX_NUM_PREFERRED_TIMINGS 8
1486 
1488  WORD cx; // set
1489  WORD cy; // set
1490  MWCAP_PTR pvImage; // get
1492 
1493 typedef struct _MWCAP_VIDEO_IMAGE_REF {
1494  MWCAP_PTR pvImage; // set
1495  int nRefCount; // get
1497 
1509 
1510 
1518 typedef struct _VIDEO_RESOLUTION{
1519  int cx;
1520  int cy;
1522 
1531  int nStepCx;
1532  int nStepCy;
1536 
1537 
1545 typedef struct _VIDEO_RESOLUTION_LIST{
1549 
1565 
1566 
1567 
1569  // Destination parameters
1570  MWCAP_PTR pvDestImage;
1571  MWCAP_VIDEO_COLOR_FORMAT cfDest;
1572  WORD xDest;
1573  WORD yDest;
1574  WORD cxDest;
1575  WORD cyDest;
1576 
1577  MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest;
1578  MWCAP_VIDEO_SATURATION_RANGE satRangeDest;
1579 
1580  // Source parameters
1581  BOOLEAN bSrcPhysicalAddress;
1582  union {
1583  MWCAP_PTR pvSrcFrame;
1584  LARGE_INTEGER liSrcPhysicalAddress;
1585  };
1586 
1587  DWORD cbSrcFrame;
1588  DWORD cbSrcStride;
1589 
1590  WORD cxSrc;
1591  WORD cySrc;
1592  BOOLEAN bSrcBottomUp;
1593  BOOLEAN bSrcPixelAlpha;
1594  BOOLEAN bSrcPixelXBGR;
1596 
1597 
1607  BOOLEAN bEnable;
1608  char szPNGFilePath[_MAX_PATH];
1610 
1611 typedef struct _MWCAP_VIDEO_OSD_IMAGE {
1612  MWCAP_PTR pvOSDImage;
1613  RECT aOSDRects[MWCAP_VIDEO_MAX_NUM_OSD_RECTS];
1614  int cOSDRects;
1616 
1625  MWCAP_VIDEO_SYNC_INFO syncInfo;
1626  MWCAP_VIDEO_TIMING_SETTINGS videoTimingSettings;
1628 
1629 
1630 typedef struct _MWCAP_VIDEO_PIN_BUFFER {
1631  MWCAP_PTR pvBuffer;
1632  DWORD cbBuffer;
1633  int mem_type; /* see mw-dma-mem.h */
1634  unsigned long long reserved;
1636 
1637 typedef enum _MW_VIDEO_CAPTURE_MODE {
1638  MW_VIDEO_CAPTURE_NORMAL = 0x00,
1639  MW_VIDEO_CAPTURE_LOW_LATENCY,
1640 } MW_VIDEO_CAPTURE_MODE;
1641 
1656 
1665 typedef enum _MWCAP_AUDIO_NODE {
1675 
1676 typedef void(*LPFN_VIDEO_CAPTURE_CALLBACK)(MWCAP_PTR pbFrame, DWORD cbFrame, DWORD cbStride, MWCAP_VIDEO_FRAME_INFO* pFrameInfo, void* pvContent);
1677 typedef void(*LPFN_AUDIO_CAPTURE_CALLBACK)(MWCAP_AUDIO_CAPTURE_FRAME* pAudioCaptureFrame, void* pvContent);
1678 typedef void(*LPFN_TIMER_CALLBACK)(HTIMER pTimer, void* pvContent);
1679 typedef void(*LPFN_NOTIFY_CALLBACK)(MWCAP_PTR pNotify, DWORD dwEnableBits, void* pvContent);
1680 
1688 typedef void (*VIDEO_CAPTURE_CALLBACK)(BYTE *pBuffer, long iBufferLen, void* pParam);
1696 typedef void (*AUDIO_CAPTURE_CALLBACK)(const BYTE * pbFrame, int cbFrame, uint64_t u64TimeStamp, void* pParam);
1697 
1705 typedef struct _MWCAP_SDI_ANC_TYPE {
1706  BYTE byId;
1707  BOOLEAN bHANC;
1708  BOOLEAN bVANC;
1709  BYTE byDID;
1710  BYTE bySDID;
1712 
1720 typedef struct _MWCAP_SDI_ANC_PACKET {
1721  BYTE byDID;
1722  BYTE bySDID;
1723  BYTE byDC;
1724  BYTE abyUDW[255];
1725  BYTE abyReserved[2];
1727 
1734  MWCAP_PTR64 hEvent;
1735 
1736  DWORD dwFOURCC;
1737  WORD cx;
1738  WORD cy;
1739  LONGLONG llFrameDuration;
1741 
1751  SHORT sContrast;
1752  SHORT sBrightness;
1753  SHORT sSaturation;
1754  SHORT sHue;
1756 
1763  MWCAP_PTR64 pvFrame;
1764  DWORD cbFrame;
1765  DWORD cbStride;
1766 
1767  BOOLEAN bBottomUp;
1769 
1770  MWCAP_PTR64 pvContext;
1772 
1779  MWCAP_PTR64 pvContext;
1780  MWCAP_PTR64 pvFrame;
1781  LONGLONG llTimestamp;
1783 
1784 #pragma pack(pop)
1785 
YUV2020C.
Definition: MWCaptureExtension.h:240
+
MWCAP_AUDIO_CAPS.
Definition: MWCaptureExtension.h:530
+
Definition: MWCaptureExtension.h:1089
+
LED stays off.
Definition: MWCaptureExtension.h:596
+
USB Capture AIO 4K.
Definition: MWCaptureExtension.h:170
+
MWCAP_VIDEO_FRAME_TYPE frameType
video frame type
Definition: MWCaptureExtension.h:770
+
ISRC2 infoframe.
Definition: MWCaptureExtension.h:1430
+
DWORD dwVideoInputType
Input video signal type. For details, refers to MWCAP_VIDEO_INPUT_TYPE.
Definition: MWCaptureExtension.h:729
+
MWCAP_FIRMWARE_STORAGE.
Definition: MWCaptureExtension.h:574
+
BOOLEAN bInterlaced
Whether it is interlaced.
Definition: MWCaptureExtension.h:338
+
WORD wHFrontPorch
Horizontal front porch of video timing.
Definition: MWCaptureExtension.h:343
+
DWORD dwFlags
Flag.
Definition: MWCaptureExtension.h:404
+
Full side-by-side 3D video frame.
Definition: MWCaptureExtension.h:275
+
Eco Capture HDMI 4K M.2.
Definition: MWCaptureExtension.h:158
+
Definition: MWCaptureExtension.h:1095
+
BOOLEAN bHSPolarity
Whether horizontal timing (line) Polarity of horizontal sync pulse is positive.
Definition: MWCaptureExtension.h:340
+
DWORD dwProcessSwitchs
Mask of video processing refers to MWCAP_VIDEO_PROCESS_FLIP, MWCAP_VIDEO_PROCESS_MIRROR.
Definition: MWCaptureExtension.h:1473
+
SHORT sSaturation
Saturation, ranges from 0 to 200.
Definition: MWCaptureExtension.h:1753
+
Top-and-Bottom 3D video frame at half resolution.
Definition: MWCaptureExtension.h:274
+
BYTE byLinkWidth
PCIE bandwidth.
Definition: MWCaptureExtension.h:441
+
Pro Capture AIO, one-channel HD capture card.
Definition: MWCaptureExtension.h:136
+
DWORD dwFOURCC
Capture format.
Definition: MWCaptureExtension.h:1736
+
SPD infoframe.
Definition: MWCaptureExtension.h:1404
+
USB audio play.
Definition: MWCaptureExtension.h:1673
+
LONGLONG llTimestamp
The timestamp of audio frame.
Definition: MWCaptureExtension.h:1388
+
WORD wHFrontPorch
Horizontal front porch.
Definition: MWCaptureExtension.h:635
+
MWCAP_SD_VIDEO_STANDARD standard
Defines video standard used.
Definition: MWCaptureExtension.h:716
+
DWORD cbMRFSOffset
MRFS offset.
Definition: MWCaptureExtension.h:561
+
Pro Capture HDMI 4K Plus, one-channel 4K capture card.
Definition: MWCaptureExtension.h:149
+
Pro Capture Dual HDMI 4K Plus.
Definition: MWCaptureExtension.h:153
+
VBI infoframe.
Definition: MWCaptureExtension.h:1411
+
BYTE byPCIBusID
PCIE bus id.
Definition: MWCaptureExtension.h:438
+
Default audio play.
Definition: MWCaptureExtension.h:1671
+
MWCAP_VIDEO_SYNC_INFO.
Definition: MWCaptureExtension.h:319
+
DWORD cbStride
Width of capture video frame.
Definition: MWCaptureExtension.h:1765
+
Microphone.
Definition: MWCaptureExtension.h:1666
+
struct _MWCAP_VIDEO_CONNECTION_FORMAT MWCAP_VIDEO_CONNECTION_FORMAT
MWCAP_VIDEO_CONNECTION_FORMAT.
+
Pro Capture HDMI 4K, one-channel 4K capture card.
Definition: MWCaptureExtension.h:146
+
DWORD dwReserved
Reserved.
Definition: MWCaptureExtension.h:1387
+
DWORD dwSampleRate
Sample rate.
Definition: MWCaptureExtension.h:788
+
Definition: MWCaptureExtension.h:794
+
BYTE cBitsPerSample
Bit depth of each audio sampling.
Definition: MWCaptureExtension.h:787
+
DMT timing.
Definition: MWCaptureExtension.h:221
+
Definition: MWCaptureExtension.h:799
+
struct _MWCAP_SMPTE_TIMECODE MWCAP_SMPTE_TIMECODE
MWCAP_SMPTE_TIMECODE.
+
Definition: MWCaptureExtension.h:1100
+
PCI-e 1.0.
Definition: MWCaptureExtension.h:207
+
Definition: MWIEC60958.h:13
+
BOOLEAN bInterlaced
Whether video timing is interlaced.
Definition: MWCaptureExtension.h:323
+
struct _MWCAP_COMPONENT_SPECIFIC_STATUS MWCAP_COMPONENT_SPECIFIC_STATUS
MWCAP_COMPONENT_SPECIFIC_STATUS.
+
enum _MWCAP_AUDIO_NODE MWCAP_AUDIO_NODE
MWCAP_AUDIO_NODE.
+
GAMUT infoframe.
Definition: MWCaptureExtension.h:1431
+
enum _MWCAP_AUDIO_CAPTURE_NODE MWCAP_AUDIO_CAPTURE_NODE
MWCAP_AUDIO_CAPTURE_NODE.
+
USB Capture AIO.
Definition: MWCaptureExtension.h:169
+
WORD wHBackPorch
Horizontal back porch of video timing.
Definition: MWCaptureExtension.h:345
+
DWORD cbFirmwareOffset
Firmware offset.
Definition: MWCaptureExtension.h:559
+
MWCAP_VIDEO_ECO_CAPTURE_FRAME.
Definition: MWCaptureExtension.h:1762
+
WORD wField0VFrontPorch
Vertical front porch of top subframe.
Definition: MWCaptureExtension.h:640
+
MWCAP_VIDEO_RESOLUTION.
Definition: MWCaptureExtension.h:1518
+
LED stays on.
Definition: MWCaptureExtension.h:597
+
DWORD cbEraseBlock
Length of erased area.
Definition: MWCaptureExtension.h:555
+
MWCAP_DWORD_PARAMETER_RANGE.
Definition: MWCaptureExtension.h:389
+
MWCAP_VIDEO_TIMING.
Definition: MWCaptureExtension.h:335
+
WORD cy
Height.
Definition: MWCaptureExtension.h:1738
+
MWCAP_VIDEO_SATURATION_RANGE satRange
saturation range
Definition: MWCaptureExtension.h:773
+
#define MWCAP_AUDIO_SAMPLES_PER_FRAME
MWCAP_AUDIO_SAMPLES_PER_FRAME.
Definition: MWCaptureExtension.h:1365
+
Breathing/plusing slowly.
Definition: MWCaptureExtension.h:600
+
SDI_TYPE sdiType
SDI signal type.
Definition: MWCaptureExtension.h:613
+
MWCAP_VIDEO_RESOLUTION_RANGE.
Definition: MWCaptureExtension.h:1530
+
int cy
Height of video.
Definition: MWCaptureExtension.h:1520
+
MWCAP_HDMI_SPECIFIC_STATUS hdmiStatus
HDMI signal status.
Definition: MWCaptureExtension.h:732
+
_VIDEO_RESOLUTION_MODE
MWCAP_VIDEO_RESOLUTION_MODE.
Definition: MWCaptureExtension.h:1505
+
SPD infoframe.
Definition: MWCaptureExtension.h:1425
+
int nAspectY
Height of the ratio.
Definition: MWCaptureExtension.h:1187
+
int nListSize
List size of supported resolution.
Definition: MWCaptureExtension.h:1546
+
DWORD cbProgramBlock
Length of program block storage area.
Definition: MWCaptureExtension.h:556
+
Contrast.
Definition: MWCaptureExtension.h:1561
+
MWCAP_PTR pvFrame
The memory address to store the capture data.
Definition: MWCaptureExtension.h:1346
+
WORD wHActive
Active time of the horizontal timing.
Definition: MWCaptureExtension.h:342
+
MWCAP_VIDEO_SIGNAL_STATUS.
Definition: MWCaptureExtension.h:757
+
int nAspectX
Width of video ratio.
Definition: MWCaptureExtension.h:1457
+
DWORD dwFrameDuration
Frame interval of video frame.
Definition: MWCaptureExtension.h:766
+
_MWCAP_VIDEO_TIMING_TYPE
MWCAP_VIDEO_TIMING_TYPE.
Definition: MWCaptureExtension.h:218
+
DWORD dwST352Data
ST352.
Definition: MWCaptureExtension.h:618
+
PCI-e 4.0.
Definition: MWCaptureExtension.h:210
+
MWCAP_FIRMWARE_STORAGE_CARD.
Definition: MWCaptureExtension.h:540
+
MWCAP_HDMI_SPECIFIC_STATUS.
Definition: MWCaptureExtension.h:660
+
struct _VIDEO_RESOLUTION_RANGE MWCAP_VIDEO_RESOLUTION_RANGE
MWCAP_VIDEO_RESOLUTION_RANGE.
+
MWCAP_VIDEO_RESOLUTION * plistResolution
Supported resolution.
Definition: MWCaptureExtension.h:1547
+
BOOLEAN bInterlaced
Whether the signal is interlaced.
Definition: MWCaptureExtension.h:632
+
SHORT sHue
Hue, ranges from -90 to 90.
Definition: MWCaptureExtension.h:1754
+
The default saturation range.
Definition: MWCaptureExtension.h:260
+
int nAspectY
Height of video ratio.
Definition: MWCaptureExtension.h:768
+
USB Capture SDI.
Definition: MWCaptureExtension.h:165
+
BYTE by3DStructure
3D structure
Definition: MWCaptureExtension.h:668
+
enum _MWCAP_VIDEO_QUANTIZATION_RANGE MWCAP_VIDEO_QUANTIZATION_RANGE
MWCAP_VIDEO_QUANTIZATION_RANGE.
+
MWCAP_AUDIO_SIGNAL_STATUS.
Definition: MWCaptureExtension.h:784
+
int cy
Height of video frames.
Definition: MWCaptureExtension.h:1185
+
HDMI input signal.
Definition: MWCaptureExtension.h:195
+
HDR infoframe.
Definition: MWCaptureExtension.h:1433
+
HDR infoframe.
Definition: MWCaptureExtension.h:1412
+
WORD cx
Width.
Definition: MWCaptureExtension.h:1737
+
WORD cy
Height.
Definition: MWCaptureExtension.h:367
+
GAMUT infoframe.
Definition: MWCaptureExtension.h:1410
+
WORD wField0VSyncWidth
Vertical sync width of top subframe.
Definition: MWCaptureExtension.h:639
+
enum _MWCAP_PCIE_LINK_TYPE MWCAP_PCIE_LINK_TYPE
MWCAP_PCIE_LINK_TYPE.
+
struct _MWCAP_SDI_SPECIFIC_STATUS MWCAP_SDI_SPECIFIC_STATUS
MWCAP_SDI_SPECIFIC_STATUS.
+
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange
Used quantization range.
Definition: MWCaptureExtension.h:1749
+
SDI_BIT_DEPTH sdiBitDepth
SDI bit depth.
Definition: MWCaptureExtension.h:615
+
USB audio capture.
Definition: MWCaptureExtension.h:1653
+
WORD wMaxOutputWidth
Max output width.
Definition: MWCaptureExtension.h:489
+
MWCAP_CVBS_YC_SPECIFIC_STATUS cvbsYcStatus
CVBS-YC signal status.
Definition: MWCaptureExtension.h:734
+
MWCAP_VIDEO_SATURATION_RANGE satRange
Saturation rage.
Definition: MWCaptureExtension.h:1480
+
BOOLEAN bHSPolarity
Sync polarity of horizontal.
Definition: MWCaptureExtension.h:321
+
struct _VIDEO_RESOLUTION MWCAP_VIDEO_RESOLUTION
MWCAP_VIDEO_RESOLUTION.
+
Component input signal.
Definition: MWCaptureExtension.h:183
+
DWORD dwPixelClock
Pixel clock of video timing.
Definition: MWCaptureExtension.h:337
+
YUV601.
Definition: MWCaptureExtension.h:237
+
WORD wFrameLineCount
Number of frame scan lines.
Definition: MWCaptureExtension.h:326
+
MWCAP_CHANNEL_INFO.
Definition: MWCaptureExtension.h:415
+
enum _MWCAP_HDMI_INFOFRAME_ID MWCAP_HDMI_INFOFRAME_ID
MWCAP_HDMI_INFOFRAME_ID.
+
WORD cyCompletedPrev
Number of frames captured previously.
Definition: MWCaptureExtension.h:1353
+
BOOLEAN bConnected
Whether it is connected.
Definition: MWCaptureExtension.h:1448
+
BYTE bySyncType
Sync type of video timing.
Definition: MWCaptureExtension.h:339
+
Pro Capture Mini HDMI, one-channel HD capture card.
Definition: MWCaptureExtension.h:145
+
Limited range, which has 8-bit data. The black-white color range is 16/64/256/4096-235(240)/940(960)/...
Definition: MWCaptureExtension.h:251
+
BYTE bySyncType
Sync type, for details, see _MWCAP_VIDEO_SYNC_TYPE.
Definition: MWCaptureExtension.h:320
+
WORD wMaxOutputHeight
Max output height.
Definition: MWCaptureExtension.h:490
+
struct _MWCAP_FIRMWARE_STORAGE_CARD MWCAP_FIRMWARE_STORAGE_CARD
MWCAP_FIRMWARE_STORAGE_CARD.
+
WORD wHActive
Horizontal active width.
Definition: MWCaptureExtension.h:637
+
_MWCAP_VIDEO_COLOR_FORMAT
MWCAP_VIDEO_COLOR_FORMAT.
Definition: MWCaptureExtension.h:234
+
Hue.
Definition: MWCaptureExtension.h:1562
+
Return valur of supported video resolution.
Definition: MWCaptureExtension.h:1506
+
Definition: MWCaptureExtension.h:1195
+
Buffering bottom subframe.
Definition: MWCaptureExtension.h:1145
+
MWCAP_PTR64 pvContext
Context of ECO.
Definition: MWCaptureExtension.h:1770
+
enum _MWCAP_VIDEO_FRAME_STATE MWCAP_VIDEO_FRAME_STATE
MWCAP_VIDEO_FRAME_STATE.
+
ISRC2 infoframe.
Definition: MWCaptureExtension.h:1409
+
BOOLEAN bSegmentedFrame
Whether a segmented frame.
Definition: MWCaptureExtension.h:1180
+
_MWCAP_HDMI_INFOFRAME_MASK
MWCAP_HDMI_INFOFRAME_MASK.
Definition: MWCaptureExtension.h:1422
+
Half side-by-side 3D video frame.
Definition: MWCaptureExtension.h:276
+
DWORD dwValue
Value.
Definition: MWCaptureExtension.h:405
+
PCI-e 3.0.
Definition: MWCaptureExtension.h:209
+
LEGACY timing.
Definition: MWCaptureExtension.h:220
+
LARGE_INTEGER liPhysicalAddress
The physical address to store the capture data.
Definition: MWCaptureExtension.h:1347
+
int nAspectX
Width of the ratio.
Definition: MWCaptureExtension.h:1186
+
BYTE iBufferedFieldIndex
The sequence number of the latest bufferred field.
Definition: MWCaptureExtension.h:1163
+
enum _MWCAP_HDMI_INFOFRAME_MASK MWCAP_HDMI_INFOFRAME_MASK
MWCAP_HDMI_INFOFRAME_MASK.
+
DWORD cbEraseBlock
Length of erased area.
Definition: MWCaptureExtension.h:542
+
BOOLEAN bTriLevelSync
Whether the signal is tri-level sync.
Definition: MWCaptureExtension.h:684
+
MWCAP_VIDEO_OSD_SETTINGS.
Definition: MWCaptureExtension.h:1606
+
FAILSAFE timing.
Definition: MWCaptureExtension.h:226
+
2D video frame
Definition: MWCaptureExtension.h:272
+
struct _MWCAP_INPUT_SPECIFIC_STATUS MWCAP_INPUT_SPECIFIC_STATUS
MWCAP_INPUT_SPECIFIC_STATUS.
+
RGB.
Definition: MWCaptureExtension.h:236
+
int nAspectY
Height of video ratio.
Definition: MWCaptureExtension.h:1458
+
Pro Capture DVI 4K, one-channel 4K capture card.
Definition: MWCaptureExtension.h:150
+
_MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE
MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE.
Definition: MWCaptureExtension.h:296
+
GTF timing.
Definition: MWCaptureExtension.h:223
+
USB Capture SDI Plus.
Definition: MWCaptureExtension.h:163
+
PAL_60.
Definition: MWCaptureExtension.h:699
+
Pro Capture AIO 4K Plus, one-channel 4K capture card.
Definition: MWCaptureExtension.h:148
+
enum _MWCAP_VIDEO_SATURATION_RANGE MWCAP_VIDEO_SATURATION_RANGE
MWCAP_VIDEO_SATURATION_RANGE.
+
SDI_SAMPLING_STRUCT sdiSamplingStruct
SDI sampling struct.
Definition: MWCaptureExtension.h:616
+
struct _MWCAP_DWORD_PARAMETER_VALUE MWCAP_DWORD_PARAMETER_VALUE
MWCAP_DWORD_PARAMETER_VALUE.
+
struct _MWCAP_VIDEO_CAPTURE_STATUS MWCAP_VIDEO_CAPTURE_STATUS
MWCAP_VIDEO_CAPTURE_STATUS.
+
BYTE byBitDepth
Bit depth.
Definition: MWCaptureExtension.h:663
+
CVT timing.
Definition: MWCaptureExtension.h:224
+
VS infoframe.
Definition: MWCaptureExtension.h:1406
+
BOOLEAN bInterlaced
Whether an interlaced signal.
Definition: MWCaptureExtension.h:1179
+
struct _MWCAP_VIDEO_ECO_CAPTURE_STATUS MWCAP_VIDEO_ECO_CAPTURE_STATUS
MWCAP_VIDEO_ECO_CAPTURE_STATUS.
+
BYTE bySDID
Second id of anc.
Definition: MWCaptureExtension.h:1710
+
SDI input signal.
Definition: MWCaptureExtension.h:182
+
Eco Capture Dual SDI M.2.
Definition: MWCaptureExtension.h:159
+
MWCAP_VIDEO_RESOLUTION minResolution
Supported minimal resolution.
Definition: MWCaptureExtension.h:1533
+
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange
Quantization.
Definition: MWCaptureExtension.h:1460
+
MWCAP_VIDEO_COLOR_FORMAT colorFormat
Color format.
Definition: MWCaptureExtension.h:1459
+
Padding: Fits to screen and add black borders to keep the original aspect ratio.
Definition: MWCaptureExtension.h:299
+
BOOLEAN bValid
Whether input signal is valid.
Definition: MWCaptureExtension.h:728
+
MWCAP_INPUT_SPECIFIC_STATUS.
Definition: MWCaptureExtension.h:727
+
BOOLEAN bHDCP
Whether the signal is HDCP-encrypted HDMI.
Definition: MWCaptureExtension.h:662
+
unknown color format
Definition: MWCaptureExtension.h:235
+
Definition: MWCaptureExtension.h:1487
+
enum _MWCAP_SD_VIDEO_STANDARD MWCAP_SD_VIDEO_STANDARD
MWCAP_SD_VIDEO_STANDARD.
+
struct _MWCAP_FIRMWARE_ERASE MWCAP_FIRMWARE_ERASE
MWCAP_FIRMWARE_ERASE.
+
DWORD dwFrameDuration
Frame interval.
Definition: MWCaptureExtension.h:324
+
MWCAP_VIDEO_COLOR_FORMAT colorFormat
Used color format.
Definition: MWCaptureExtension.h:1748
+
WORD wVBackPorch
Vertical back porch of video timing.
Definition: MWCaptureExtension.h:349
+
IEC60958_CHANNEL_STATUS channelStatus
The audio channel status.
Definition: MWCaptureExtension.h:790
+
WORD cyCompleted
Number of frames captured.
Definition: MWCaptureExtension.h:1352
+
LONG cy
Height of video image.
Definition: MWCaptureExtension.h:1452
+
Pro Capture Dual HDMI, two-channel HD capture card.
Definition: MWCaptureExtension.h:142
+
DWORD dwCaps
Audio capture capability.
Definition: MWCaptureExtension.h:531
+
CS Sync.
Definition: MWCaptureExtension.h:310
+
int nAspectX
Width of video ratio.
Definition: MWCaptureExtension.h:1475
+
WORD y
Start position in vertical direction.
Definition: MWCaptureExtension.h:365
+
MWCAP_VIDEO_SATURATION_RANGE satRange
Saturation rage.
Definition: MWCaptureExtension.h:1461
+
MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode
Aspect ratio conversion.
Definition: MWCaptureExtension.h:1482
+
MWCAP_AUDIO_CAPTURE_FRAME.
Definition: MWCaptureExtension.h:1383
+
MWCAP_COMPONENT_SPECIFIC_STATUS.
Definition: MWCaptureExtension.h:682
+
WORD x
Start position in horizontal direction.
Definition: MWCaptureExtension.h:364
+
_MWCAP_VIDEO_INPUT_TYPE
MWCAP_VIDEO_INPUT_TYPE.
Definition: MWCaptureExtension.h:178
+
BOOLEAN b50Hz
whether scanned frequency is 50Hz
Definition: MWCaptureExtension.h:717
+
enum _MWCAP_VIDEO_COLOR_FORMAT MWCAP_VIDEO_COLOR_FORMAT
MWCAP_VIDEO_COLOR_FORMAT.
+
BOOLEAN bFrameCompleted
Whether a frame is fully captured.
Definition: MWCaptureExtension.h:1351
+
BOOLEAN bLowLatency
Whether to enable lowtancy.
Definition: MWCaptureExtension.h:1477
+
_MWCAP_AUDIO_INPUT_TYPE
MWCAP_AUDIO_INPUT_TYPE.
Definition: MWCaptureExtension.h:193
+
CVT_RB timing.
Definition: MWCaptureExtension.h:225
+
struct _MWCAP_SDI_ANC_PACKET MWCAP_SDI_ANC_PACKET
MWCAP_SDI_ANC_PACKET.
+
Invalid signal. The capture card detects a signal but can not lock it.
Definition: MWCaptureExtension.h:745
+
BOOLEAN bInterlaced
Whether the signal is interlaced.
Definition: MWCaptureExtension.h:765
+
struct _MWCAP_HDMI_VIDEO_TIMING MWCAP_HDMI_VIDEO_TIMING
MWCAP_HDMI_VIDEO_TIMING.
+
DWORD cbStorage
Length of firmware storage area.
Definition: MWCaptureExtension.h:541
+
Line In audio capture.
Definition: MWCaptureExtension.h:1654
+
DWORD iFrame
Current frame index.
Definition: MWCaptureExtension.h:1385
+
BOOLEAN bLPCM
Whether the signal is LPCM.
Definition: MWCaptureExtension.h:786
+
MWCAP_SDI_ANC_PACKET.
Definition: MWCaptureExtension.h:1720
+
DWORD cbDriverOffset
Drive offset.
Definition: MWCaptureExtension.h:560
+
Weave mode.
Definition: MWCaptureExtension.h:285
+
Pro Capture Quad HDMI, Four-channel HD capture card.
Definition: MWCaptureExtension.h:144
+
HDMI_PXIEL_ENCODING pixelEncoding
Pixel data encoding.
Definition: MWCaptureExtension.h:664
+
DWORD dwFOURCC
Color format refers to MWFOURCC.h.
Definition: MWCaptureExtension.h:1454
+
DWORD dwSyncCode
Sync code of audio frame data.
Definition: MWCaptureExtension.h:1386
+
struct _MWCAP_VIDEO_ECO_CAPTURE_FRAME MWCAP_VIDEO_ECO_CAPTURE_FRAME
MWCAP_VIDEO_ECO_CAPTURE_FRAME.
+
VGA input signal.
Definition: MWCaptureExtension.h:181
+
Cropping: Expands to full-screen and remove parts of the image when necessary to keep the original as...
Definition: MWCaptureExtension.h:298
+
MWCAP_VIDEO_CUSTOM_TIMING.
Definition: MWCaptureExtension.h:1624
+
Input interface without signal.
Definition: MWCaptureExtension.h:179
+
Pro Capture Dual SDI 4K Plus.
Definition: MWCaptureExtension.h:154
+
DWORD cFrameCount
Number of bufferred frames.
Definition: MWCaptureExtension.h:1384
+
WORD wProductID
device ID, refers to MWCAP_PRODUCT_ID
Definition: MWCaptureExtension.h:417
+
BYTE iBufferingFieldIndex
The sequence number of fields being bufferred.
Definition: MWCaptureExtension.h:1160
+
Pro Capture DVI, one-channel HD capture card.
Definition: MWCaptureExtension.h:137
+
BYTE byFrames
Frames number.
Definition: MWCaptureExtension.h:1130
+
BYTE bySDID
Second id of anc.
Definition: MWCaptureExtension.h:1722
+
_MWCAP_VIDEO_DEINTERLACE_MODE
MWCAP_VIDEO_DEINTERLACE_MODE.
Definition: MWCaptureExtension.h:284
+
BOOLEAN bBottomUp
Whether to flip.
Definition: MWCaptureExtension.h:1767
+
DWORD cbOffset
Offset of firmware storage area to erase.
Definition: MWCaptureExtension.h:585
+
BOOLEAN bTopFieldFirst
Whether the top subframe is in front.
Definition: MWCaptureExtension.h:1181
+
BOOLEAN bHANC
Whether it is hanc.
Definition: MWCaptureExtension.h:1707
+
DWORD dwMax
Maximum.
Definition: MWCaptureExtension.h:391
+
MWCAP_VIDEO_RESOLUTION maxResolution
Supported max resolution.
Definition: MWCaptureExtension.h:1534
+
struct _MWCAP_VIDEO_CUSTOM_TIMING MWCAP_VIDEO_CUSTOM_TIMING
MWCAP_VIDEO_CUSTOM_TIMING.
+
WORD cxTotal
Total width in horizontal direction.
Definition: MWCaptureExtension.h:368
+
LED flashes two times, pauses, then blinks again.
Definition: MWCaptureExtension.h:599
+
int cx
Image width.
Definition: MWCaptureExtension.h:761
+
MWCAP_VIDEO_FRAME_INFO.
Definition: MWCaptureExtension.h:1176
+
Pro Capture Mini SDI, one-channel HD capture card.
Definition: MWCaptureExtension.h:147
+
_MWCAP_HDMI_INFOFRAME_ID
MWCAP_HDMI_INFOFRAME_ID.
Definition: MWCaptureExtension.h:1401
+
LONG cx
Width of video image.
Definition: MWCaptureExtension.h:1451
+
MWCAP_VIDEO_SATURATION_RANGE satRange
Used saturation range.
Definition: MWCaptureExtension.h:1750
+
struct _MWCAP_VIDEO_BUFFER_INFO MWCAP_VIDEO_BUFFER_INFO
MWCAP_VIDEO_BUFFER_INFO.
+
struct _MWCAP_VIDEO_TIMING MWCAP_VIDEO_TIMING
MWCAP_VIDEO_TIMING.
+
VS infoframe.
Definition: MWCaptureExtension.h:1427
+
USB Capture HDMI.
Definition: MWCaptureExtension.h:164
+
MWCAP_VIDEO_SYNC_INFO syncInfo
Video sync information.
Definition: MWCaptureExtension.h:683
+
None.
Definition: MWCaptureExtension.h:695
+
enum _MW_RESULT_ MW_RESULT
MW_RESULT.
+
enum _MWCAP_VIDEO_DEINTERLACE_MODE MWCAP_VIDEO_DEINTERLACE_MODE
MWCAP_VIDEO_DEINTERLACE_MODE.
+
Microphone.
Definition: MWCaptureExtension.h:1652
+
line in
Definition: MWCaptureExtension.h:197
+
ECO CAPTURE OCTA SDI.
Definition: MWCaptureExtension.h:156
+
_MWCAP_LED_MODE
MWCAP_LED_MODE.
Definition: MWCaptureExtension.h:594
+
Locked signal. The capture card is ready to capture the input signal.
Definition: MWCaptureExtension.h:747
+
_MWCAP_AUDIO_CAPTURE_NODE
MWCAP_AUDIO_CAPTURE_NODE.
Definition: MWCaptureExtension.h:1649
+
enum _MWCAP_VIDEO_SYNC_TYPE MWCAP_VIDEO_SYNC_TYPE
MWCAP_VIDEO_SYNC_TYPE.
+
MWCAP_FIRMWARE_STORAGE_USB.
Definition: MWCaptureExtension.h:553
+
_MWCAP_PCIE_LINK_TYPE
MWCAP_PCIE_LINK_TYPE.
Definition: MWCaptureExtension.h:206
+
Extended range, which has 8-bit data. The black-white color range is 1/4/16/256-254/1019/4079/65279.
Definition: MWCaptureExtension.h:263
+
HS VS Sync.
Definition: MWCaptureExtension.h:309
+
Pro Capture HDMI, one-channel HD capture card.
Definition: MWCaptureExtension.h:138
+
WORD wVSyncWidth
Vertical sync width of video timing.
Definition: MWCaptureExtension.h:348
+
MWCAP_VIDEO_ECO_CAPTURE_STATUS.
Definition: MWCaptureExtension.h:1778
+
MWCAP_VIDEO_TIMING videoTiming
Video timing.
Definition: MWCaptureExtension.h:685
+
MWCAP_VIDEO_COLOR_FORMAT colorFormat
video color format
Definition: MWCaptureExtension.h:771
+
Definition: MWCaptureExtension.h:1493
+
MWCAP_VIDEO_RESOLUTION_LIST.
Definition: MWCaptureExtension.h:1545
+
Pro Capture SDI 4K Plus, one-channel 4K capture card.
Definition: MWCaptureExtension.h:152
+
union _MWCAP_FIRMWARE_STORAGE MWCAP_FIRMWARE_STORAGE
MWCAP_FIRMWARE_STORAGE.
+
enum _VIDEO_RESOLUTION_MODE MWCAP_VIDEO_RESOLUTION_MODE
MWCAP_VIDEO_RESOLUTION_MODE.
+
WORD wHBackPorch
Horizontal back porch.
Definition: MWCaptureExtension.h:636
+
MWCAP_VIDEO_TIMING_SETTINGS videoTimingSettings
Video timing settings.
Definition: MWCaptureExtension.h:686
+
Invalid parameters.
Definition: MWCaptureExtension.h:105
+
PAL_BGHID.
Definition: MWCaptureExtension.h:701
+
BYTE byPCIDevID
PCIE device id.
Definition: MWCaptureExtension.h:439
+
ISRC1 infoframe.
Definition: MWCaptureExtension.h:1429
+
DWORD cbHeaderOffset
Offset of firmware header.
Definition: MWCaptureExtension.h:557
+
MWCAP_HDMI_VIDEO_TIMING videoTiming
Video timing.
Definition: MWCaptureExtension.h:670
+
The default quantization range.
Definition: MWCaptureExtension.h:249
+
BOOLEAN bITContent
IT Content.
Definition: MWCaptureExtension.h:666
+
Definition: MWCaptureExtension.h:372
+
Audio infoframe.
Definition: MWCaptureExtension.h:1403
+
MWCAP_VIDEO_TIMING_SETTINGS.
Definition: MWCaptureExtension.h:361
+
Full range, which has 8-bit data. The black-white color range is 0-255/1023/4095/65535.
Definition: MWCaptureExtension.h:250
+
WORD cx
Width.
Definition: MWCaptureExtension.h:366
+
MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode
DeinterlaceMode.
Definition: MWCaptureExtension.h:1768
+
PAL_COMBN.
Definition: MWCaptureExtension.h:700
+
Operation failed.
Definition: MWCaptureExtension.h:103
+
BOOLEAN bSegmentedFrame
Whether the signal is segmented frame.
Definition: MWCaptureExtension.h:769
+
MWCAP_VIDEO_CAPTURE_STATUS.
Definition: MWCaptureExtension.h:1341
+
VBI infoframe.
Definition: MWCaptureExtension.h:1432
+
WORD wMaxInputWidth
Max input width.
Definition: MWCaptureExtension.h:487
+
struct _MWCAP_VIDEO_SIGNAL_STATUS MWCAP_VIDEO_SIGNAL_STATUS
MWCAP_VIDEO_SIGNAL_STATUS.
+
YUV709.
Definition: MWCaptureExtension.h:238
+
Pro Capture Dual DVI, two-channel HD capture card.
Definition: MWCaptureExtension.h:141
+
MWCAP_SDI_SPECIFIC_STATUS.
Definition: MWCaptureExtension.h:612
+
BYTE byMinutes
Minutes.
Definition: MWCaptureExtension.h:1132
+
WORD wVSyncLineCount
Number of vertical sync scan lines.
Definition: MWCaptureExtension.h:325
+
DWORD cbFreeMemorySize
PCIE free memory size.
Definition: MWCaptureExtension.h:446
+
MWCAP_SDI_ANC_TYPE.
Definition: MWCaptureExtension.h:1705
+
Pro Capture SDI, one-channel HD capture card capture card.
Definition: MWCaptureExtension.h:139
+
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange
Quantization.
Definition: MWCaptureExtension.h:1479
+
Definition: MWCaptureExtension.h:1630
+
Ignore: Ignores the original aspect ratio and stretches to full-screen.
Definition: MWCaptureExtension.h:297
+
MWCAP_VIDEO_CONNECTION_FORMAT.
Definition: MWCaptureExtension.h:1446
+
USB Capture HDMI 4K Plus.
Definition: MWCaptureExtension.h:167
+
#define MW_FIRMWARE_NAME_LEN
MW_FIRMWARE_NAME_LEN.
Definition: MWCommon.h:54
+
BYTE byClampPos
Clamp position.
Definition: MWCaptureExtension.h:369
+
USB Capture DVI.
Definition: MWCaptureExtension.h:166
+
NTSC_M.
Definition: MWCaptureExtension.h:696
+
WORD wField0VBackPorch
Vertical back porch of top subframe.
Definition: MWCaptureExtension.h:641
+
struct _VIDEO_RESOLUTION_LIST MWCAP_VIDEO_RESOLUTION_LIST
MWCAP_VIDEO_RESOLUTION_LIST.
+
DWORD dwFrameDuration
Interval of video image.
Definition: MWCaptureExtension.h:1453
+
MWCAP_VIDEO_ECO_CAPTURE_OPEN.
Definition: MWCaptureExtension.h:1733
+
ACP infoframe.
Definition: MWCaptureExtension.h:1428
+
struct _MWCAP_VIDEO_SYNC_INFO MWCAP_VIDEO_SYNC_INFO
MWCAP_VIDEO_SYNC_INFO.
+
MWCAP_PRO_CAPTURE_INFO MWCAP_ECO_CAPTURE_INFO
MWCAP_ECO_CAPTURE_INFO.
Definition: MWCaptureExtension.h:456
+
AVI infoframe.
Definition: MWCaptureExtension.h:1402
+
WORD wField0VActive
Vertical active width of top subframe.
Definition: MWCaptureExtension.h:642
+
struct _MWCAP_AUDIO_SIGNAL_STATUS MWCAP_AUDIO_SIGNAL_STATUS
MWCAP_AUDIO_SIGNAL_STATUS.
+
MWCAP_VIDEO_COLOR_FORMAT colorFormat
Standard of video color format.
Definition: MWCaptureExtension.h:1478
+
int nStepCy
Steps of height of supported resolution.
Definition: MWCaptureExtension.h:1532
+
SDI input signal.
Definition: MWCaptureExtension.h:196
+
MWCAP_PTR64 pvFrame
The storage address for video capturing.
Definition: MWCaptureExtension.h:1763
+
struct _MWCAP_PRO_CAPTURE_INFO MWCAP_PRO_CAPTURE_INFO
MWCAP_PRO_CAPTURE_INFO.
+
WORD wMaxInputHeight
Max input height.
Definition: MWCaptureExtension.h:488
+
input interface without signal
Definition: MWCaptureExtension.h:194
+
BYTE byBoardIndex
Capture board index, which is the same as the rotary number.
Definition: MWCaptureExtension.h:442
+
enum _MWCAP_VIDEO_FRAME_TYPE MWCAP_VIDEO_FRAME_TYPE
MWCAP_VIDEO_FRAME_TYPE.
+
MWCAP_HDMI_VIDEO_TIMING.
Definition: MWCaptureExtension.h:631
+
Definition: MWCaptureExtension.h:1436
+
BYTE byChannelIndex
Channel index of the capture card, which starts from 0.
Definition: MWCaptureExtension.h:427
+
_MWCAP_PRODUCT_ID
MWCAP_PRODUCT_ID.
Definition: MWCaptureExtension.h:135
+
DWORD cBufferedFullFrames
Number of fully bufferred full frames.
Definition: MWCaptureExtension.h:1166
+
DWORD dwStep
Step.
Definition: MWCaptureExtension.h:392
+
struct _MWCAP_HDMI_SPECIFIC_STATUS MWCAP_HDMI_SPECIFIC_STATUS
MWCAP_HDMI_SPECIFIC_STATUS.
+
int cyTotal
Total height.
Definition: MWCaptureExtension.h:764
+
Definition: MWCaptureExtension.h:1568
+
All Sync.
Definition: MWCaptureExtension.h:308
+
int cx
Width of video frames.
Definition: MWCaptureExtension.h:1184
+
struct _MWCAP_VIDEO_ECO_CAPTURE_SETTINGS MWCAP_VIDEO_ECO_CAPTURE_SETTINGS
MWCAP_VIDEO_ECO_CAPTURE_SETTINGS.
+
BYTE iNewestBufferedFullFrame
The sequence number of the latest bufferred frame.
Definition: MWCaptureExtension.h:1165
+
Operation succeeded.
Definition: MWCaptureExtension.h:102
+
_MW_RESULT_
MW_RESULT.
Definition: MWCaptureExtension.h:101
+
_MWCAP_VIDEO_FRAME_TYPE
MWCAP_VIDEO_FRAME_TYPE.
Definition: MWCaptureExtension.h:271
+
MWCAP_COMPONENT_SPECIFIC_STATUS vgaComponentStatus
VGA component signal status.
Definition: MWCaptureExtension.h:733
+
DWORD cMaxFrames
Maximum number of frames in on-board cache.
Definition: MWCaptureExtension.h:1157
+
WORD wField1VSyncWidth
Vertical sync width of bottom subframe.
Definition: MWCaptureExtension.h:644
+
USB audio capture.
Definition: MWCaptureExtension.h:1672
+
int y
Vertical start position.
Definition: MWCaptureExtension.h:760
+
ISRC1 infoframe.
Definition: MWCaptureExtension.h:1408
+
Definition: MWCaptureExtension.h:377
+
WORD wChannelValid
Valid audio channel mask.The lowest bit indicates whether the 1st and 2nd channels are valid...
Definition: MWCaptureExtension.h:785
+
WORD wVActive
Vertical active time of video timing.
Definition: MWCaptureExtension.h:346
+
No signal.
Definition: MWCaptureExtension.h:744
+
WORD wHTotalWidth
Horizontal total width.
Definition: MWCaptureExtension.h:638
+
Buffering top subframe.
Definition: MWCaptureExtension.h:1144
+
int nAspectX
Width of video ratio.
Definition: MWCaptureExtension.h:767
+
Definition: MWCaptureExtension.h:1282
+
Default audio capture device.
Definition: MWCaptureExtension.h:1651
+
DWORD cbHeaderOffset
Offset of firmware header.
Definition: MWCaptureExtension.h:544
+
enum _MWCAP_PRODUCT_ID MWCAP_PRODUCT_ID
MWCAP_PRODUCT_ID.
+
WORD wAspectY
Height of aspect ratio.
Definition: MWCaptureExtension.h:363
+
struct _MWCAP_VIDEO_TIMING_SETTINGS MWCAP_VIDEO_TIMING_SETTINGS
MWCAP_VIDEO_TIMING_SETTINGS.
+
WORD wFamilyID
Product type, refers to MW_FAMILY_ID.
Definition: MWCaptureExtension.h:416
+
MWCAP_PTR64 pvFrame
Frame data address.
Definition: MWCaptureExtension.h:1780
+
MWCAP_VIDEO_BUFFER_INFO.
Definition: MWCaptureExtension.h:1156
+
struct _MWCAP_AUDIO_CAPS MWCAP_AUDIO_CAPS
MWCAP_AUDIO_CAPS.
+
DWORD cbFrame
The size of storage for video capturing.
Definition: MWCaptureExtension.h:1764
+
Headset.
Definition: MWCaptureExtension.h:1667
+
BOOLEAN bPhysicalAddress
Whether to use the physical address to store the capture data.
Definition: MWCaptureExtension.h:1344
+
Line In.
Definition: MWCaptureExtension.h:1668
+
Pro Capture Quad SDI, Four-channel HD capture card.
Definition: MWCaptureExtension.h:143
+
MWCAP_PTR64 hEvent
Handle of capture event.
Definition: MWCaptureExtension.h:1734
+
int cx
Width of video.
Definition: MWCaptureExtension.h:1519
+
struct _MWCAP_SDI_ANC_TYPE MWCAP_SDI_ANC_TYPE
MWCAP_SDI_ANC_TYPE.
+
struct _MWCAP_DWORD_PARAMETER_RANGE MWCAP_DWORD_PARAMETER_RANGE
MWCAP_DWORD_PARAMETER_RANGE.
+
RECT rectSource
The source area to be processed.
Definition: MWCaptureExtension.h:1474
+
MWCAP_SDI_SPECIFIC_STATUS sdiStatus
SDI signal status.
Definition: MWCaptureExtension.h:731
+
AVI infoframe.
Definition: MWCaptureExtension.h:1423
+
Line Out.
Definition: MWCaptureExtension.h:1669
+
int nAspectY
Height of video ratio.
Definition: MWCaptureExtension.h:1476
+
Locking signal. The signal is valid, but unlocked.
Definition: MWCaptureExtension.h:746
+
Return discrete list of supported video resolution.
Definition: MWCaptureExtension.h:1507
+
SECAM.
Definition: MWCaptureExtension.h:702
+
WORD wMaxPayloadSize
PCIE max payload.
Definition: MWCaptureExtension.h:443
+
WORD wField1VFrontPorch
Vertical front porch of bottom subframe.
Definition: MWCaptureExtension.h:645
+
DWORD dwCaps
Capture capability.
Definition: MWCaptureExtension.h:486
+
BYTE byId
4 anc, the id is from 0 to 3.
Definition: MWCaptureExtension.h:1706
+
_MWCAP_SD_VIDEO_STANDARD
MWCAP_SD_VIDEO_STANDARD.
Definition: MWCaptureExtension.h:694
+
DWORD dwType
Type of video timing, for details, see MWCAP_VIDEO_TIMING_TYPE.
Definition: MWCaptureExtension.h:336
+
Full range, which has 8-bit data. The black-white color range is 0-255/1023/4095/65535.
Definition: MWCaptureExtension.h:261
+
enum _MWCAP_VIDEO_INPUT_TYPE MWCAP_VIDEO_INPUT_TYPE
MWCAP_VIDEO_INPUT_TYPE.
+
Definition: MWCaptureExtension.h:84
+
void(* AUDIO_CAPTURE_CALLBACK)(const BYTE *pbFrame, int cbFrame, uint64_t u64TimeStamp, void *pParam)
Callback function of audio capture.
Definition: MWCaptureExtension.h:1696
+
DWORD dwFirmwareVersion
Firmware version.
Definition: MWCaptureExtension.h:420
+
BOOLEAN b3DFormat
Whether the signal is 3D.
Definition: MWCaptureExtension.h:667
+
MWCAP_PTR64 pvContext
frame label for DWORD
Definition: MWCaptureExtension.h:1779
+
BOOLEAN bVSPolarity
Whether the polarity of the vertical sync pulse is positive.
Definition: MWCaptureExtension.h:341
+
BYTE byBoardIndex
Rotary ID located on the capture card, 0~F.
Definition: MWCaptureExtension.h:426
+
BYTE iNewestBuffered
The sequence number of slices the latest bufferred piece.
Definition: MWCaptureExtension.h:1162
+
BYTE byLinkType
PCIE connection type, refers to _MWCAP_PCIE_LINK_TYPE.
Definition: MWCaptureExtension.h:440
+
enum _MWCAP_VIDEO_SIGNAL_STATE MWCAP_VIDEO_SIGNAL_STATE
MWCAP_VIDEO_SIGNAL_STATE.
+
int iFrame
The index of capturing frame.
Definition: MWCaptureExtension.h:1350
+
#define MWCAP_AUDIO_MAX_NUM_CHANNELS
MWCAP_AUDIO_MAX_NUM_CHANNELS.
Definition: MWCaptureExtension.h:1373
+
MWCAP_FIRMWARE_ERASE.
Definition: MWCaptureExtension.h:584
+
WORD wField1VTotalHeight
Vertical total width of bottom subframe.
Definition: MWCaptureExtension.h:648
+
void(* VIDEO_CAPTURE_CALLBACK)(BYTE *pBuffer, long iBufferLen, void *pParam)
Callback function of video capture.
Definition: MWCaptureExtension.h:1688
+
CHAR chHardwareVersion
Hardware version ID.
Definition: MWCaptureExtension.h:418
+
Default audio capture device.
Definition: MWCaptureExtension.h:1650
+
_MWCAP_VIDEO_SATURATION_RANGE
MWCAP_VIDEO_SATURATION_RANGE.
Definition: MWCaptureExtension.h:259
+
struct _MWCAP_VIDEO_PROCESS_SETTINGS MWCAP_VIDEO_PROCESS_SETTINGS
MWCAP_VIDEO_PROCESS_SETTINGS.
+
PAL_M.
Definition: MWCaptureExtension.h:698
+
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange
Quantization range.
Definition: MWCaptureExtension.h:772
+
int cy
Image height.
Definition: MWCaptureExtension.h:762
+
_MWCAP_VIDEO_QUANTIZATION_RANGE
MWCAP_VIDEO_QUANTIZATION_RANGE.
Definition: MWCaptureExtension.h:248
+
_MWCAP_VIDEO_PROC_PARAM_TYPE
MWCAP_VIDEO_PROC_PARAM_TYPE.
Definition: MWCaptureExtension.h:1559
+
Definition: MWCaptureExtension.h:1611
+
WORD wAspectX
Width of aspect ratio.
Definition: MWCaptureExtension.h:362
+
YUV2020.
Definition: MWCaptureExtension.h:239
+
BYTE byVIC
video identification code from EDID, which is used to specify standard revolution and timing ...
Definition: MWCaptureExtension.h:665
+
Embeded Sync.
Definition: MWCaptureExtension.h:311
+
Eco Capture Dual HDMI M.2.
Definition: MWCaptureExtension.h:157
+
WORD wField1VActive
Vertical active width of bottom subframe.
Definition: MWCaptureExtension.h:647
+
Eco Capture Quad SDI M.2.
Definition: MWCaptureExtension.h:160
+
BYTE byFirmwareID
Firmware ID.
Definition: MWCaptureExtension.h:419
+
MWCAP_PRO_CAPTURE_INFO.
Definition: MWCaptureExtension.h:437
+
_MWCAP_AUDIO_NODE
MWCAP_AUDIO_NODE.
Definition: MWCaptureExtension.h:1665
+
DWORD dwDriverVersion
Driver version.
Definition: MWCaptureExtension.h:421
+
DWORD dwFrameDuration
Frame time interval.
Definition: MWCaptureExtension.h:633
+
SHORT sBrightness
Brightness, ranges from -100 to 100.
Definition: MWCaptureExtension.h:1752
+
ACP infoframe.
Definition: MWCaptureExtension.h:1407
+
BOOLEAN bHDMIMode
Whether the signal is HDMI signal.
Definition: MWCaptureExtension.h:661
+
Number of infoframe types.
Definition: MWCaptureExtension.h:1413
+
MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode
Interlaced mode.
Definition: MWCaptureExtension.h:1481
+
BYTE byHours
Hours.
Definition: MWCaptureExtension.h:1133
+
BYTE byDID
Id of anc.
Definition: MWCaptureExtension.h:1709
+
struct _MWCAP_VIDEO_OSD_SETTINGS MWCAP_VIDEO_OSD_SETTINGS
MWCAP_VIDEO_OSD_SETTINGS.
+
SECAM_60.
Definition: MWCaptureExtension.h:703
+
BYTE bySideBySideHalfSubSampling
Half Side-by-Side, sub-sampled at half resolution.
Definition: MWCaptureExtension.h:669
+
LONGLONG llTimestamp
Timestamp.
Definition: MWCaptureExtension.h:1781
+
MWCAP_CVBS_YC_SPECIFIC_STATUS.
Definition: MWCaptureExtension.h:715
+
No timing of video channels.
Definition: MWCaptureExtension.h:219
+
USB Capture SDI 4K Plus.
Definition: MWCaptureExtension.h:168
+
Top-and-Bottom 3D video frame at full resolution.
Definition: MWCaptureExtension.h:273
+
CEA timing.
Definition: MWCaptureExtension.h:222
+
struct _MWCAP_FIRMWARE_STORAGE_USB MWCAP_FIRMWARE_STORAGE_USB
MWCAP_FIRMWARE_STORAGE_USB.
+
LONGLONG llFrameDuration
Interval, -1 indicates follow format of input source.
Definition: MWCaptureExtension.h:1739
+
Brightness.
Definition: MWCaptureExtension.h:1560
+
struct _MWCAP_CHANNEL_INFO MWCAP_CHANNEL_INFO
MWCAP_CHANNEL_INFO.
+
enum _MWCAP_LED_MODE MWCAP_LED_MODE
MWCAP_LED_MODE.
+
Pro Capture Dual SDI, two-channel HD capture card.
Definition: MWCaptureExtension.h:140
+
DWORD cbStorage
Length of firmware storage area.
Definition: MWCaptureExtension.h:554
+
BOOLEAN bVSPolarity
Sync polarity of vertical.
Definition: MWCaptureExtension.h:322
+
WORD wHSyncWidth
Horizontal sync width of video timing.
Definition: MWCaptureExtension.h:344
+
HDMI input signal.
Definition: MWCaptureExtension.h:180
+
struct _MWCAP_AUDIO_CAPTURE_FRAME MWCAP_AUDIO_CAPTURE_FRAME
MWCAP_AUDIO_CAPTURE_FRAME.
+
BYTE iNewestBuffering
The number of the slices being bufferred. A frame of video data may contain multiple slices...
Definition: MWCaptureExtension.h:1159
+
BYTE byDID
Id of anc.
Definition: MWCaptureExtension.h:1721
+
WORD wMaxReadRequestSize
PCIE Max Read Request.
Definition: MWCaptureExtension.h:444
+
int nStepCx
Steps of width of supported resolution.
Definition: MWCaptureExtension.h:1531
+
BOOLEAN bVANC
Whether it is vanc.
Definition: MWCaptureExtension.h:1708
+
WORD wVFrontPorch
Vertical front porch of video timing.
Definition: MWCaptureExtension.h:347
+
MWCAP_SMPTE_TIMECODE.
Definition: MWCaptureExtension.h:1129
+
struct _MWCAP_VIDEO_FRAME_INFO MWCAP_VIDEO_FRAME_INFO
MWCAP_VIDEO_FRAME_INFO.
+
MWCAP_PTR pvContext
The context of video capture.
Definition: MWCaptureExtension.h:1342
+
enum _MWCAP_VIDEO_PROC_PARAM_TYPE MWCAP_VIDEO_PROC_PARAM_TYPE
MWCAP_VIDEO_PROC_PARAM_TYPE.
+
enum _MWCAP_VIDEO_TIMING_TYPE MWCAP_VIDEO_TIMING_TYPE
MWCAP_VIDEO_TIMING_TYPE.
+
MWCAP_VIDEO_ECO_CAPTURE_SETTINGS.
Definition: MWCaptureExtension.h:1747
+
DWORD dwMin
Minimum.
Definition: MWCaptureExtension.h:390
+
Fully bufferred video frame.
Definition: MWCaptureExtension.h:1146
+
SHORT sContrast
Contrast, ranges from 50 to 200.
Definition: MWCaptureExtension.h:1751
+
Audio infoframe.
Definition: MWCaptureExtension.h:1424
+
Default audio capture.
Definition: MWCaptureExtension.h:1670
+
BYTE byDC
Valid length of anc.
Definition: MWCaptureExtension.h:1723
+
int x
Horizontal start position.
Definition: MWCaptureExtension.h:759
+
Initial.
Definition: MWCaptureExtension.h:1143
+
enum _MWCAP_AUDIO_INPUT_TYPE MWCAP_AUDIO_INPUT_TYPE
MWCAP_AUDIO_INPUT_TYPE.
+
Only uses bottom subframe data.
Definition: MWCaptureExtension.h:288
+
MWCAP_DWORD_PARAMETER_VALUE.
Definition: MWCaptureExtension.h:403
+
Limited range, which has 8-bit data. The black-white color range is 16/64/256/4096-235(240)/940(960)/...
Definition: MWCaptureExtension.h:262
+
PCI-e 2.0.
Definition: MWCaptureExtension.h:208
+
mic in
Definition: MWCaptureExtension.h:198
+
WORD wField0VTotalHeight
Vertical total width of top subframe.
Definition: MWCaptureExtension.h:643
+
BOOLEAN bChannelStatusValid
Whether channel status is valid.
Definition: MWCaptureExtension.h:789
+
BOOLEAN bST352DataValid
Whether ST352 is valid.
Definition: MWCaptureExtension.h:617
+
DWORD cbErase
Length of erased area.
Definition: MWCaptureExtension.h:586
+
struct _MWCAP_CVBS_YC_SPECIFIC_STATUS MWCAP_CVBS_YC_SPECIFIC_STATUS
MWCAP_CVBS_YC_SPECIFIC_STATUS.
+
_MWCAP_VIDEO_FRAME_STATE
MWCAP_VIDEO_FRAME_STATE.
Definition: MWCaptureExtension.h:1142
+
DWORD cbTotalMemorySize
PCIE total memory size.
Definition: MWCaptureExtension.h:445
+
NTSC_433.
Definition: MWCaptureExtension.h:697
+
MS infoframe.
Definition: MWCaptureExtension.h:1405
+
SDI_SCANNING_FORMAT sdiScanningFormat
SDI scan format.
Definition: MWCaptureExtension.h:614
+
_MWCAP_VIDEO_SYNC_TYPE
MWCAP_VIDEO_SYNC_TYPE.
Definition: MWCaptureExtension.h:307
+
struct _MWCAP_VIDEO_ECO_CAPTURE_OPEN MWCAP_VIDEO_ECO_CAPTURE_OPEN
MWCAP_VIDEO_ECO_CAPTURE_OPEN.
+
struct _MWCAP_VIDEO_CAPS MWCAP_VIDEO_CAPS
MWCAP_VIDEO_CAPS.
+
int cxTotal
Total width.
Definition: MWCaptureExtension.h:763
+
Saturation.
Definition: MWCaptureExtension.h:1563
+
Blend mode.
Definition: MWCaptureExtension.h:286
+
WORD wField1VBackPorch
Vertical back porch of bottom subframe.
Definition: MWCaptureExtension.h:646
+
CVBS input signal.
Definition: MWCaptureExtension.h:184
+
BOOLEAN bTopFieldInverted
Whether to reverse the top subframe.
Definition: MWCaptureExtension.h:1182
+
enum _MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE
MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE.
+
WORD wHSyncWidth
Horizontal sync width.
Definition: MWCaptureExtension.h:634
+
YC input signal.
Definition: MWCaptureExtension.h:185
+
DWORD cbProgramBlock
Length of program block storage area.
Definition: MWCaptureExtension.h:543
+
Definition: WinTypes.h:62
+
MWCAP_VIDEO_FRAME_STATE state
The state of the video framess.
Definition: MWCaptureExtension.h:1177
+
BYTE bySeconds
Seconds.
Definition: MWCaptureExtension.h:1131
+
MWCAP_VIDEO_PROCESS_SETTINGS.
Definition: MWCaptureExtension.h:1472
+
MWCAP_VIDEO_SIGNAL_STATE state
Defines the accessibility of this video signal.
Definition: MWCaptureExtension.h:758
+
LED stays flashing.
Definition: MWCaptureExtension.h:598
+
Only uses top subframe data.
Definition: MWCaptureExtension.h:287
+
Auto mode.
Definition: MWCaptureExtension.h:595
+
MS infoframe.
Definition: MWCaptureExtension.h:1426
+
Pro Capture AIO 4K, one-channel 4K capture card.
Definition: MWCaptureExtension.h:151
+
USB Capture HDMI Plus.
Definition: MWCaptureExtension.h:162
+
MWCAP_VIDEO_CAPS.
Definition: MWCaptureExtension.h:485
+
_MWCAP_VIDEO_SIGNAL_STATE
MWCAP_VIDEO_SIGNAL_STATE.
Definition: MWCaptureExtension.h:743
+
DWORD dwDefault
The default value.
Definition: MWCaptureExtension.h:393
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_d_m_a_mem_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_d_m_a_mem_8h_source.html new file mode 100644 index 00000000..3b7195d1 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_d_m_a_mem_8h_source.html @@ -0,0 +1,61 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWDMAMem.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWDMAMem.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 #ifndef __MW_DMA_MEM_H__
8 #define __MW_DMA_MEM_H__
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 #include "MWSg.h"
14 
15 enum mw_dma_data_direction{
16  MW_DMA_BIDIRECTIONAL = 0,
17  MW_DMA_TO_DEVICE = 1,
18  MW_DMA_FROM_DEVICE = 2,
19  MW_DMA_NONE = 3,
20 };
21 
22 static inline int mw_valid_dma_direction(int direction)
23 {
24  return ((direction == MW_DMA_BIDIRECTIONAL) ||
25  (direction == MW_DMA_TO_DEVICE) ||
26  (direction == MW_DMA_FROM_DEVICE));
27 }
28 
29 #define MW_DMA_MEMORY_MAX_CLIENT (16)
30 
31 #define MWCAP_VIDEO_MEMORY_TYPE_USER (3)
32 #define MWCAP_VIDEO_MEMORY_TYPE_PHYSICAL (4)
33 #define MWCAP_VIDEO_MEMORY_TYPE_NVRDMA (5) /* need NvRdmaForProCapture module */
34 #define MWCAP_VIDEO_MEMORY_TYPE_PRIV_BASE (6)
35 
36 
38 
39 struct mw_dma_desc {
40  mw_scatterlist_t *mwsg_list;
41  int sglen;
42 
43  /* for internal use */
44  struct mw_dma_memory_client *client;
45 };
46 
48  int mem_type;
49 
50  int (*create_dma_desc)(struct mw_dma_desc **dma_desc,
51  unsigned long addr, size_t size,
52  int direction,
53  void *private_data);
54  int (*sync_for_cpu)(struct mw_dma_desc *dma_desc);
55  int (*sync_for_device)(struct mw_dma_desc *dma_desc);
56  void (*destroy_dma_desc)(struct mw_dma_desc *dma_desc);
57 };
58 
59 int mw_register_dma_memory_client(struct mw_dma_memory_client *client);
60 
61 int mw_unregister_dma_memory_client(struct mw_dma_memory_client *client);
62 
63 #pragma pack(pop)
64 
65 #endif /* __MW_DMA_MEM_H__ */
Definition: MWDMAMem.h:39
+
Definition: MWDMAMem.h:47
+
Definition: MWSg.h:15
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_e_d_i_d_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_e_d_i_d_8h_source.html new file mode 100644 index 00000000..85475f8f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_e_d_i_d_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/MWEDID.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWEDID.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2016 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push, 1)
11 
12 const uint8_t g_abyEDIDHeader[] = { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00 };
13 
14 #define EDID_WEEK_NOT_SPECIFIED (0x00)
15 #define EDID_WEEK_MODEL_YEAR (0xFF) // Valid for EDID 1.4
16 #define EDID_WEEK_MIN (1)
17 #define EDID_WEEK_MAX (54)
18 #define EDID_YEAR_MIN (0x10)
19 #define EDID_YEAR_BASE (1990)
20 
21 #define EDID_INPUT_INTERFACE_DIGITAL (0x80)
22 
23 #define EDID_INPUT_ANALOG_LEVEL_SHIFT (5)
24 #define EDID_INPUT_ANALOG_LEVEL_MASK (0x03)
25 #define EDID_INPUT_ANALOG_LEVEL_0700_0300 (0)
26 #define EDID_INPUT_ANALOG_LEVEL_0714_0286 (1)
27 #define EDID_INPUT_ANALOG_LEVEL_1000_0400 (2)
28 #define EDID_INPUT_ANALOG_LEVEL_0700_0000 (3)
29 
30 #define EDID_INPUT_ANALOG_BLANK_SETUP_EXPECTED (0x10)
31 #define EDID_INPUT_ANALOG_SEPARATE_SYNC (0x08)
32 #define EDID_INPUT_ANALOG_COMPOSITE_SYNC (0x04)
33 #define EDID_INPUT_ANALOG_SYNC_ON_GREEN (0x02)
34 #define EDID_INPUT_ANALOG_SERRATION (0x01)
35 
36 #define EDID_INPUT_DIGITAL_BIT_DEPTH_SHIFT (4) // Valid for EDID 1.4
37 #define EDID_INPUT_DIGITAL_BIT_DEPTH_MASK (0x07)
38 #define EDID_INPUT_DIGITAL_BIT_DEPTH_UNDEFINED (0)
39 #define EDID_INPUT_DIGITAL_BIT_DEPTH_6 (1)
40 #define EDID_INPUT_DIGITAL_BIT_DEPTH_8 (2)
41 #define EDID_INPUT_DIGITAL_BIT_DEPTH_10 (3)
42 #define EDID_INPUT_DIGITAL_BIT_DEPTH_12 (4)
43 #define EDID_INPUT_DIGITAL_BIT_DEPTH_14 (5)
44 #define EDID_INPUT_DIGITAL_BIT_DEPTH_16 (6)
45 
46 #define EDID_INPUT_DIGITAL_INTERFACE_MASK (0x0F) // Valid for EDID 1.4
47 #define EDID_INPUT_DIGITAL_INTERFACE_UNDEFINED (0)
48 #define EDID_INPUT_DIGITAL_INTERFACE_DVI (1)
49 #define EDID_INPUT_DIGITAL_INTERFACE_HDMI_A (2)
50 #define EDID_INPUT_DIGITAL_INTERFACE_HDMI_B (3)
51 #define EDID_INPUT_DIGITAL_INTERFACE_MDDI (4)
52 #define EDID_INPUT_DIGITAL_INTERFACE_DP (5)
53 
54 #define EDID_FEATURE_DFP1X_COMPATIBLE (0x01) // Valid for EDID 1.3
55 
56 #define EDID_HORZ_PORTRAIT_AR (0x00) // Valid for EDID 1.4
57 #define EDID_VERT_LANDSCAPE_AR (0x00) // Valid for EDID 1.4
58 #define EDID_HORZ_FROM_LANDSCAPE_AR(ar) (round((ar) * 100.0f) - 99)
59 #define EDID_HORZ_TO_LANDSCAPE_AR(val) (((val) + 99) / 100.0f)
60 #define EDID_VERT_FROM_PORTRAIT_AR(ar) (round(100.0f / (ar)) - 99)
61 #define EDID_VERT_TO_PORTRAIT_AR(val) (100.0f / ((val) + 99))
62 
63 #define EDID_DTC_FROM_GAMMA(gamma) (round((gamma) * 100.0f) - 100)
64 #define EDID_DTC_TO_GAMMA(val) (((val) + 100) / 100.0f)
65 
66 #define EDID_FEATURE_STANDBY (0x80)
67 #define EDID_FEATURE_SUSPEND (0x40)
68 #define EDID_FEATURE_ACTIVE_OFF (0x20)
69 
70 #define EDID_FEATURE_DISPLAY_COLOR_TYPE_SHIFT (3)
71 #define EDID_FEATURE_DISPLAY_COLOR_TYPE_MASK (0x03)
72 #define EDID_FEATURE_COLOR_TYPE_A_MONO (0)
73 #define EDID_FEATURE_COLOR_TYPE_A_RGB (1)
74 #define EDID_FEATURE_COLOR_TYPE_A_NON_RGB (2)
75 #define EDID_FEATURE_COLOR_TYPE_A_UNDEFINED (3)
76 #define EDID_FEATURE_COLOR_TYPE_D_RGB444 (0) // Valid for EDID 1.4 when EDID_INPUT_INTERFACE_DIGITAL
77 #define EDID_FEATURE_COLOR_TYPE_D_RGBYUV444 (1)
78 #define EDID_FEATURE_COLOR_TYPE_D_RGB444_YUV422 (2)
79 #define EDID_FEATURE_COLOR_TYPE_D_RGB444_YUV444_422 (3)
80 
81 #define EDID_FEATURE_DEFAULT_SRGB (0x04)
82 #define EDID_FEATURE_PREFERRED_TIMING_MODE (0x02) // Must set for EDID 1.3
83 #define EDID_FEATURE_DEFAULT_GTF (0x01) // Valid for EDID 1.3
84 #define EDID_FEATURE_CONTINUOUS_FREQUENCY (0x01) // Valid for EDID 1.4
85 
86 #define EDID_EST_TIMING_I_720x400_70 (0x80)
87 #define EDID_EST_TIMING_I_720x400_88 (0x40)
88 #define EDID_EST_TIMING_I_640x480_60 (0x20)
89 #define EDID_EST_TIMING_I_640x480_67 (0x10)
90 #define EDID_EST_TIMING_I_640x480_72 (0x08)
91 #define EDID_EST_TIMING_I_640x480_75 (0x04)
92 #define EDID_EST_TIMING_I_800x600_56 (0x02)
93 #define EDID_EST_TIMING_I_800x600_60 (0x01)
94 
95 #define EDID_EST_TIMING_II_800x600_72 (0x80)
96 #define EDID_EST_TIMING_II_800x600_75 (0x40)
97 #define EDID_EST_TIMING_II_832x624_75 (0x20)
98 #define EDID_EST_TIMING_II_1024x768_87i (0x10)
99 #define EDID_EST_TIMING_II_1024x768_60 (0x08)
100 #define EDID_EST_TIMING_II_1024x768_70 (0x04)
101 #define EDID_EST_TIMING_II_1024x768_75 (0x02)
102 #define EDID_EST_TIMING_II_1280x1024_75 (0x01)
103 
104 #define EDID_RES_TIMING_1152x870_75 (0x80)
105 
106 #define EDID_STD_TIMING_UNUSED (0x0101)
107 #define EDID_STD_TIMING_AR_16_10 (0)
108 #define EDID_STD_TIMING_AR_4_3 (1)
109 #define EDID_STD_TIMING_AR_5_4 (2)
110 #define EDID_STD_TIMING_AR_16_9 (3)
111 #define EDID_STD_TIMING_GET_AR(w) ((w) >> 14)
112 #define EDID_STD_TIMING_GET_REFRESH(w) (((w) >> 8) & 0x3F) // 60-123
113 #define EDID_STD_TIMING_GET_H_ACTIVE(w) ((((w) & 0xFF) + 31) * 8) // 256-2288
114 #define EDID_STD_TIMING_PACK(h, refresh, ar) (((h) / 8 - 31) | (((refresh) - 60) << 8) | ((ar) << 14))
115 
116 typedef struct _EDID_BASE_BLOCK {
117  // 00h Header
118  uint8_t abyHeader[8];
119  // 08h Vendor & Product Identification
120  uint8_t abyManufacturerName[2];
121  uint16_t wProductCode;
122  uint32_t dwSerialNumber;
123  uint8_t byWeek;
124  uint8_t byYear;
125  // 12h EDID Structure Version & Revision
126  uint8_t byVersion;
127  uint8_t byRevision;
128  // 14h Basic Display Parameters & Features
129  uint8_t byVideoInputDefinision; // EDID_INPUT_XXX
130  uint8_t byHorizontalSize; // EDID_HORZ_AR_PORTRAIT or size in CM or AR (when byVerticalSize == EDID_VERT_LANDSCAPE_AR) // AR = 1..3.54
131  uint8_t byVerticalSize; // EDID_VERT_AR_LANDSCAPE or size in CM or AR (when byHorizontalSize == EDID_HORZ_PORTRAIT_AR) // AR = 0.28..0.99
132  uint8_t byDisplayXferCharacteristics; // EDID_DTC_XXX
133  uint8_t byFeatureSupport; // EDID_FEATURE_XXX
134  // 19h Color Characteristics
135  uint8_t byRedGreenLSB; // Rx[1:0], Ry[1:0], Gx[1:0], Gy[1:0]
136  uint8_t byBlueWhiteLSB; // Bx[1:0], By[1:0], Wx[1:0], Wy[1:0]
137  uint8_t byRedXMSB; // Rx[9:2]
138  uint8_t byRedYMSB; // Ry[9:2]
139  uint8_t byGreenXMSB; // Gx[9:2]
140  uint8_t byGreenYMSB; // Gy[9:2]
141  uint8_t byBlueXMSB; // Bx[9:2]
142  uint8_t byBlueYMSB; // By[9:2]
143  uint8_t byWhiteXMSB; // Wx[9:2]
144  uint8_t byWhiteYMSB; // Wy[9:2]
145  // 23h Established Timings
146  uint8_t byEstablishedTimingsI; // EDID_EST_TIMING_I_XXX
147  uint8_t byEstablishedTimingsII; // EDID_EST_TIMING_II_XXX
148  uint8_t byManufacturerReservedTimings; // EDID_RES_TIMING_XXX
149  // 26h Standard Timings
150  uint16_t abyStandardTimings[8]; // EDID_STD_TIMING_XXX
151  // 36h 18 Byte Data Blocks
152  uint8_t abyPreferredTimingMode[18];
153  uint8_t abyDTD2OrDisplayDescriptor[18];
154  uint8_t abyDTD3OrDisplayDescriptor[18];
155  uint8_t abyDTD4OrDisplayDescriptor[18];
156  // 7eh
157  uint8_t byExtensionBlockCount;
158  uint8_t byCheckSum;
160 
161 inline void EDID_DecodeISAPnPID(char * pszName, const uint8_t * pbyID) {
162  uint16_t wID = (pbyID[0] << 8) | pbyID[1];
163  pszName[3] = '\0';
164  pszName[2] = ((wID >> 0) & 0x1F) + 'A' - 1;
165  pszName[1] = ((wID >> 5) & 0x1F) + 'A' - 1;
166  pszName[0] = ((wID >> 10) & 0x1F) + 'A' - 1;
167 }
168 
169 inline void EDID_EncodeISAPnPID(const char * pszName, uint8_t * pbyID) {
170  uint16_t wID = 0;
171  wID |= (((pszName[0] - 'A') + 1) & 0x1F) << 10;
172  wID |= (((pszName[1] - 'A') + 1) & 0x1F) << 5;
173  wID |= (((pszName[2] - 'A') + 1) & 0x1F) << 0;
174 
175  pbyID[0] = (wID >> 8);
176  pbyID[1] = (wID & 0xFF);
177 }
178 
179 inline bool EDID_VerifyBlock(uint8_t * pbyEDIDBlock)
180 {
181  uint8_t bySum = 0;
182  for (int i = 0; i < 128; i++)
183  bySum += *pbyEDIDBlock++;
184 
185  return (bySum == 0);
186 }
187 
188 inline uint8_t EDID_CalcCheckSum(const uint8_t * pbyEDIDBlock)
189 {
190  uint8_t bySum = 0;
191  for (int i = 0; i < 127; i++)
192  bySum += *pbyEDIDBlock++;
193 
194  return -bySum;
195 }
196 
197 // NOTE: all detailed video timing descriptors precede other types of display descriptor
198 // The display's preferred timing mode is a required ELEMENT in EDID data structure version 1, revision 4.
199 #define EDID_DTD_TIMING_FLAGS_INTERLACED (0x80)
200 
201 #define EDID_DTD_TIMING_FLAGS_STEREO_SUPPORT(val) ((((val) >> 4) && 0x06) | ((val) & 0x01))
202 #define EDID_DTD_TIMING_FLAGS_STEREO_NONE_0 (0x00)
203 #define EDID_DTD_TIMING_FLAGS_STEREO_NONE_1 (0x01)
204 #define EDID_DTD_TIMING_FLAGS_STEREO_FS_R (0x02)
205 #define EDID_DTD_TIMING_FLAGS_STEREO_FS_L (0x04)
206 #define EDID_DTD_TIMING_FLAGS_STEREO_2WAY_R (0x03)
207 #define EDID_DTD_TIMING_FLAGS_STEREO_2WAY_L (0x05)
208 #define EDID_DTD_TIMING_FLAGS_STEREO_4WAY (0x06)
209 #define EDID_DTD_TIMING_FLAGS_STEREO_SIDE_BY_SIDE (0x07)
210 
211 #define EDID_DTD_TIMING_FLAGS_SYNC_DIGITAL_SYNC (0x08)
212 #define EDID_DTD_TIMING_FLAGS_SYNC_A_BIPOLAR (0x04)
213 #define EDID_DTD_TIMING_FLAGS_SYNC_A_ON_RGB (0x01)
214 #define EDID_DTD_TIMING_FLAGS_SYNC_D_SEPARATE (0x04)
215 #define EDID_DTD_TIMING_FLAGS_SYNC_D_POSITIVE_VS (0x02) // Valid for separate digital sync
216 #define EDID_DTD_TIMING_FLAGS_SYNC_D_POSITIVE_HS (0x01) // Valid for separate digital sync
217 #define EDID_DTD_TIMING_FLAGS_SYNC_SERRATIONS (0x02) // Valid for analog or composite digital sync
218 
219 #define EDID_DTD_TIMING_FLAGS_PACK(i, sync, stereo) (((i) ? 0x80 : 0x00) | (sync) | ((stereo) & 0x01) | (((stereo) & 0x06) << 4))
220 
222  uint16_t wPixelClockFreq; // in 10KHz unit
223  uint8_t byHAddrLSB;
224  uint8_t byHBlankLSB;
225  uint8_t byHAddrBlankMSB; // HAddr[11:8], HBlank[11:8]
226  uint8_t byVAddrLSB;
227  uint8_t byVBlankLSB;
228  uint8_t byVAddrBlankMSB; // VAddr[11:8], VBlank[11:8]
229  uint8_t byHFrontPorchLSB;
230  uint8_t byHSyncPulseWidthLSB;
231  uint8_t byVFrontPorchSyncPulseWidthLSB; // VFrontPorch[3:0], VSyncPulseWidth[3:0]
232  uint8_t byFrontPorchSyncPulseWidthMSB; // HFrontPorch[9:8], HSyncPulseWidth[9:8], VFrontPorch[5:4], VSyncPulseWidth[5:4]
233  uint8_t byHImageSizeLSB; // in mm unit
234  uint8_t byVImageSizeLSB;
235  uint8_t byImageSizeMSB; // HImageSize[11:8], VImageSize[11:8]
236  uint8_t byHBorderPixels;
237  uint8_t byVBorderPixels;
238  uint8_t byFlags; // EDID_DTD_TIMING_XXX
240 
241 #define EDID_DISPLAY_TAG_SN (0xFF)
242 #define EDID_DISPLAY_TAG_ASCII (0xFE)
243 #define EDID_DISPLAY_TAG_RANGE_LIMITS (0xFD)
244 #define EDID_DISPLAY_TAG_PRODUCT_NAME (0xFC)
245 #define EDID_DISPLAY_TAG_COLOR_POINT_DATA (0xFB)
246 #define EDID_DISPLAY_TAG_STANDARD_TIMING_IDS (0xFA)
247 #define EDID_DISPLAY_TAG_DCM_DATA (0xF9)
248 #define EDID_DISPLAY_TAG_CVT3_BYTE_TIMING_CODES (0xF8)
249 #define EDID_DISPLAY_TAG_EST_TIMINGS_III (0xF7)
250 #define EDID_DISPLAY_TAG_DUMMY (0x10)
251 #define EDID_DISPLAY_TAG_MANUFACTURER_MAX (0x0F)
252 #define EDID_DISPLAY_TAG_MANUFACTURER_MIN (0x00)
253 
254 typedef struct _EDID_DISPLAY_DESC {
255  uint16_t wZero;
256  uint8_t byZero;
257  uint8_t byDisplayDescTagNumber;
258  uint8_t byReserved; // Set to zero
259  uint8_t abyData[13]; // Serial number, ASCII string, Product name
261 
262 #define EDID_DISPLAY_RANGE_MIN_VERT_OFFSET_255Hz (0x01)
263 #define EDID_DISPLAY_RANGE_MAX_VERT_OFFSET_255Hz (0x02)
264 #define EDID_DISPLAY_RANGE_MIN_HORZ_OFFSET_255KHz (0x04)
265 #define EDID_DISPLAY_RANGE_MAX_HORZ_OFFSET_255KHz (0x08)
266 
267 #define EDID_DISPLAY_RANGE_DEFAULT_GTF (0x00) // EDID_FEATURE_CONTINUOUS_FREQUENCY must be set for this mode
268 #define EDID_DISPLAY_RANGE_RANGE_LIMIT_ONLY (0x01) // Valid in 1.4
269 #define EDID_DISPLAY_RANGE_SECONDARY_GTF (0x02) // EDID_FEATURE_CONTINUOUS_FREQUENCY must be set for this mode
270 #define EDID_DISPLAY_RANGE_CVT (0x04) // Valid in 1.4, EDID_FEATURE_CONTINUOUS_FREQUENCY must be set for this mode
271 
272 const uint8_t g_abyEDIDRangeLimitVideoTimingDataEmpty[7] = { 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 };
273 
274 // NOTE: shall be included if bit 0 of the Feature Support Byte at address 18h is set to 1 (indicating a continuous frequency display)
276  uint16_t wZero;
277  uint8_t byZero;
278  uint8_t byDisplayDescTagNumber; // EDID_DISPLAY_TAG_RANGE_LIMITS
279  uint8_t byRangeLimitOffsets; // EDID_DISPLAY_RANGE_XXX
280  uint8_t byMinVertRate; // in Hz unit
281  uint8_t byMaxVertRate;
282  uint8_t byMinHorzRate; // in KHz unit
283  uint8_t byMaxHorzRate;
284  uint8_t byMaxPixelClockFreq; // in 10MHz unit
285  uint8_t byVideoTimingSupportFlags;
286  uint8_t abyVideoTimingData[7]; // Empty for EDID_DISPLAY_RANGE_DEFAULT_GTF & EDID_DISPLAY_RANGE_RANGE_LIMIT_ONLY
288 
289 inline PEDID_DISPLAY_RANGE_LIMITS_DESC FindDisplayRangeLimitDesc(PEDID_BASE_BLOCK pBaseBlock) {
290  PEDID_DISPLAY_RANGE_LIMITS_DESC pDisplayRangeDesc = (PEDID_DISPLAY_RANGE_LIMITS_DESC)pBaseBlock->abyDTD2OrDisplayDescriptor;
291 
292  for (int i = 0; i < 3; i++) {
293  if (pDisplayRangeDesc->wZero == 0
294  && pDisplayRangeDesc->byZero == 0
295  && pDisplayRangeDesc->byDisplayDescTagNumber == EDID_DISPLAY_TAG_RANGE_LIMITS) {
296  return pDisplayRangeDesc;
297  }
298 
299  pDisplayRangeDesc++;
300  }
301 
302  return NULL;
303 }
304 
306  uint8_t byReserved; // Must be zero
307  uint8_t byStartBreakFreq; // in 2KHz unit
308  uint8_t byCx2;
309  uint16_t wM;
310  uint8_t byK;
311  uint8_t byJx2;
313 
314 #define EDID_DISPLAY_RANGE_CVT_SUPPORTED_AR_4_3 (0x80)
315 #define EDID_DISPLAY_RANGE_CVT_SUPPORTED_AR_16_9 (0x40)
316 #define EDID_DISPLAY_RANGE_CVT_SUPPORTED_AR_16_10 (0x20)
317 #define EDID_DISPLAY_RANGE_CVT_SUPPORTED_AR_5_4 (0x10)
318 #define EDID_DISPLAY_RANGE_CVT_SUPPORTED_AR_15_9 (0x08)
319 #define EDID_DISPLAY_RANGE_CVT_PREFERED_AR_4_3 (0)
320 #define EDID_DISPLAY_RANGE_CVT_PREFERED_AR_16_9 (1)
321 #define EDID_DISPLAY_RANGE_CVT_PREFERED_AR_16_10 (2)
322 #define EDID_DISPLAY_RANGE_CVT_PREFERED_AR_5_4 (3)
323 #define EDID_DISPLAY_RANGE_CVT_PREFERED_AR_15_9 (4)
324 #define EDID_DISPLAY_RANGE_CVT_REDUCED_BLANKING (0x10)
325 #define EDID_DISPLAY_RANGE_CVT_STANDARD_BLANKING (0x08)
326 #define EDID_DISPLAY_RANGE_CVT_HORZ_SHRINK (0x80)
327 #define EDID_DISPLAY_RANGE_CVT_HORZ_STRETCH (0x40)
328 #define EDID_DISPLAY_RANGE_CVT_VERT_SHRINK (0x20)
329 #define EDID_DISPLAY_RANGE_CVT_VERT_STRETCH (0x10)
330 
332  uint8_t byVersion; // 11h for 1.1
333  uint8_t byMaxHActiveMSB : 2;
334  uint8_t byAdditionalPixelClockPrecision : 6; // in 0.25MHz unit
335  uint8_t byMaxHActiveLSB; // 0 for no limit
336  uint8_t bySupportedAR;
337  uint8_t byReserved : 3;
338  uint8_t byCVTBlankingSupport : 2;
339  uint8_t byPreferedAR : 3;
340  uint8_t byDisplayScalingSupport;
341  uint8_t byPreferedVertRefreshRate; // in Hz unit
343 
345  uint16_t wZero;
346  uint8_t byZero;
347  uint8_t byDisplayDescTagNumber; // EDID_DISPLAY_TAG_STANDARD_TIMING_IDS
348  uint8_t byReserved; // Set to zero
349  uint16_t awStandardTimings[6];
350  uint8_t byLineFeed; // Set to 0x0A
352 
353 #define EDID_EST_TIMING_III_1_640x350_85 (0x80)
354 #define EDID_EST_TIMING_III_1_640x400_85 (0x40)
355 #define EDID_EST_TIMING_III_1_720x400_85 (0x20)
356 #define EDID_EST_TIMING_III_1_640x480_85 (0x10)
357 #define EDID_EST_TIMING_III_1_848x480_60 (0x08)
358 #define EDID_EST_TIMING_III_1_800x600_85 (0x04)
359 #define EDID_EST_TIMING_III_1_1024x768_85 (0x02)
360 #define EDID_EST_TIMING_III_1_1152x864_75 (0x01)
361 
362 #define EDID_EST_TIMING_III_2_1280x768_60_RB (0x80)
363 #define EDID_EST_TIMING_III_2_1280x768_60 (0x40)
364 #define EDID_EST_TIMING_III_2_1280x768_75 (0x20)
365 #define EDID_EST_TIMING_III_2_1280x768_85 (0x10)
366 #define EDID_EST_TIMING_III_2_1280x960_60 (0x08)
367 #define EDID_EST_TIMING_III_2_1280x960_85 (0x04)
368 #define EDID_EST_TIMING_III_2_1280x1024_60 (0x02)
369 #define EDID_EST_TIMING_III_2_1280x1024_85 (0x01)
370 
371 #define EDID_EST_TIMING_III_3_1360x768_60 (0x80)
372 #define EDID_EST_TIMING_III_3_1440x900_60_RB (0x40)
373 #define EDID_EST_TIMING_III_3_1440x900_60 (0x20)
374 #define EDID_EST_TIMING_III_3_1440x900_75 (0x10)
375 #define EDID_EST_TIMING_III_3_1440x900_85 (0x08)
376 #define EDID_EST_TIMING_III_3_1400x1050_60_RB (0x04)
377 #define EDID_EST_TIMING_III_3_1400x1050_60 (0x02)
378 #define EDID_EST_TIMING_III_3_1400x1050_75 (0x01)
379 
380 #define EDID_EST_TIMING_III_4_1400x1050_85 (0x80)
381 #define EDID_EST_TIMING_III_4_1680x1050_60_RB (0x40)
382 #define EDID_EST_TIMING_III_4_1680x1050_60 (0x20)
383 #define EDID_EST_TIMING_III_4_1680x1050_75 (0x10)
384 #define EDID_EST_TIMING_III_4_1680x1050_85 (0x08)
385 #define EDID_EST_TIMING_III_4_1600x1200_60 (0x04)
386 #define EDID_EST_TIMING_III_4_1600x1200_65 (0x02)
387 #define EDID_EST_TIMING_III_4_1600x1200_70 (0x01)
388 
389 #define EDID_EST_TIMING_III_5_1600x1200_75 (0x80)
390 #define EDID_EST_TIMING_III_5_1600x1200_85 (0x40)
391 #define EDID_EST_TIMING_III_5_1792x1344_60 (0x20)
392 #define EDID_EST_TIMING_III_5_1792x1344_75 (0x10)
393 #define EDID_EST_TIMING_III_5_1856x1392_60 (0x08)
394 #define EDID_EST_TIMING_III_5_1856x1392_75 (0x04)
395 #define EDID_EST_TIMING_III_5_1920x1200_60_RB (0x02)
396 #define EDID_EST_TIMING_III_5_1920x1200_60 (0x01)
397 
398 #define EDID_EST_TIMING_III_6_1920x1200_75 (0x80)
399 #define EDID_EST_TIMING_III_6_1920x1200_85 (0x40)
400 #define EDID_EST_TIMING_III_6_1920x1440_60 (0x20)
401 #define EDID_EST_TIMING_III_6_1920x1440_75 (0x10)
402 
404  uint16_t wZero;
405  uint8_t byZero;
406  uint8_t byDisplayDescTagNumber; // EDID_DISPLAY_TAG_EST_TIMINGS_III
407  uint8_t byReserved; // Set to zero
408  uint8_t byRevision; // Set to 0x0A
409  uint8_t byEstTimingIII_1;
410  uint8_t byEstTimingIII_2;
411  uint8_t byEstTimingIII_3;
412  uint8_t byEstTimingIII_4;
413  uint8_t byEstTimingIII_5;
414  uint8_t byEstTimingIII_6;
415  uint8_t abyReserved[6];
417 
418 #define EDID_BLOCK_TAG_UNUSED (0x00)
419 #define EDID_BLOCK_TAG_CEA_EXT (0x02)
420 #define EDID_BLOCK_TAG_VTB_EXT (0x10)
421 #define EDID_BLOCK_TAG_DI_EXT (0x40)
422 #define EDID_BLOCK_TAG_LS_EXT (0x50)
423 #define EDID_BLOCK_TAG_DPVL_EXT (0x60)
424 #define EDID_BLOCK_TAG_BLOCK_MAP (0xF0)
425 #define EDID_BLOCK_TAG_MANUFACTURER (0xFF)
426 
427 typedef struct _EDID_EXT_BLOCK {
428  uint8_t byBlockTagNumber;
429  uint8_t byRevisionNumber;
430  uint8_t abyData[125];
431  uint8_t byCheckSum;
433 
434 typedef struct _EDID_MAP_BLOCK {
435  uint8_t byMapBlockTagNumber; // EDID_TAG_BLOCK_MAP
436  uint8_t abyBlockTagNumbers[126];
437  uint8_t byCheckSum;
439 
440 #define EDID_CEA_FLAG_UNDERSCAN (0x08)
441 #define EDID_CEA_FLAG_BASIC_AUDIO (0x04)
442 #define EDID_CEA_FLAG_YCbCr444 (0x02)
443 #define EDID_CEA_FLAG_YCbCr422 (0x01)
444 
445 #define EDID_CEA_PADDING_DATA (0x00)
446 
448  uint8_t byBlockTagNumber; // EDID_BLOCK_TAG_CEA_EXT
449  uint8_t byRevisionNumber; // 0x03
450  uint8_t byDetailedTimingDescOffset; // 0 for no data block & detailed timings
451  uint8_t byNumNativeDTDs : 4;
452  uint8_t byFlags : 4;
453  // Data block collections
454  // Detailed timing desc @byDetailedTimingDescOffset
455  // byCheckSum
457 
458 #define EDID_CEA_BLOCK_TAG_AUDIO (0x01)
459 #define EDID_CEA_BLOCK_TAG_VIDEO (0x02)
460 #define EDID_CEA_BLOCK_TAG_VENDOR_SPECIFIC (0x03)
461 #define EDID_CEA_BLOCK_TAG_SPEAKER_ALLOCATION (0x04)
462 #define EDID_CEA_BLOCK_TAG_VESA_DISPLAY_XFER (0x05)
463 #define EDID_CEA_BLOCK_TAG_USE_EXTENDED_TAG (0x07)
464 
466  uint8_t byDataLength : 5; // total number of video bytes following
467  uint8_t byTagCode : 3;
468  // uint8_t abyData[byDataLength];
470 
471 #define EDID_CEA_BLOCK_EXT_TAG_VIDEO_CAPABILITY (00)
472 #define EDID_CEA_BLOCK_EXT_TAG_VENDOR_SPECIFIC_VIDEO (01)
473 #define EDID_CEA_BLOCK_EXT_TAG_VESA_DISPLAY_DEVICE (02)
474 #define EDID_CEA_BLOCK_EXT_TAG_VESA_VIDEO_TIMING (03)
475 #define EDID_CEA_BLOCK_EXT_TAG_HDMI_VIDEO (04)
476 #define EDID_CEA_BLOCK_EXT_TAG_COLORIMETRY (05)
477 #define EDID_CEA_BLOCK_EXT_TAG_VIDEO_FORMAT_PREFERENCE (13)
478 #define EDID_CEA_BLOCK_EXT_TAG_YUV420_VIDEO (14)
479 #define EDID_CEA_BLOCK_EXT_TAG_YUV420_CAPABILITY_MAP (15)
480 #define EDID_CEA_BLOCK_EXT_TAG_VENDOR_SPECIFIC_AUDIO (17)
481 #define EDID_CEA_BLOCK_EXT_TAG_HDMI_AUDIO (18)
482 #define EDID_CEA_BLOCK_EXT_TAG_INFO_FRAME (32)
483 
485  uint8_t byDataLength : 5; // total number of video bytes following
486  uint8_t byTagCode : 3;
487  uint8_t byExtendedTagCode;
488  // uint8_t abyData[byDataLength - 1];
490 
491 inline PEDID_CEA_DATA_BLOCK_HEADER EDID_FindCEAGetFirstDataBlock(PEDID_CEA_EXT_BLOCK_HEADER pCEAExt, int& cbTotalBlockSize) {
492  cbTotalBlockSize = pCEAExt->byDetailedTimingDescOffset - 4;
493  if (cbTotalBlockSize <= 0)
494  return NULL;
495 
496  PEDID_CEA_DATA_BLOCK_HEADER pBlockHdr = (PEDID_CEA_DATA_BLOCK_HEADER)(pCEAExt + 1);
497  if (cbTotalBlockSize < (pBlockHdr->byDataLength + 1))
498  return NULL;
499 
500  return pBlockHdr;
501 }
502 
503 inline PEDID_CEA_DATA_BLOCK_HEADER EDID_FindCEAGetNextDataBlock(PEDID_CEA_DATA_BLOCK_HEADER pDataBlock, int& cbTotalBlockSize) {
504  uint8_t * pbyData = (uint8_t *)pDataBlock + pDataBlock->byDataLength + 1;
505  cbTotalBlockSize -= pDataBlock->byDataLength + 1;
506  if (cbTotalBlockSize <= 0)
507  return NULL;
508 
509  PEDID_CEA_DATA_BLOCK_HEADER pBlockHdr = (PEDID_CEA_DATA_BLOCK_HEADER)pbyData;
510  if (cbTotalBlockSize < (pBlockHdr->byDataLength + 1))
511  return NULL;
512 
513  return pBlockHdr;
514 }
515 
516 inline PEDID_CEA_DATA_BLOCK_HEADER EDID_FindVSDB(PEDID_CEA_EXT_BLOCK_HEADER pCEAExt, const uint8_t * pbyIEEE_OUI) {
517  int cbTotalBlockSize;
518  PEDID_CEA_DATA_BLOCK_HEADER pHdr = EDID_FindCEAGetFirstDataBlock(pCEAExt, cbTotalBlockSize);
519 
520  while (pHdr) {
521  if (pHdr->byTagCode == EDID_CEA_BLOCK_TAG_VENDOR_SPECIFIC
522  && pHdr->byDataLength >= 3) {
523  if (memcmp(pHdr + 1, pbyIEEE_OUI, 3) == 0)
524  return pHdr;
525  }
526 
527  pHdr = EDID_FindCEAGetNextDataBlock(pHdr, cbTotalBlockSize);
528  }
529 
530  return NULL;
531 }
532 
533 inline int EDID_GetCEADetailedTimingCount(PEDID_CEA_EXT_BLOCK_HEADER pCEAExt) {
534  int cbMaxDTDs = 127 - pCEAExt->byDetailedTimingDescOffset;
535  int cMaxDTDs = cbMaxDTDs / 18;
536 
537  PEDID_DETAILED_TIMING_DESC pDTD = (PEDID_DETAILED_TIMING_DESC)((uint8_t *)pCEAExt + pCEAExt->byDetailedTimingDescOffset);
538 
539  int cDTDs = 0;
540  while (cDTDs < cMaxDTDs) {
541  if (pDTD->wPixelClockFreq == 0)
542  break;
543  cDTDs++;
544  }
545 
546  return cDTDs;
547 }
548 
549 inline void EDID_RemoveCEADataBlock(PEDID_CEA_EXT_BLOCK_HEADER pCEAExt, PEDID_CEA_DATA_BLOCK_HEADER pDataBlock) {
550  int cbDataBlock = pDataBlock->byDataLength + 1;
551 
552  uint8_t * pbyStart = (uint8_t *)pCEAExt;
553  uint8_t * pbyClear = (pbyStart + 127) - cbDataBlock;
554  uint8_t * pbyBlock = (uint8_t *)pDataBlock;
555  uint8_t * pbyNextBlock = pbyBlock + cbDataBlock;
556  int cbMove = 127 - (int)(pbyNextBlock - pbyStart);
557 
558  memmove(pbyBlock, pbyNextBlock, cbMove);
559  memset(pbyClear, 0, cbDataBlock);
560 
561  pCEAExt->byDetailedTimingDescOffset -= cbDataBlock;
562 }
563 
564 inline bool EDID_InsertCEADataBlock(PEDID_CEA_EXT_BLOCK_HEADER pCEAExt, PEDID_CEA_DATA_BLOCK_HEADER pDataBlockPos, PEDID_CEA_DATA_BLOCK_HEADER pDataBlock) {
565  int cbBlock = (pDataBlock->byDataLength + 1);
566  int cDTDs = EDID_GetCEADetailedTimingCount(pCEAExt);
567  int cbDTDs = cDTDs * sizeof(EDID_DETAILED_TIMING_DESC);
568  int cbPrevEnd = pCEAExt->byDetailedTimingDescOffset + cbDTDs;
569  int cbNewEnd = cbPrevEnd + cbBlock;
570  if (cbNewEnd > 127)
571  return false;
572 
573  uint8_t * pbyStart = (uint8_t *)pCEAExt;
574  uint8_t * pbyPos = (pDataBlockPos == NULL) ? (uint8_t *)(pCEAExt + 1) : (uint8_t *)pDataBlockPos;
575 
576  int cbMove = cbPrevEnd - (int)(pbyPos - pbyStart);
577  memmove(pbyPos + (pDataBlock->byDataLength + 1), pbyPos, cbMove);
578  memcpy(pbyPos, pDataBlock, cbBlock);
579  pCEAExt->byDetailedTimingDescOffset += cbBlock;
580 
581  return true;
582 }
583 
584 // EDID_CEA_BLOCK_TAG_VIDEO, EDID_CEA_BLOCK_EXT_TAG_YUV420_VIDEO, EDID_CEA_BLOCK_EXT_TAG_YUV420_CAPABILITY_MAP
585 #define EDID_CEA_SVD_MAX_NUM (31)
586 #define EDID_CEA_SVD_FROM_VIC(native, vic) ((vic) <= 64 ? ((vic) | ((native) ? 0x80 : 0x00)) : (vic))
587 #define EDIA_CEA_SVD_TO_VIC(svd) (((svd) & 0x7F) <= 64 ? ((svd) & 0x7F) : svd)
588 
589 // EDID_CEA_BLOCK_TAG_AUDIO (Addtion to Basic Audio)
590 #define EDID_CEA_SAD_MAX_NUM (10)
591 
592 #define EDID_CEA_SAD_FORMAT_LPCM (1)
593 #define EDID_CEA_SAD_FORMAT_AC3 (2)
594 #define EDID_CEA_SAD_FORMAT_MPEG1 (3)
595 #define EDID_CEA_SAD_FORMAT_MP3 (4)
596 #define EDID_CEA_SAD_FORMAT_MPEG2 (5)
597 #define EDID_CEA_SAD_FORMAT_AAC_LC (6)
598 #define EDID_CEA_SAD_FORMAT_DTS (7)
599 #define EDID_CEA_SAD_FORMAT_ATRAC (8)
600 #define EDID_CEA_SAD_FORMAT_ONE_BIT (9)
601 #define EDID_CEA_SAD_FORMAT_ENHANCED_AC3 (10)
602 #define EDID_CEA_SAD_FORMAT_DTS_HD (11)
603 #define EDID_CEA_SAD_FORMAT_MAT (12)
604 #define EDID_CEA_SAD_FORMAT_DST (13)
605 #define EDID_CEA_SAD_FORMAT_WMA_PRO (14)
606 #define EDID_CEA_SAD_FORMAT_EXTENSION (15)
607 
608 #define EDID_CEA_SAD_SAMPLE_RATE_32K (0x01)
609 #define EDID_CEA_SAD_SAMPLE_RATE_44K1 (0x02)
610 #define EDID_CEA_SAD_SAMPLE_RATE_48K (0x04)
611 #define EDID_CEA_SAD_SAMPLE_RATE_88K2 (0x08)
612 #define EDID_CEA_SAD_SAMPLE_RATE_96K (0x10)
613 #define EDID_CEA_SAD_SAMPLE_RATE_176K4 (0x20)
614 #define EDID_CEA_SAD_SAMPLE_RATE_192K (0x40)
615 
616 #define EDID_CEA_SAD_LPCM_BITS_16 (0x01)
617 #define EDID_CEA_SAD_LPCM_BITS_20 (0x02)
618 #define EDID_CEA_SAD_LPCM_BITS_24 (0x04)
619 
620 #define EDID_CEA_SAD_WMA_PRO_PROFILE_MASK (0x07)
621 
622 #define EDID_CEA_SAD_EXT_FORMAT_SHIFT (3)
623 #define EDID_CEA_SAD_EXT_FORMAT_MASK (0x1F)
624 #define EDID_CEA_SAD_EXT_FORMAT_DRA (0x00)
625 #define EDID_CEA_SAD_EXT_FORMAT_MPEG4_HE_AAC (0x04)
626 #define EDID_CEA_SAD_EXT_FORMAT_MPEG4_HE_AAC_V2 (0x05)
627 #define EDID_CEA_SAD_EXT_FORMAT_MPEG4_AAC_LC (0x06)
628 #define EDID_CEA_SAD_EXT_FORMAT_MPEG4_HE_AAC_MPS (0x08)
629 #define EDID_CEA_SAD_EXT_FORMAT_MPEG4_AAC_LC_MPS (0x10)
630 #define EDID_CEA_SAD_EXT_AAC_1024_TL (0x04) // Valid for 4-6, 8, 10
631 #define EDID_CEA_SAD_EXT_AAC_960_TL (0x02) // Valid for 4-6, 8, 10
632 #define EDID_CEA_SAD_EXT_AAC_MPS_L (0x01) // Valid for 8, 10
633 
634 typedef struct _EDID_CEA_SAD {
635  uint8_t byMaxNumChannelsMinusOne : 3;
636  uint8_t byAudioFormatCode : 4;
637  uint8_t byReserved1 : 1;
638  uint8_t bySampleRateSupported;
639  uint8_t byFormatRelatedData; // LPCM: bits per sample, 2-8: MaxBitRate / 8K, WMA Pro: Profile, Ext: EDID_CEA_SAD_EXT_XXX
641 
642 // EDID_CEA_BLOCK_TAG_SPEAKER_ALLOCATION
643 // Shall be included if the Sink supports multi-channel uncompressed digital audio
644 #define EDID_CEA_SPEAKER_1_FLW_FRW (0x80)
645 #define EDID_CEA_SPEAKER_1_RLC_RRC (0x40)
646 #define EDID_CEA_SPEAKER_1_FLC_FRC (0x20)
647 #define EDID_CEA_SPEAKER_1_RC (0x10)
648 #define EDID_CEA_SPEAKER_1_RL_RR (0x08)
649 #define EDID_CEA_SPEAKER_1_FC (0x04)
650 #define EDID_CEA_SPEAKER_1_LFE (0x02)
651 #define EDID_CEA_SPEAKER_1_FL_FR (0x01)
652 
653 #define EDID_CEA_SPEAKER_2_FCH (0x04)
654 #define EDID_CEA_SPEAKER_2_TC (0x02)
655 #define EDID_CEA_SPEAKER_2_FLH_FRH (0x01)
656 
658  uint8_t byFlags1;
659  uint8_t byFlags2;
660  uint8_t byFlags3;
662 
663 // EDID_CEA_BLOCK_EXT_TAG_COLORIMETRY
664 #define EDID_CEA_COLORIMETRY_xvYCC601 (0x80)
665 #define EDID_CEA_COLORIMETRY_xvYCC709 (0x40)
666 #define EDID_CEA_COLORIMETRY_sYCC601 (0x20)
667 #define EDID_CEA_COLORIMETRY_ADOBE_YCC601 (0x10)
668 #define EDID_CEA_COLORIMETRY_ADOBE_RGB (0x08)
669 #define EDID_CEA_COLORIMETRY_BT2020_CYCC (0x04)
670 #define EDID_CEA_COLORIMETRY_BT2020_YCC (0x02)
671 #define EDID_CEA_COLORIMETRY_BT2020_RGB (0x01)
672 
674  uint8_t byColorimetry;
675  uint8_t byFutureMetaData;
677 
678 // EDID_CEA_BLOCK_EXT_TAG_VIDEO_CAPABILITY (Only 1 byte data)
679 #define EDID_CEA_VIDEO_CAPABILITY_CE_SCAN_SHIFT (0)
680 #define EDID_CEA_VIDEO_CAPABILITY_IT_SCAN_SHIFT (2)
681 #define EDID_CEA_VIDEO_CAPABILITY_PT_SCAN_SHIFT (4)
682 #define EDID_CEA_VIDEO_CAPABILITY_SCAN_MASK (3)
683 #define EDID_CEA_VIDEO_CAPABILITY_SCAN_UNSUPPORTED (0)
684 #define EDID_CEA_VIDEO_CAPABILITY_SCAN_OVERSCANNED (1)
685 #define EDID_CEA_VIDEO_CAPABILITY_SCAN_UNDERSCANNED (2)
686 #define EDID_CEA_VIDEO_CAPABILITY_SCAN_BOTH_SUPPORTED (3)
687 #define EDID_CEA_VIDEO_CAPABILITY_QYCC_SELECTABLE (0x80)
688 #define EDID_CEA_VIDEO_CAPABILITY_QRGB_SELECTABLE (0x40)
689 
690 // EDID_CEA_BLOCK_EXT_TAG_VIDEO_FORMAT_PREFERENCE (List of 1-byte SVRs)
691 #define EDID_CEA_SVR_MAX_NUM (31)
692 #define EDID_CEA_SVR_DTD_INDEX (0x80)
693 
694 // EDID_CEA_BLOCK_EXT_TAG_YUV420_CAPABILITY_MAP (Bit map of SVDs can support YUV420)
695 
696 // EDID_CEA_BLOCK_TAG_VENDOR_SPECIFIC
697 const uint8_t g_abyHDMI_FORUM[3] = { 0xD8, 0x5D, 0xC4 };
698 
699 #define EDID_HDMI_FORUM_FLAG_1_SCDC_PRESENT (0x80)
700 #define EDID_HDMI_FORUM_FLAG_1_RR_CAPABLE (0x40)
701 #define EDID_HDMI_FORUM_FLAG_1_LTE_340M_SCRAMBLE (0x08)
702 #define EDID_HDMI_FORUM_FLAG_1_INDEPENDENT_VIEW (0x04)
703 #define EDID_HDMI_FORUM_FLAG_1_DUAL_VIEW (0x02)
704 #define EDID_HDMI_FORUM_FLAG_1_3D_OSD_DISPARITY (0x01)
705 
706 #define EDID_HDMI_FORUM_FLAG_2_DC_48BIT_420 (0x04)
707 #define EDID_HDMI_FORUM_FLAG_2_DC_36BIT_420 (0x02)
708 #define EDID_HDMI_FORUM_FLAG_2_DC_30BIT_420 (0x01)
709 
710 typedef struct _EDID_HDMI_FORUM_VSDB {
711  uint8_t byDataLength : 5; // total number of video bytes following
712  uint8_t byTagCode : 3;
713  uint8_t abyIEEE_OUI[3]; // g_abyHDMI_FORUM
714  uint8_t byVersion; // 1
715  uint8_t byMaxTMDSCharacterRate; // 0 for Rate < 340Mcsc
716  uint8_t byFlags1;
717  uint8_t byFlags2;
719 
720 // EDID_CEA_BLOCK_TAG_VENDOR_SPECIFIC
721 const uint8_t g_abyHDMI_VSDB[3] = { 0x03, 0x0C, 0x00 };
722 
723 typedef struct _EDID_HDMI_VSDB_HEADER {
724  uint8_t byDataLength : 5; // total number of video bytes following
725  uint8_t byTagCode : 3;
726  uint8_t abyIEEE_OUI[3]; // g_abyHDMI_VSDB
727  uint8_t byAB; // A[3:0], B[3:0]
728  uint8_t byCD; // C[3:0], D[3:0]
729  uint8_t byFlags1;
730  uint8_t byMaxTMDSClockFreq;
731  uint8_t byFlags2;
732  uint8_t byVideoLatency;
733  uint8_t byAudioLatency;
734  uint8_t byInterlacedVideoLatency;
735  uint8_t byInterlacedAudioLatency;
736  uint8_t byFlags3;
737  uint8_t byHDMI3DLen : 4;
738  uint8_t byHDMIVICLen : 4;
739  // ...
741 
742 #pragma pack(pop)
743 
Definition: MWEDID.h:116
+
Definition: MWEDID.h:275
+
Definition: MWEDID.h:723
+
Definition: MWEDID.h:254
+
Definition: MWEDID.h:484
+
Definition: MWEDID.h:465
+
Definition: MWEDID.h:403
+
Definition: MWEDID.h:710
+
Definition: MWEDID.h:657
+
Definition: MWEDID.h:221
+
Definition: MWEDID.h:427
+
Definition: MWEDID.h:673
+
Definition: MWEDID.h:634
+ + +
Definition: MWEDID.h:447
+
Definition: MWEDID.h:434
+ +
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_eco_capture_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_eco_capture_8h_source.html new file mode 100644 index 00000000..b6e0861d --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_eco_capture_8h_source.html @@ -0,0 +1,68 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWEcoCapture.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWEcoCapture.h
+
+
+
1 /************************************************************************************************/
2 // MWCapture.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 #pragma once
30 
31 #ifdef LIBMWCAPTURE_EXPORTS
32 #define LIBMWCAPTURE_API __declspec(dllexport)
33 #elif LIBMWCAPTURE_DLL
34 #define LIBMWCAPTURE_API __declspec(dllimport)
35 #else
36 #define LIBMWCAPTURE_API
37 #endif
38 
39 #include <stdint.h>
40 #include "MWLinux.h"
41 #include "MWCaptureExtension.h"
42 
43 #ifdef __cplusplus
44 
45 extern "C"
46 {
47 #endif
48 
72 LIBMWCAPTURE_API
74  HCHANNEL hChannel,
75  MWCAP_VIDEO_ECO_CAPTURE_OPEN *pEcoCaptureOpen
76  );
77 
113 MW_RESULT
114  LIBMWCAPTURE_API
116  HCHANNEL hChannel,
118  );
119 
142 MW_RESULT
143 LIBMWCAPTURE_API
145  HCHANNEL hChannel,
147  );
148 
171 MW_RESULT
172  LIBMWCAPTURE_API
174  HCHANNEL hChannel,
176  );
177 
199 MW_RESULT
200  LIBMWCAPTURE_API
202  HCHANNEL hChannel
203  );
204 
205 #ifdef __cplusplus
206 }
207 #endif
MW_RESULT LIBMWCAPTURE_API MWGetVideoEcoCaptureStatus(HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_STATUS *pStatus)
Gets status of Eco capture card, gets captured video frames.
+
MW_RESULT LIBMWCAPTURE_API MWStopVideoEcoCapture(HCHANNEL hChannel)
Stops Eco capture.
+
MWCAP_VIDEO_ECO_CAPTURE_FRAME.
Definition: MWCaptureExtension.h:1762
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoEcoCaptureSettings(HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_SETTINGS *pSettings)
Sets capture parameters for Eco capture card.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureSetVideoEcoFrame(HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_FRAME *pFrame)
Sets storage frames for Eco to capture video frames.
+
enum _MW_RESULT_ MW_RESULT
MW_RESULT.
+
MWCAP_VIDEO_ECO_CAPTURE_STATUS.
Definition: MWCaptureExtension.h:1778
+
MWCAP_VIDEO_ECO_CAPTURE_OPEN.
Definition: MWCaptureExtension.h:1733
+
MWCAP_VIDEO_ECO_CAPTURE_SETTINGS.
Definition: MWCaptureExtension.h:1747
+
MW_RESULT LIBMWCAPTURE_API MWStartVideoEcoCapture(HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_OPEN *pEcoCaptureOpen)
Starts video capturing for Eco Capture device.
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_event_ioctl_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_event_ioctl_8h_source.html new file mode 100644 index 00000000..e93a04db --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_event_ioctl_8h_source.html @@ -0,0 +1,60 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWEventIoctl.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWEventIoctl.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 #ifndef __MW_EVENT_IOCTL__
8 #define __MW_EVENT_IOCTL__
9 
10 #include "WinTypes.h"
11 
12 #pragma pack(push)
13 #pragma pack(1)
14 
15 typedef struct _MW_EVENT_WAIT {
16  MWCAP_PTR pvEvent;
17  int timeout; //ms
19 
20 typedef struct _MW_EVENT_WAIT_MULTI {
21  MWCAP_PTR pvEvents; /* (MWCAP_PTR * pvEvents) */
22  int count;
23  int timeout; //ms
25 
26 /* kernel event */
27 #define MW_IOCTL_KEVENT_ALLOC _IOR ('E', 1, MWCAP_PTR)
28 #define MW_IOCTL_KEVENT_FREE _IOW ('E', 2, MWCAP_PTR)
29 #define MW_IOCTL_KEVENT_SET _IOW ('E', 3, MWCAP_PTR)
30 #define MW_IOCTL_KEVENT_CLEAR _IOW ('E', 4, MWCAP_PTR)
31 #define MW_IOCTL_KEVENT_IS_SET _IOW ('E', 5, MWCAP_PTR)
32 #define MW_IOCTL_KEVENT_TRY_WAIT _IOW ('E', 6, MWCAP_PTR)
33 #define MW_IOCTL_KEVENT_WAIT _IOW ('E', 7, MW_EVENT_WAIT)
34 #define MW_IOCTL_KEVENT_WAIT_MULTI _IOW ('E', 8, MW_EVENT_WAIT_MULTI)
35 
36 #pragma pack(pop)
37 
38 #endif /* __MW_EVENT_IOCTL__ */
Definition: MWEventIoctl.h:20
+
Definition: MWEventIoctl.h:15
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_f_o_u_r_c_c_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_f_o_u_r_c_c_8h_source.html new file mode 100644 index 00000000..dd5caee3 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_f_o_u_r_c_c_8h_source.html @@ -0,0 +1,108 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/MWFOURCC.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWFOURCC.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2019 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #include "LibMWCapture/WinTypes.h"
11 
12 #ifndef MWFOURCC
13 #define MWFOURCC(ch0, ch1, ch2, ch3) \
14  ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \
15  ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))
16 #endif
17 
23 #define MWFOURCC_UNK MWFOURCC('U', 'N', 'K', 'N')
24 
34 #define MWFOURCC_GREY MWFOURCC('G', 'R', 'E', 'Y')
35 
45 #define MWFOURCC_Y800 MWFOURCC('Y', '8', '0', '0')
46 
56 #define MWFOURCC_Y8 MWFOURCC('Y', '8', ' ', ' ')
57 
67 #define MWFOURCC_Y16 MWFOURCC('Y', '1', '6', ' ')
68 
78 #define MWFOURCC_RGB15 MWFOURCC('R', 'G', 'B', '5')
79 
89 #define MWFOURCC_RGB16 MWFOURCC('R', 'G', 'B', '6')
90 
100 #define MWFOURCC_RGB24 MWFOURCC('R', 'G', 'B', ' ')
101 
111 #define MWFOURCC_RGBA MWFOURCC('R', 'G', 'B', 'A')
112 
122 #define MWFOURCC_ARGB MWFOURCC('A', 'R', 'G', 'B')
123 
133 #define MWFOURCC_BGR15 MWFOURCC('B', 'G', 'R', '5')
134 
144 #define MWFOURCC_BGR16 MWFOURCC('B', 'G', 'R', '6')
145 
155 #define MWFOURCC_BGR24 MWFOURCC('B', 'G', 'R', ' ')
156 
166 #define MWFOURCC_BGRA MWFOURCC('B', 'G', 'R', 'A')
167 
177 #define MWFOURCC_ABGR MWFOURCC('A', 'B', 'G', 'R')
178 
199 #define MWFOURCC_NV16 MWFOURCC('N', 'V', '1', '6')
200 
221 #define MWFOURCC_NV61 MWFOURCC('N', 'V', '6', '1')
222 
248 #define MWFOURCC_I422 MWFOURCC('I', '4', '2', '2')
249 
275 #define MWFOURCC_YV16 MWFOURCC('Y', 'V', '1', '6')
276 
277 
290 #define MWFOURCC_YUY2 MWFOURCC('Y', 'U', 'Y', '2')
291 
304 #define MWFOURCC_YUYV MWFOURCC('Y', 'U', 'Y', 'V')
305 
318 #define MWFOURCC_UYVY MWFOURCC('U', 'Y', 'V', 'Y')
319 
332 #define MWFOURCC_YVYU MWFOURCC('Y', 'V', 'Y', 'U')
333 
346 #define MWFOURCC_VYUY MWFOURCC('V', 'Y', 'U', 'Y')
347 
372 #define MWFOURCC_I420 MWFOURCC('I', '4', '2', '0')
373 
398 #define MWFOURCC_IYUV MWFOURCC('I', 'Y', 'U', 'V')
399 
422 #define MWFOURCC_NV12 MWFOURCC('N', 'V', '1', '2')
423 
448 #define MWFOURCC_YV12 MWFOURCC('Y', 'V', '1', '2')
449 
472 #define MWFOURCC_NV21 MWFOURCC('N', 'V', '2', '1')
473 
496 #define MWFOURCC_P010 MWFOURCC('P', '0', '1', '0')
497 
522 #define MWFOURCC_P210 MWFOURCC('P', '2', '1', '0')
523 
536 #define MWFOURCC_IYU2 MWFOURCC('I', 'Y', 'U', '2')
537 
550 #define MWFOURCC_V308 MWFOURCC('v', '3', '0', '8')
551 
552 
565 #define MWFOURCC_AYUV MWFOURCC('A', 'Y', 'U', 'V')
566 
579 #define MWFOURCC_UYVA MWFOURCC('U', 'Y', 'V', 'A')
580 
593 #define MWFOURCC_V408 MWFOURCC('v', '4', '0', '8')
594 
607 #define MWFOURCC_VYUA MWFOURCC('V', 'Y', 'U', 'A')
608 
622 #define MWFOURCC_V210 MWFOURCC('v', '2', '1', '0')
623 
636 #define MWFOURCC_Y410 MWFOURCC('Y', '4', '1', '0')
637 
650 #define MWFOURCC_V410 MWFOURCC('v', '4', '1', '0')
651 
661 #define MWFOURCC_RGB10 MWFOURCC('R', 'G', '1', '0')
662 
672 #define MWFOURCC_BGR10 MWFOURCC('B', 'G', '1', '0')
673 
680 inline BOOLEAN FOURCC_IsRGB(
681  DWORD dwFOURCC
682  )
683 {
684  switch (dwFOURCC) {
685  case MWFOURCC_RGB15:
686  case MWFOURCC_BGR15:
687  case MWFOURCC_RGB16:
688  case MWFOURCC_BGR16:
689  case MWFOURCC_RGB24:
690  case MWFOURCC_BGR24:
691  case MWFOURCC_RGBA:
692  case MWFOURCC_BGRA:
693  case MWFOURCC_ARGB:
694  case MWFOURCC_ABGR:
695  case MWFOURCC_RGB10:
696  case MWFOURCC_BGR10:
697  return TRUE;
698  default:
699  return FALSE;
700  }
701 }
702 
709 inline BOOLEAN FOURCC_IsPacked(
710  DWORD dwFOURCC
711  )
712 {
713  switch (dwFOURCC) {
714  case MWFOURCC_NV12:
715  case MWFOURCC_NV21:
716  case MWFOURCC_YV12:
717  case MWFOURCC_IYUV:
718  case MWFOURCC_I420:
719  case MWFOURCC_I422:
720  case MWFOURCC_YV16:
721  case MWFOURCC_NV16:
722  case MWFOURCC_NV61:
723  case MWFOURCC_P010:
724  case MWFOURCC_P210:
725  return FALSE;
726  default:
727  return TRUE;
728  }
729 }
730 
737 inline int FOURCC_GetBpp(
738  DWORD dwFOURCC
739  )
740 {
741  switch (dwFOURCC) {
742  case MWFOURCC_GREY:
743  case MWFOURCC_Y800:
744  case MWFOURCC_Y8:
745  return 8;
746 
747  case MWFOURCC_I420:
748  case MWFOURCC_IYUV:
749  case MWFOURCC_YV12:
750  case MWFOURCC_NV12:
751  case MWFOURCC_NV21:
752  return 12;
753 
754  case MWFOURCC_Y16:
755  case MWFOURCC_RGB15:
756  case MWFOURCC_BGR15:
757  case MWFOURCC_RGB16:
758  case MWFOURCC_BGR16:
759  case MWFOURCC_YUY2:
760  case MWFOURCC_YUYV:
761  case MWFOURCC_UYVY:
762  case MWFOURCC_YVYU:
763  case MWFOURCC_VYUY:
764  case MWFOURCC_I422:
765  case MWFOURCC_YV16:
766  case MWFOURCC_NV16:
767  case MWFOURCC_NV61:
768  return 16;
769 
770  case MWFOURCC_IYU2:
771  case MWFOURCC_V308:
772  case MWFOURCC_RGB24:
773  case MWFOURCC_BGR24:
774  case MWFOURCC_P010:
775  case MWFOURCC_V210:
776  return 24;
777 
778  case MWFOURCC_AYUV:
779  case MWFOURCC_UYVA:
780  case MWFOURCC_V408:
781  case MWFOURCC_VYUA:
782  case MWFOURCC_RGBA:
783  case MWFOURCC_BGRA:
784  case MWFOURCC_ARGB:
785  case MWFOURCC_ABGR:
786  case MWFOURCC_Y410:
787  case MWFOURCC_V410:
788  case MWFOURCC_P210:
789  return 32;
790 
791  default:
792  return 0;
793  }
794 }
795 
804 inline DWORD FOURCC_CalcMinStride(
805  DWORD dwFOURCC,
806  int cx,
807  DWORD dwAlign
808  )
809 {
810  BOOLEAN bPacked = FOURCC_IsPacked(dwFOURCC);
811 
812  DWORD cbLine;
813 
814  if (bPacked) {
815  if (dwFOURCC == MWFOURCC_V210) {
816  cx = (cx + 47) / 48 * 48;
817  cbLine = cx * 8 / 3;
818  } else {
819  int nBpp = FOURCC_GetBpp(dwFOURCC);
820  cbLine = (cx * nBpp) / 8;
821  }
822  } else {
823  switch (dwFOURCC) {
824  case MWFOURCC_P010:
825  case MWFOURCC_P210:
826  cbLine = cx * 2;
827  break;
828  default:
829  cbLine = cx;
830  break;
831  }
832  }
833 
834  return (cbLine + dwAlign - 1) & ~(dwAlign - 1);
835 }
836 
846 inline DWORD FOURCC_CalcImageSize(
847  DWORD dwFOURCC,
848  int cx,
849  int cy,
850  DWORD cbStride
851  )
852 {
853  BOOLEAN bPacked = FOURCC_IsPacked(dwFOURCC);
854 
855  if (bPacked) {
856  DWORD cbLine;
857 
858  if (dwFOURCC == MWFOURCC_V210) {
859  cx = (cx + 47) / 48 * 48;
860  cbLine = cx * 8 / 3;
861  } else {
862  int nBpp = FOURCC_GetBpp(dwFOURCC);
863  cbLine = (cx * nBpp) / 8;
864  }
865 
866  if (cbStride < cbLine)
867  return 0;
868 
869  return cbStride * cy;
870  }
871  else {
872  if (cbStride < (DWORD)cx)
873  return 0;
874 
875  switch (dwFOURCC) {
876  case MWFOURCC_NV12:
877  case MWFOURCC_NV21:
878  case MWFOURCC_YV12:
879  case MWFOURCC_IYUV:
880  case MWFOURCC_I420:
881  if ((cbStride & 1) || (cy & 1))
882  return 0;
883  return cbStride * cy * 3 / 2;
884  case MWFOURCC_I422:
885  case MWFOURCC_YV16:
886  case MWFOURCC_NV16:
887  case MWFOURCC_NV61:
888  if (cbStride & 1)
889  return 0;
890  return cbStride * cy * 2;
891  case MWFOURCC_P010:
892  if ((cbStride & 3) || (cy & 1))
893  return 0;
894  return cbStride * cy * 3 / 2;
895  case MWFOURCC_P210:
896  if (cbStride & 3)
897  return 0;
898  return cbStride * cy * 2;
899 
900  default:
901  return 0;
902  }
903  }
904 }
905 
906 #pragma pack(push, 1)
907 typedef struct tagKS_BITMAPINFOHEADER {
908  DWORD biSize;
909  int biWidth;
910  int biHeight;
911  WORD biPlanes;
912  WORD biBitCount;
913  DWORD biCompression;
914  DWORD biSizeImage;
915  int biXPelsPerMeter;
916  int biYPelsPerMeter;
917  DWORD biClrUsed;
918  DWORD biClrImportant;
920 #pragma pack(pop)
921 #define KS_BI_RGB 0L
922 #define KS_BI_RLE8 1L
923 #define KS_BI_RLE4 2L
924 #define KS_BI_BITFIELDS 3L
925 #define MWCAP_BITMAPINFOHEADER KS_BITMAPINFOHEADER
926 #define MWCAP_BI_RGB KS_BI_RGB
927 #define MWCAP_BI_BITFIELDS KS_BI_BITFIELDS
928 
938 inline BOOLEAN FOURCC_IsMask(const DWORD * pdwMasks, DWORD dwRedMask, DWORD dwGreenMask, DWORD dwBlueMask)
939 {
940  return ((pdwMasks[0] == dwRedMask) && (pdwMasks[1] == dwGreenMask) && (pdwMasks[2] == dwBlueMask));
941 }
942 
952  DWORD biCompression,
953  WORD biBitCount,
954  DWORD * pdwMasks
955  )
956 {
957  switch (biCompression) {
958  case MWCAP_BI_RGB:
959  switch (biBitCount) {
960  case 16:
961  return MWFOURCC_BGR15;
962  case 24:
963  return MWFOURCC_BGR24;
964  case 32:
965  return MWFOURCC_BGRA;
966  default:
967  return MWFOURCC_UNK;
968  }
969  break;
970 
971  case MWCAP_BI_BITFIELDS:
972  {
973  switch (biBitCount) {
974  case 16:
975  if (FOURCC_IsMask(pdwMasks, 0x0000F800, 0x000007E0, 0x0000001F))
976  return MWFOURCC_BGR16;
977  else if (FOURCC_IsMask(pdwMasks, 0x0000001F, 0x000007E0, 0x0000F800))
978  return MWFOURCC_RGB16;
979  else if (FOURCC_IsMask(pdwMasks, 0x00007C00, 0x000003E0, 0x0000001F))
980  return MWFOURCC_BGR15;
981  else if (FOURCC_IsMask(pdwMasks, 0x0000001F, 0x000003E0, 0x00007C00))
982  return MWFOURCC_RGB15;
983  else
984  return MWFOURCC_UNK;
985 
986  case 24:
987  if (FOURCC_IsMask(pdwMasks, 0x00FF0000, 0x0000FF00, 0x000000FF))
988  return MWFOURCC_BGR24;
989  else if (FOURCC_IsMask(pdwMasks, 0x000000FF, 0x0000FF00, 0x00FF0000))
990  return MWFOURCC_RGB24;
991  else
992  return MWFOURCC_UNK;
993 
994  case 32:
995  if (FOURCC_IsMask(pdwMasks, 0x00FF0000, 0x0000FF00, 0x000000FF))
996  return MWFOURCC_BGRA;
997  else if (FOURCC_IsMask(pdwMasks, 0x000000FF, 0x0000FF00, 0x00FF0000))
998  return MWFOURCC_RGBA;
999  else if (FOURCC_IsMask(pdwMasks, 0xFF000000, 0x00FF0000, 0x0000FF00))
1000  return MWFOURCC_ABGR;
1001  else if (FOURCC_IsMask(pdwMasks, 0x0000FF00, 0x00FF0000, 0xFF000000))
1002  return MWFOURCC_ARGB;
1003  else
1004  return MWFOURCC_UNK;
1005 
1006  default:
1007  return MWFOURCC_UNK;
1008  }
1009  }
1010  break;
1011 
1012  default:
1013  return biCompression;
1014  }
1015 }
1016 
1023 static inline DWORD FOURCC_GetFromBitmapHeader2(
1024  const MWCAP_BITMAPINFOHEADER * pbmih
1025  )
1026 {
1027  DWORD *pdwMasks = (DWORD *)(pbmih + 1);
1028  return FOURCC_GetFromBitmapHeader(pbmih->biCompression, pbmih->biBitCount, pdwMasks);
1029 }
1030 
#define MWFOURCC_Y410
Y410.
Definition: MWFOURCC.h:636
+
#define MWFOURCC_YUY2
YUY2.
Definition: MWFOURCC.h:290
+
#define MWFOURCC_Y800
8bits Grey
Definition: MWFOURCC.h:45
+
#define MWFOURCC_BGR15
16bits B5G5R5A1
Definition: MWFOURCC.h:133
+
#define MWFOURCC_V408
V408.
Definition: MWFOURCC.h:593
+
#define MWFOURCC_IYUV
IYUV.
Definition: MWFOURCC.h:398
+
#define MWFOURCC_NV16
NV16.
Definition: MWFOURCC.h:199
+
#define MWFOURCC_P010
P010.
Definition: MWFOURCC.h:496
+
#define MWFOURCC_YV12
YV12.
Definition: MWFOURCC.h:448
+
#define MWFOURCC_GREY
8bits Grey
Definition: MWFOURCC.h:34
+
#define MWFOURCC_VYUY
VYUY.
Definition: MWFOURCC.h:346
+
#define MWFOURCC_BGRA
32bits B8G8R8A8
Definition: MWFOURCC.h:166
+
#define MWFOURCC_ARGB
32bits A8R8G8B8
Definition: MWFOURCC.h:122
+
#define MWFOURCC_AYUV
AYUV.
Definition: MWFOURCC.h:565
+
#define MWFOURCC_NV12
NV12.
Definition: MWFOURCC.h:422
+
BOOLEAN FOURCC_IsPacked(DWORD dwFOURCC)
Determines whether the color format is packed.
Definition: MWFOURCC.h:709
+
BOOLEAN FOURCC_IsRGB(DWORD dwFOURCC)
Determines whether the color format is RGB.
Definition: MWFOURCC.h:680
+
#define MWFOURCC_RGB15
16bits R5G5B5A1
Definition: MWFOURCC.h:78
+
#define MWFOURCC_UYVY
UYVY.
Definition: MWFOURCC.h:318
+
#define MWFOURCC_IYU2
IYU2.
Definition: MWFOURCC.h:536
+
#define MWFOURCC_UYVA
UYVA.
Definition: MWFOURCC.h:579
+
#define MWFOURCC_I420
I420.
Definition: MWFOURCC.h:372
+
#define MWFOURCC_V308
V308.
Definition: MWFOURCC.h:550
+
#define MWFOURCC_RGB16
16bits R5G6B5
Definition: MWFOURCC.h:89
+
#define MWFOURCC_BGR10
BGR10.
Definition: MWFOURCC.h:672
+
#define MWFOURCC_RGB10
RGB10.
Definition: MWFOURCC.h:661
+
#define MWFOURCC_BGR24
24bits B8G8R8
Definition: MWFOURCC.h:155
+
DWORD FOURCC_GetFromBitmapHeader(DWORD biCompression, WORD biBitCount, DWORD *pdwMasks)
Gets color format from the bitmap header.
Definition: MWFOURCC.h:951
+
DWORD FOURCC_CalcImageSize(DWORD dwFOURCC, int cx, int cy, DWORD cbStride)
Counts the number of bytes that a frame takes, depending on the color format, resolution and the line...
Definition: MWFOURCC.h:846
+
#define MWFOURCC_P210
P210.
Definition: MWFOURCC.h:522
+
#define MWFOURCC_UNK
Unknown color formate.
Definition: MWFOURCC.h:23
+
#define MWFOURCC_RGB24
24bits R8G8B8
Definition: MWFOURCC.h:100
+
#define MWFOURCC_ABGR
32bits A8B8G8R8
Definition: MWFOURCC.h:177
+
Definition: MWFOURCC.h:907
+
#define MWFOURCC_VYUA
VYUA.
Definition: MWFOURCC.h:607
+
DWORD FOURCC_CalcMinStride(DWORD dwFOURCC, int cx, DWORD dwAlign)
Counts the number of bytes that a line data of image takes, depending on the width of image and the c...
Definition: MWFOURCC.h:804
+
#define MWFOURCC_V210
Definition: MWFOURCC.h:622
+
#define MWFOURCC_I422
I422.
Definition: MWFOURCC.h:248
+
#define MWFOURCC_Y8
8bits Grey
Definition: MWFOURCC.h:56
+
#define MWFOURCC_YUYV
YUYV.
Definition: MWFOURCC.h:304
+
int FOURCC_GetBpp(DWORD dwFOURCC)
Gets the bits that pixel of color format takes.
Definition: MWFOURCC.h:737
+
#define MWFOURCC_NV61
NV61.
Definition: MWFOURCC.h:221
+
#define MWFOURCC_YV16
YV16.
Definition: MWFOURCC.h:275
+
#define MWFOURCC_RGBA
32bits R8G8B8A8
Definition: MWFOURCC.h:111
+
#define MWFOURCC_BGR16
16bits B5G6R5
Definition: MWFOURCC.h:144
+
BOOLEAN FOURCC_IsMask(const DWORD *pdwMasks, DWORD dwRedMask, DWORD dwGreenMask, DWORD dwBlueMask)
Determins whether the mask is the same as specified color format.
Definition: MWFOURCC.h:938
+
#define MWFOURCC_NV21
NV21.
Definition: MWFOURCC.h:472
+
#define MWFOURCC_V410
V410.
Definition: MWFOURCC.h:650
+
#define MWFOURCC_YVYU
YVYU.
Definition: MWFOURCC.h:332
+
#define MWFOURCC_Y16
16bits Grey
Definition: MWFOURCC.h:67
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_linux_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_linux_8h_source.html new file mode 100644 index 00000000..c562cfc3 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_linux_8h_source.html @@ -0,0 +1,70 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWLinux.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWLinux.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 #ifndef __MW_LINUX__
8 #define __MW_LINUX__
9 
10 #define MW_MAX_PROCESS_NAME_LEN (64)
11 
12 #include <sys/types.h>
13 #include "MWCaptureExtension.h"
14 
15 #pragma pack(push)
16 #pragma pack(1)
17 
18 enum {
19  GET_STREAMS_COUNT_NUM = 1,
20  GET_STREAMS_INFO_NUM,
21  GET_CTRL_STREAM_ID_NUM,
22  SET_CTRL_STREAM_ID_NUM,
23  GET_SELF_STREAM_ID_NUM,
24 
25  // Product informations
26  GET_CHANNEL_INFO_NUM,
27  GET_FAMILY_INFO_NUM,
28 
29  GET_VIDEO_CAPS_NUM,
30  GET_AUDIO_CAPS_NUM,
31 
32  // Firmware upgrade
33  GET_FIRMWARE_STORAGE_NUM,
34  SET_FIRMWARE_ERASE_NUM,
35  SET_FIRMWARE_DATA_NUM,
36  GET_FIRMWARE_DATA_NUM,
37 
38  // Device misc controls
39  SET_LED_MODE_NUM,
40  SET_POST_RECONFIG_NUM,
41 
42  // Temperature
43  GET_CORE_TEMPERATURE_NUM,
44 
45  // Hardware timer
46  GET_TIME_NUM,
47  SET_TIME_NUM,
48  TIME_REGULATION_NUM,
49 
50  TIMER_REGISTRATION_NUM,
51  TIMER_DEREGISTRATION_NUM,
52  TIMER_EXPIRE_TIME_NUM,
53  TIMER_WAIT_NUM,
54  TIMER_CANCEL_NUM,
55 
56  // Notifications
57  NOTIFY_REGISTRATION_NUM,
58  NOTIFY_DEREGISTRATION_NUM,
59  NOTIFY_STATUS_NUM,
60  NOTIFY_WAIT_NUM,
61  NOTIFY_CANCEL_NUM,
62  NOTIFY_ENABLE_NUM,
63 
64  // Video frame information
65  GET_VIDEO_BUFFER_INFO_NUM,
66  GET_VIDEO_FRAME_INFO_NUM,
67 
68  // Video capture
69  VIDEO_CAPTURE_OPEN_NUM,
70  VIDEO_CAPTURE_FRAME_NUM,
71  VIDEO_CAPTURE_STATUS_NUM,
72  VIDEO_CAPTURE_CLOSE_NUM,
73 
74  // Audio capture
75  AUDIO_CAPTURE_OPEN_NUM,
76  AUDIO_CAPTURE_FRAME_NUM,
77  AUDIO_CAPTURE_CLOSE_NUM,
78 
79  // Input source
80  VIDEO_INPUT_SOURCE_COUNT_NUM,
81  VIDEO_INPUT_SOURCE_ARRAY_NUM,
82 
83  AUDIO_INPUT_SOURCE_COUNT_NUM,
84  AUDIO_INPUT_SOURCE_ARRAY_NUM,
85 
86  SET_INPUT_SOURCE_SCAN_NUM,
87  GET_INPUT_SOURCE_SCAN_NUM,
88  GET_INPUT_SOURCE_SCAN_STATE_NUM,
89  SET_AV_INPUT_SOURCE_LINK_NUM,
90  GET_AV_INPUT_SOURCE_LINK_NUM,
91  SET_VIDEO_INPUT_SOURCE_NUM,
92  GET_VIDEO_INPUT_SOURCE_NUM,
93  SET_AUDIO_INPUT_SOURCE_NUM,
94  GET_AUDIO_INPUT_SOURCE_NUM,
95 
96  // EDID
97  GET_EDID_DATA_NUM,
98  SET_EDID_DATA_NUM,
99 
100  // Signal status
101  GET_INPUT_SPECIFIC_STATUS_NUM,
102  GET_VIDEO_SIGNAL_STATUS_NUM,
103  GET_AUDIO_SIGNAL_STATUS_NUM,
104 
105  // HDMI status
106  GET_HDMI_INFOFRAME_VALID_NUM,
107  GET_HDMI_INFOFRAME_PACKET_NUM,
108 
109  // Video processing
110  GET_VIDEO_INPUT_ASPECT_RATIO_NUM,
111  SET_VIDEO_INPUT_ASPECT_RATIO_NUM,
112  GET_VIDEO_INPUT_COLOR_FORMAT_NUM,
113  SET_VIDEO_INPUT_COLOR_FORMAT_NUM,
114  GET_VIDEO_INPUT_QUANTIZATION_RANGE_NUM,
115  SET_VIDEO_INPUT_QUANTIZATION_RANGE_NUM,
116 
117  // VGA/Component timings
118  GET_VIDEO_AUTO_H_ALIGN_NUM,
119  SET_VIDEO_AUTO_H_ALIGN_NUM,
120  GET_VIDEO_SAMPLING_PHASE_NUM,
121  SET_VIDEO_SAMPLING_PHASE_NUM,
122  GET_VIDEO_SAMPLING_PHASE_AUTO_NUM,
123  SET_VIDEO_SAMPLING_PHASE_AUTO_NUM,
124  SET_VIDEO_TIMING_NUM,
125  GET_VIDEO_PREFERRED_TIMING_ARRAY_NUM,
126  SET_VIDEO_CUSTOM_TIMING_NUM,
127  GET_VIDEO_CUSTOM_TIMING_COUNT_NUM,
128  GET_VIDEO_CUSTOM_TIMING_ARRAY_NUM,
129  SET_VIDEO_CUSTOM_TIMING_ARRAY_NUM,
130  GET_VIDEO_CUSTOM_RESOLUTION_COUNT_NUM,
131  GET_VIDEO_CUSTOM_RESOLUTION_ARRAY_NUM,
132  SET_VIDEO_CUSTOM_RESOLUTION_ARRAY_NUM,
133 
134  // Image upload, can be use as source image or OSD image
135  VIDEO_CREATE_IMAGE_NUM,
136  VIDEO_OPEN_IMAGE_NUM,
137  VIDEO_CLOSE_IMAGE_NUM,
138  VIDEO_UPLOAD_IMAGE_NUM,
139 
140  /* Video capture enhancement */
141  VIDEO_PIN_BUFFER_NUM,
142  VIDEO_UNPIN_BUFFER_NUM,
143 
144  /* save current process settings and osd settings as default for this device */
145  SETTINGS_SAVE_AS_PRESET_NUM,
146  /* reload default settings to overwrite current process settings and osd settings */
147  SETTINGS_RELOAD_PRESET_NUM,
148 
149  // Video processing (NOT functional for DirectIOCTL)
150  GET_VIDEO_CONNECTION_FORMAT_NUM,
151  GET_VIDEO_PROCESS_SETTINGS_NUM,
152  SET_VIDEO_PROCESS_SETTINGS_NUM,
153  GET_VIDEO_OSD_SETTINGS_NUM,
154  SET_VIDEO_OSD_SETTINGS_NUM,
155  GET_VIDEO_OSD_IMAGE_NUM,
156  SET_VIDEO_OSD_IMAGE_NUM,
157 
158  GET_BRIGHTNESS_NUM,
159  SET_BRIGHTNESS_NUM,
160  GET_CONTRAST_NUM,
161  SET_CONTRAST_NUM,
162  GET_HUE_NUM,
163  SET_HUE_NUM,
164  GET_SATURATION_NUM,
165  SET_SATURATION_NUM,
166 
167  SET_SDI_ANC_TYPE,
168  GET_SDI_ANC_PACKET,
169 
170  GET_V4L2_FRAME_SDI_ANC_PACKETS_NUM,
171 
172  GET_ENABLE_V4L2_FRAME_SDI_ANC_NUM,
173  SET_ENABLE_V4L2_FRAME_SDI_ANC_NUM,
174 
175  VIDEO_ECO_CAPTURE_OPEN_NUM,
176  VIDEO_ECO_CAPTURE_GET_SETTINGS_NUM,
177  VIDEO_ECO_CAPTURE_SET_SETTINGS_NUM,
178  VIDEO_ECO_CAPTURE_FRAME_NUM,
179  VIDEO_ECO_CAPTURE_STATUS_NUM,
180  VIDEO_ECO_CAPTURE_CLOSE_NUM
181 };
182 
183 typedef struct _MWCAP_STREAM_INFO {
184  int stream_id; /* >1 */
185  pid_t pid; /* proc id */
186  char comm[MW_MAX_PROCESS_NAME_LEN]; /* executable name excluding path */
187  bool streaming; /* ONLY for os local function, not mwcap */
189 
190 typedef struct _MWCAP_STREAMS_INFO {
191  int count;
192  MWCAP_PTR infos; /* (MWCAP_STREAM_INFO, infos) */
194 
195 typedef struct _MWCAP_FIRMWARE_DATA {
196  unsigned int offset;
197  unsigned int size; /* data size */
198  MWCAP_PTR data; /* (unsigned char * data) */
200 
202  unsigned int count; /* count of element, user set */
203  MWCAP_PTR data; /* (unsigned int * data) */
205 
206 typedef struct _MWCAP_EDID_DATA {
207  int size;
208  MWCAP_PTR data; /* (unsigned char * data) */
210 
212  unsigned int id;
215 
216 typedef struct _MWCAP_VIDEO_TIMING_PAR {
217  int count; // max: MWCAP_VIDEO_MAX_NUM_PREFERRED_TIMINGS
218  MWCAP_PTR timings; /* (MWCAP_VIDEO_TIMING * timings) */
220 
222  int count;
223  MWCAP_PTR timings; /* (MWCAP_VIDEO_CUSTOM_TIMING * timings) */
225 
227  int count;
228  MWCAP_PTR resolutions; /* (MWCAP_SIZE * resolutions) */
230 
232  int iframe; // set
233  MWCAP_VIDEO_FRAME_INFO info; // get
235 
236 
237 #define MWCAP_IOCTL_GET_STREAMS_COUNT _IOR ('X', GET_STREAMS_COUNT_NUM, int)
238 #define MWCAP_IOCTL_GET_STREAMS_INFO _IOWR('X', GET_STREAMS_INFO_NUM, MWCAP_STREAMS_INFO)
239 #define MWCAP_IOCTL_GET_CTRL_STREAM_ID _IOR ('X', GET_CTRL_STREAM_ID_NUM, int)
240 #define MWCAP_IOCTL_SET_CTRL_STREAM_ID _IOW ('X', SET_CTRL_STREAM_ID_NUM, int)
241 #define MWCAP_IOCTL_GET_SELF_STREAM_ID _IOR ('X', GET_SELF_STREAM_ID_NUM, int)
242 
243 #define MWCAP_IOCTL_GET_CHANNEL_INFO _IOR ('X', GET_CHANNEL_INFO_NUM, MWCAP_CHANNEL_INFO)
244 #define MWCAP_IOCTL_GET_FAMILY_INFO _IOR ('X', GET_FAMILY_INFO_NUM, MWCAP_PRO_CAPTURE_INFO)
245 #define MWCAP_IOCTL_GET_VIDEO_CAPS _IOR ('X', GET_VIDEO_CAPS_NUM, MWCAP_VIDEO_CAPS)
246 #define MWCAP_IOCTL_GET_AUDIO_CAPS _IOR ('X', GET_AUDIO_CAPS_NUM, MWCAP_AUDIO_CAPS)
247 
248 // Firmware upgrade
249 #define MWCAP_IOCTL_GET_FIRMWARE_STORAGE _IOR ('X', GET_FIRMWARE_STORAGE_NUM, MWCAP_FIRMWARE_STORAGE)
250 #define MWCAP_IOCTL_SET_FIRMWARE_ERASE _IOW ('X', SET_FIRMWARE_ERASE_NUM, MWCAP_FIRMWARE_ERASE)
251 #define MWCAP_IOCTL_SET_FIRMWARE_DATA _IOW ('X', SET_FIRMWARE_DATA_NUM, MWCAP_FIRMWARE_DATA)
252 #define MWCAP_IOCTL_GET_FIRMWARE_DATA _IOWR('X', GET_FIRMWARE_DATA_NUM, MWCAP_FIRMWARE_DATA)
253 
254 // Device misc controls
255 #define MWCAP_IOCTL_SET_LED_MODE _IOW ('X', SET_LED_MODE_NUM, unsigned int)
256 #define MWCAP_IOCTL_SET_POST_RECONFIG _IOW ('X', SET_POST_RECONFIG_NUM, unsigned int)
257 #define MWCAP_IOCTL_GET_CORE_TEMPERATURE _IOR ('X', GET_CORE_TEMPERATURE_NUM, unsigned int)
258 
259 // Hardware timer
260 #define MWCAP_IOCTL_GET_TIME _IOR ('X', GET_TIME_NUM, long long)
261 #define MWCAP_IOCTL_SET_TIME _IOW ('X', SET_TIME_NUM, long long)
262 #define MWCAP_IOCTL_TIME_REGULATION _IOW ('X', TIME_REGULATION_NUM, long long)
263 
264 #define MWCAP_IOCTL_TIMER_REGISTRATION _IOWR('X', TIMER_REGISTRATION_NUM, MWCAP_TIMER_REGISTRATION_S)
265 #define MWCAP_IOCTL_TIMER_DEREGISTRATION _IOW ('X', TIMER_DEREGISTRATION_NUM, MWCAP_PTR)
266 #define MWCAP_IOCTL_TIMER_EXPIRE_TIME _IOW ('X', TIMER_EXPIRE_TIME_NUM, MWCAP_TIMER_EXPIRE_TIME)
267 
268 // Notifications
269 #define MWCAP_IOCTL_NOTIFY_REGISTRATION _IOWR('X', NOTIFY_REGISTRATION_NUM, MWCAP_NOTIFY_REGISTRATION_S)
270 #define MWCAP_IOCTL_NOTIFY_DEREGISTRATION _IOW ('X', NOTIFY_DEREGISTRATION_NUM, MWCAP_PTR)
271 #define MWCAP_IOCTL_NOTIFY_STATUS _IOWR('X', NOTIFY_STATUS_NUM, MWCAP_NOTIFY_STATUS)
272 #define MWCAP_IOCTL_NOTIFY_ENABLE _IOW ('X', NOTIFY_ENABLE_NUM, MWCAP_NOTIFY_ENABLE)
273 
274 // Video frame information
275 #define MWCAP_IOCTL_GET_VIDEO_BUFFER_INFO _IOR ('X', GET_VIDEO_BUFFER_INFO_NUM, MWCAP_VIDEO_BUFFER_INFO)
276 #define MWCAP_IOCTL_GET_VIDEO_FRAME_INFO _IOWR('X', GET_VIDEO_FRAME_INFO_NUM, MWCAP_VIDEO_FRAME_INFO_PAR)
277 
278 // Video capture
279 #define MWCAP_IOCTL_VIDEO_CAPTURE_OPEN _IOW ('X', VIDEO_CAPTURE_OPEN_NUM, MWCAP_VIDEO_CAPTURE_OPEN)
280 #define MWCAP_IOCTL_VIDEO_CAPTURE_FRAME _IOW ('X', VIDEO_CAPTURE_FRAME_NUM, MWCAP_VIDEO_CAPTURE_FRAME)
281 #define MWCAP_IOCTL_VIDEO_CAPTURE_STATUS _IOR ('X', VIDEO_CAPTURE_STATUS_NUM, MWCAP_VIDEO_CAPTURE_STATUS)
282 #define MWCAP_IOCTL_VIDEO_CAPTURE_CLOSE _IO ('X', VIDEO_CAPTURE_CLOSE_NUM)
283 
284 // Audio capture
285 #define MWCAP_IOCTL_AUDIO_CAPTURE_OPEN _IO ('X', AUDIO_CAPTURE_OPEN_NUM)
286 #define MWCAP_IOCTL_AUDIO_CAPTURE_FRAME _IOR ('X', AUDIO_CAPTURE_FRAME_NUM, MWCAP_AUDIO_CAPTURE_FRAME)
287 #define MWCAP_IOCTL_AUDIO_CAPTURE_CLOSE _IO ('X', AUDIO_CAPTURE_CLOSE_NUM)
288 
289 // Input source
290 #define MWCAP_IOCTL_VIDEO_INPUT_SOURCE_COUNT _IOR ('X', VIDEO_INPUT_SOURCE_COUNT_NUM, int)
291 #define MWCAP_IOCTL_VIDEO_INPUT_SOURCE_ARRAY _IOWR('X', VIDEO_INPUT_SOURCE_ARRAY_NUM, MWCAP_INPUT_SOURCE_ARRAY)
292 
293 #define MWCAP_IOCTL_AUDIO_INPUT_SOURCE_COUNT _IOR ('X', AUDIO_INPUT_SOURCE_COUNT_NUM, int)
294 #define MWCAP_IOCTL_AUDIO_INPUT_SOURCE_ARRAY _IOWR('X', AUDIO_INPUT_SOURCE_ARRAY_NUM, MWCAP_INPUT_SOURCE_ARRAY)
295 
296 #define MWCAP_IOCTL_SET_INPUT_SOURCE_SCAN _IOW ('X', SET_INPUT_SOURCE_SCAN_NUM, bool)
297 #define MWCAP_IOCTL_GET_INPUT_SOURCE_SCAN _IOR ('X', GET_INPUT_SOURCE_SCAN_NUM, bool)
298 #define MWCAP_IOCTL_GET_INPUT_SOURCE_SCAN_STATE _IOR ('X', GET_INPUT_SOURCE_SCAN_STATE_NUM, bool)
299 #define MWCAP_IOCTL_SET_AV_INPUT_SOURCE_LINK _IOW ('X', SET_AV_INPUT_SOURCE_LINK_NUM, bool)
300 #define MWCAP_IOCTL_GET_AV_INPUT_SOURCE_LINK _IOR ('X', GET_AV_INPUT_SOURCE_LINK_NUM, bool)
301 #define MWCAP_IOCTL_SET_VIDEO_INPUT_SOURCE _IOW ('X', SET_VIDEO_INPUT_SOURCE_NUM, unsigned int)
302 #define MWCAP_IOCTL_GET_VIDEO_INPUT_SOURCE _IOR ('X', GET_VIDEO_INPUT_SOURCE_NUM, unsigned int)
303 #define MWCAP_IOCTL_SET_AUDIO_INPUT_SOURCE _IOW ('X', SET_AUDIO_INPUT_SOURCE_NUM, unsigned int)
304 #define MWCAP_IOCTL_GET_AUDIO_INPUT_SOURCE _IOR ('X', GET_AUDIO_INPUT_SOURCE_NUM, unsigned int)
305 
306 // EDID
307 #define MWCAP_IOCTL_GET_EDID_DATA _IOWR('X', GET_EDID_DATA_NUM, MWCAP_EDID_DATA)
308 #define MWCAP_IOCTL_SET_EDID_DATA _IOW ('X', SET_EDID_DATA_NUM, MWCAP_EDID_DATA)
309 
310 // Signal status
311 #define MWCAP_IOCTL_GET_INPUT_SPECIFIC_STATUS _IOR ('X', GET_INPUT_SPECIFIC_STATUS_NUM, MWCAP_INPUT_SPECIFIC_STATUS)
312 #define MWCAP_IOCTL_GET_VIDEO_SIGNAL_STATUS _IOR ('X', GET_VIDEO_SIGNAL_STATUS_NUM, MWCAP_VIDEO_SIGNAL_STATUS)
313 #define MWCAP_IOCTL_GET_AUDIO_SIGNAL_STATUS _IOR ('X', GET_AUDIO_SIGNAL_STATUS_NUM, MWCAP_AUDIO_SIGNAL_STATUS)
314 
315 // HDMI status
316 #define MWCAP_IOCTL_GET_HDMI_INFOFRAME_VALID _IOR ('X', GET_HDMI_INFOFRAME_VALID_NUM, unsigned int)
317 #define MWCAP_IOCTL_GET_HDMI_INFOFRAME_PACKET _IOWR('X', GET_HDMI_INFOFRAME_PACKET_NUM, MWCAP_HDMI_INFOFRAME_PACKET)
318 
319 // Video processing
320 #define MWCAP_IOCTL_GET_VIDEO_INPUT_ASPECT_RATIO _IOR ('X', GET_VIDEO_INPUT_ASPECT_RATIO_NUM, MWCAP_VIDEO_ASPECT_RATIO)
321 #define MWCAP_IOCTL_SET_VIDEO_INPUT_ASPECT_RATIO _IOW ('X', SET_VIDEO_INPUT_ASPECT_RATIO_NUM, MWCAP_VIDEO_ASPECT_RATIO)
322 #define MWCAP_IOCTL_GET_VIDEO_INPUT_COLOR_FORMAT _IOR ('X', GET_VIDEO_INPUT_COLOR_FORMAT_NUM, MWCAP_VIDEO_COLOR_FORMAT)
323 #define MWCAP_IOCTL_SET_VIDEO_INPUT_COLOR_FORMAT _IOW ('X', SET_VIDEO_INPUT_COLOR_FORMAT_NUM, MWCAP_VIDEO_COLOR_FORMAT)
324 #define MWCAP_IOCTL_GET_VIDEO_INPUT_QUANTIZATION_RANGE _IOR ('X', GET_VIDEO_INPUT_QUANTIZATION_RANGE_NUM, MWCAP_VIDEO_QUANTIZATION_RANGE)
325 #define MWCAP_IOCTL_SET_VIDEO_INPUT_QUANTIZATION_RANGE _IOW ('X', SET_VIDEO_INPUT_QUANTIZATION_RANGE_NUM, MWCAP_VIDEO_QUANTIZATION_RANGE)
326 
327 // Image upload, can be use as source image or OSD image
328 #define MWCAP_IOCTL_VIDEO_CREATE_IMAGE _IOWR('X', VIDEO_CREATE_IMAGE_NUM, MWCAP_VIDEO_CREATE_IMAGE)
329 #define MWCAP_IOCTL_VIDEO_OPEN_IMAGE _IOWR('X', VIDEO_OPEN_IMAGE_NUM, MWCAP_VIDEO_IMAGE_REF)
330 #define MWCAP_IOCTL_VIDEO_CLOSE_IMAGE _IOWR('X', VIDEO_CLOSE_IMAGE_NUM, MWCAP_VIDEO_IMAGE_REF)
331 #define MWCAP_IOCTL_VIDEO_UPLOAD_IMAGE _IOW ('X', VIDEO_UPLOAD_IMAGE_NUM, MWCAP_VIDEO_UPLOAD_IMAGE)
332 
333 // VGA/Component timings
334 #define MWCAP_IOCTL_GET_VIDEO_AUTO_H_ALIGN _IOR ('X', GET_VIDEO_AUTO_H_ALIGN_NUM, BOOLEAN)
335 #define MWCAP_IOCTL_SET_VIDEO_AUTO_H_ALIGN _IOW ('X', SET_VIDEO_AUTO_H_ALIGN_NUM, BOOLEAN)
336  /* (0-31, 255 triger auto adjust once) */
337 #define MWCAP_IOCTL_GET_VIDEO_SAMPLING_PHASE _IOR ('X', GET_VIDEO_SAMPLING_PHASE_NUM, BYTE)
338 #define MWCAP_IOCTL_SET_VIDEO_SAMPLING_PHASE _IOW ('X', SET_VIDEO_SAMPLING_PHASE_NUM, BYTE)
339 #define MWCAP_IOCTL_GET_VIDEO_SAMPLING_PHASE_AUTO _IOR ('X', GET_VIDEO_SAMPLING_PHASE_AUTO_NUM, BOOLEAN)
340 #define MWCAP_IOCTL_SET_VIDEO_SAMPLING_PHASE_AUTO _IOW ('X', SET_VIDEO_SAMPLING_PHASE_AUTO_NUM, BOOLEAN)
341 #define MWCAP_IOCTL_SET_VIDEO_TIMING _IOW ('X', SET_VIDEO_TIMING_NUM, MWCAP_VIDEO_TIMING)
342 #define MWCAP_IOCTL_GET_VIDEO_PREFERRED_TIMING_ARRAY _IOWR('X', GET_VIDEO_PREFERRED_TIMING_ARRAY_NUM, MWCAP_VIDEO_TIMING_PAR)
343 #define MWCAP_IOCTL_SET_VIDEO_CUSTOM_TIMING _IOW ('X', SET_VIDEO_CUSTOM_TIMING_NUM, MWCAP_VIDEO_CUSTOM_TIMING)
344 #define MWCAP_IOCTL_GET_VIDEO_CUSTOM_TIMING_COUNT _IOR ('X', GET_VIDEO_CUSTOM_TIMING_COUNT_NUM, DWORD)
345 #define MWCAP_IOCTL_GET_VIDEO_CUSTOM_TIMING_ARRAY _IOWR('X', GET_VIDEO_CUSTOM_TIMING_ARRAY_NUM, MWCAP_VIDEO_CUSTOM_TIMING_PAR)
346 #define MWCAP_IOCTL_SET_VIDEO_CUSTOM_TIMING_ARRAY _IOW ('X', SET_VIDEO_CUSTOM_TIMING_ARRAY_NUM, MWCAP_VIDEO_CUSTOM_TIMING_PAR)
347 #define MWCAP_IOCTL_GET_VIDEO_CUSTOM_RESOLUTION_COUNT _IOR ('X', GET_VIDEO_CUSTOM_RESOLUTION_COUNT_NUM, DWORD)
348 #define MWCAP_IOCTL_GET_VIDEO_CUSTOM_RESOLUTION_ARRAY _IOWR('X', GET_VIDEO_CUSTOM_RESOLUTION_ARRAY_NUM, MWCAP_VIDEO_CUSTOM_RESOLUTION_PAR)
349 #define MWCAP_IOCTL_SET_VIDEO_CUSTOM_RESOLUTION_ARRAY _IOW ('X', SET_VIDEO_CUSTOM_RESOLUTION_ARRAY_NUM, MWCAP_VIDEO_CUSTOM_RESOLUTION_PAR)
350 
351 /* Video capture enhancement */
352 #define MWCAP_IOCTL_VIDEO_PIN_BUFFER _IOW ('X', VIDEO_PIN_BUFFER_NUM, MWCAP_VIDEO_PIN_BUFFER)
353 #define MWCAP_IOCTL_VIDEO_UNPIN_BUFFER _IOW ('X', VIDEO_UNPIN_BUFFER_NUM, MWCAP_PTR)
354 
355 /* save current process settings and osd settings as default for this device */
356 #define MWCAP_IOCTL_SETTINGS_SAVE_AS_PRESET _IO ('X', SETTINGS_SAVE_AS_PRESET_NUM)
357 /* reload default settings to overwrite current process settings and osd settings */
358 #define MWCAP_IOCTL_SETTINGS_RELOAD_PRESET _IO ('X', SETTINGS_RELOAD_PRESET_NUM)
359 
360 // Video processing (NOT functional for mwcap stream)
361 #define MWCAP_IOCTL_GET_VIDEO_CONNECTION_FORMAT _IOR ('X', GET_VIDEO_CONNECTION_FORMAT_NUM, MWCAP_VIDEO_CONNECTION_FORMAT)
362 #define MWCAP_IOCTL_GET_VIDEO_PROCESS_SETTINGS _IOR ('X', GET_VIDEO_PROCESS_SETTINGS_NUM, MWCAP_VIDEO_PROCESS_SETTINGS)
363 #define MWCAP_IOCTL_SET_VIDEO_PROCESS_SETTINGS _IOW ('X', SET_VIDEO_PROCESS_SETTINGS_NUM, MWCAP_VIDEO_PROCESS_SETTINGS)
364 #define MWCAP_IOCTL_GET_VIDEO_OSD_SETTINGS _IOR ('X', GET_VIDEO_OSD_SETTINGS_NUM, MWCAP_VIDEO_OSD_SETTINGS)
365 #define MWCAP_IOCTL_SET_VIDEO_OSD_SETTINGS _IOW ('X', SET_VIDEO_OSD_SETTINGS_NUM, MWCAP_VIDEO_OSD_SETTINGS)
366 #define MWCAP_IOCTL_GET_VIDEO_OSD_IMAGE _IOR ('X', GET_VIDEO_OSD_IMAGE_NUM, MWCAP_VIDEO_OSD_IMAGE)
367 #define MWCAP_IOCTL_SET_VIDEO_OSD_IMAGE _IOW ('X', SET_VIDEO_OSD_IMAGE_NUM, MWCAP_VIDEO_OSD_IMAGE)
368 
369 // Video AMP
370 #define MWCAP_IOCTL_GET_BRIGHTNESS _IOR ('X', GET_BRIGHTNESS_NUM, int)
371 #define MWCAP_IOCTL_SET_BRIGHTNESS _IOW ('X', SET_BRIGHTNESS_NUM, int)
372 #define MWCAP_IOCTL_GET_CONTRAST _IOR ('X', GET_CONTRAST_NUM, int)
373 #define MWCAP_IOCTL_SET_CONTRAST _IOW ('X', SET_CONTRAST_NUM, int)
374 #define MWCAP_IOCTL_GET_HUE _IOR ('X', GET_HUE_NUM, int)
375 #define MWCAP_IOCTL_SET_HUE _IOW ('X', SET_HUE_NUM, int)
376 #define MWCAP_IOCTL_GET_SATURATION _IOR ('X', GET_SATURATION_NUM, int)
377 #define MWCAP_IOCTL_SET_SATURATION _IOW ('X', SET_SATURATION_NUM, int)
378 
379 // SDI ANC Packet
380 #define MWCAP_IOCTL_SET_SDI_ANC_TYPE _IOW ('X', SET_SDI_ANC_TYPE, MWCAP_SDI_ANC_TYPE)
381 #define MWCAP_IOCTL_GET_SDI_ANC_PACKET _IOR ('X', GET_SDI_ANC_PACKET, MWCAP_SDI_ANC_PACKET)
382 
383 
384 #define MWCAP_IOCTL_VIDEO_ECO_CAPTURE_OPEN _IOW ('X', VIDEO_ECO_CAPTURE_OPEN_NUM, MWCAP_VIDEO_ECO_CAPTURE_OPEN)
385 #define MWCAP_IOCTL_VIDEO_ECO_CAPTURE_GET_SETTINGS _IOR ('X', VIDEO_ECO_CAPTURE_GET_SETTINGS_NUM, MWCAP_VIDEO_ECO_CAPTURE_SETTINGS)
386 #define MWCAP_IOCTL_VIDEO_ECO_CAPTURE_SET_SETTINGS _IOW ('X', VIDEO_ECO_CAPTURE_SET_SETTINGS_NUM, MWCAP_VIDEO_ECO_CAPTURE_SETTINGS)
387 #define MWCAP_IOCTL_VIDEO_ECO_CAPTURE_FRAME _IOW ('X', VIDEO_ECO_CAPTURE_FRAME_NUM, MWCAP_VIDEO_ECO_CAPTURE_FRAME)
388 #define MWCAP_IOCTL_VIDEO_ECO_CAPTURE_STATUS _IOR ('X', VIDEO_ECO_CAPTURE_STATUS_NUM, MWCAP_VIDEO_ECO_CAPTURE_STATUS)
389 #define MWCAP_IOCTL_VIDEO_ECO_CAPTURE_CLOSE _IO ('X', VIDEO_ECO_CAPTURE_CLOSE_NUM)
390 
391 #pragma pack(pop)
392 
393 #endif /* __MW_LINUX__ */
Definition: MWLinux.h:206
+
Definition: MWLinux.h:195
+
HDMI_INFOFRAME_PACKET.
Definition: MWHDMIPackets.h:333
+
Definition: MWLinux.h:190
+
Definition: MWLinux.h:221
+
MWCAP_VIDEO_FRAME_INFO.
Definition: MWCaptureExtension.h:1176
+
Definition: MWLinux.h:231
+
Definition: MWLinux.h:216
+
Definition: MWLinux.h:211
+
Definition: MWLinux.h:183
+
Definition: MWLinux.h:226
+
Definition: MWLinux.h:201
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_pro_capture_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_pro_capture_8h_source.html new file mode 100644 index 00000000..7bbb688f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_pro_capture_8h_source.html @@ -0,0 +1,132 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWProCapture.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWProCapture.h
+
+
+
1 /************************************************************************************************/
2 // MWProCapture.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 #pragma once
30 
31 #ifdef LIBMWCAPTURE_EXPORTS
32 #define LIBMWCAPTURE_API __declspec(dllexport)
33 #elif LIBMWCAPTURE_DLL
34 #define LIBMWCAPTURE_API __declspec(dllimport)
35 #else
36 #define LIBMWCAPTURE_API
37 #endif
38 
39 #include "MWCaptureExtension.h"
40 #include "MWUSBCaptureExtension.h"
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
64 HCHANNEL
65 LIBMWCAPTURE_API
67  int nBoardValue,
68  int nChannelIndex
69  );
70 
107 MW_RESULT
108 LIBMWCAPTURE_API
110  HCHANNEL hChannel,
111  LONGLONG* pllTime
112  );
113 
150 MW_RESULT
151 LIBMWCAPTURE_API
153  HCHANNEL hChannel,
154  LONGLONG llTime
155  );
156 
196 MW_RESULT
197 LIBMWCAPTURE_API
199  HCHANNEL hChannel,
200  LONGLONG llTime
201  );
202 
210 HTIMER
211 LIBMWCAPTURE_API
213  HCHANNEL hChannel,
214  MWHANDLE hEvent
215  );
216 
241 MW_RESULT
242 LIBMWCAPTURE_API
244  HCHANNEL hChannel,
245  HTIMER hTimer
246  );
247 
274 MW_RESULT
275 LIBMWCAPTURE_API
277  HCHANNEL hChannel,
278  HTIMER hTimer,
279  LONGLONG llExpireTime
280  );
281 
323 HNOTIFY
324 LIBMWCAPTURE_API
326  HCHANNEL hChannel,
327  MWHANDLE hEvent,
328  DWORD dwEnableBits
329  );
330 
355 MW_RESULT
356  LIBMWCAPTURE_API
358  HCHANNEL hChannel,
359  HNOTIFY hNotify
360  );
361 
387 MW_RESULT
388 LIBMWCAPTURE_API
390  HCHANNEL hChannel,
391  HNOTIFY hNotify,
392  ULONGLONG* pullStatus
393  );
394 
420 MW_RESULT
421 LIBMWCAPTURE_API
423  HCHANNEL hChannel,
424  MWHANDLE hEvent
425  );
426 
450 MW_RESULT
451 LIBMWCAPTURE_API
453  HCHANNEL hChannel
454  );
455 
496 MW_RESULT
497 LIBMWCAPTURE_API
499  HCHANNEL hChannel,
500  MWCAP_PTR pbFrame,
501  DWORD cbFrame
502  );
503 
528 MW_RESULT
529 LIBMWCAPTURE_API
531  HCHANNEL hChannel,
532  LPBYTE pbFrame
533  );
534 
567 MW_RESULT
568 LIBMWCAPTURE_API
570  HCHANNEL hChannel,
571  int iFrame,
572  MWCAP_PTR pbFrame,
573  DWORD cbFrame,
574  DWORD cbStride,
575  BOOLEAN bBottomUp,
576  MWCAP_PTR64 pvContext,
577  DWORD dwFOURCC,
578  int cx,
579  int cy
580  );
581 
613 MW_RESULT
614 LIBMWCAPTURE_API
616  HCHANNEL hChannel,
617  int iFrame,
618  LARGE_INTEGER llFrameAddress,
619  DWORD cbFrame,
620  DWORD cbStride,
621  BOOLEAN bBottomUp,
622  MWCAP_PTR64 pvContext,
623  DWORD dwFOURCC,
624  int cx,
625  int cy
626  );
627 
692 MW_RESULT
693 LIBMWCAPTURE_API
695  HCHANNEL hChannel,
696  int iFrame,
697  MWCAP_PTR pbFrame,
698  DWORD cbFrame,
699  DWORD cbStride,
700  BOOLEAN bBottomUp,
701  MWCAP_PTR64 pvContext,
702  DWORD dwFOURCC,
703  int cx,
704  int cy,
705  HOSD hOSDImage,
706  const RECT * pOSDRects,
707  int cOSDRects
708  );
709 
744 MW_RESULT
745 LIBMWCAPTURE_API
747  HCHANNEL hChannel,
748  int iFrame,
749  LARGE_INTEGER llFrameAddress,
750  DWORD cbFrame,
751  DWORD cbStride,
752  BOOLEAN bBottomUp,
753  MWCAP_PTR64 pvContext,
754  DWORD dwFOURCC,
755  int cx,
756  int cy,
757  HOSD hOSDImage,
758  const RECT * pOSDRects,
759  int cOSDRects
760  );
761 
845 MW_RESULT
846 LIBMWCAPTURE_API
848  HCHANNEL hChannel,
849  int iFrame,
850  LPBYTE pbFrame,
851  DWORD cbFrame,
852  DWORD cbStride,
853  BOOLEAN bBottomUp,
854  MWCAP_PTR64 pvContext,
855  DWORD dwFOURCC,
856  int cx,
857  int cy,
858  DWORD dwProcessSwitchs,
859  int cyParitalNotify,
860  HOSD hOSDImage,
861  const RECT * pOSDRects,
862  int cOSDRects,
863  SHORT sContrast,
864  SHORT sBrightness,
865  SHORT sSaturation,
866  SHORT sHue,
867  MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode,
868  MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode,
869  const RECT * pRectSrc,
870  const RECT * pRectDest,
871  int nAspectX,
872  int nAspectY,
873  MWCAP_VIDEO_COLOR_FORMAT colorFormat,
876  );
877 
927 MW_RESULT
928 LIBMWCAPTURE_API
930  HCHANNEL hChannel,
931  int iFrame,
932  LARGE_INTEGER llFrameAddress,
933  DWORD cbFrame,
934  DWORD cbStride,
935  BOOLEAN bBottomUp,
936  MWCAP_PTR64 pvContext,
937  DWORD dwFOURCC,
938  int cx,
939  int cy,
940  DWORD dwProcessSwitchs,
941  int cyParitalNotify,
942  HOSD hOSDImage,
943  const RECT * pOSDRects,
944  int cOSDRects,
945  SHORT sContrast,
946  SHORT sBrightness,
947  SHORT sSaturation,
948  SHORT sHue,
949  MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode,
950  MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode,
951  const RECT * pRectSrc,
952  const RECT * pRectDest,
953  int nAspectX,
954  int nAspectY,
955  MWCAP_VIDEO_COLOR_FORMAT colorFormat,
958  );
959 
985 MW_RESULT
986 LIBMWCAPTURE_API
988  HCHANNEL hChannel,
989  MWCAP_VIDEO_BUFFER_INFO * pVideoBufferInfo
990  );
991 
1018 MW_RESULT
1019 LIBMWCAPTURE_API
1021  HCHANNEL hChannel,
1022  BYTE i,
1023  MWCAP_VIDEO_FRAME_INFO* pVideoFrameInfo
1024  );
1025 
1051 MW_RESULT
1052 LIBMWCAPTURE_API
1054  HCHANNEL hChannel,
1055  MWCAP_VIDEO_CAPTURE_STATUS * pStatus
1056  );
1057 
1104 MW_RESULT
1105 LIBMWCAPTURE_API
1107  HCHANNEL hChannel
1108  );
1109 
1133 MW_RESULT
1134 LIBMWCAPTURE_API
1136  HCHANNEL hChannel
1137  );
1138 
1164 MW_RESULT
1165 LIBMWCAPTURE_API
1167  HCHANNEL hChannel,
1168  MWCAP_AUDIO_CAPTURE_FRAME* pAudioCaptureFrame
1169  );
1170 
1182 //only rgba image
1183 HOSD
1184 LIBMWCAPTURE_API
1186  HCHANNEL hChannel,
1187  int cx,
1188  int cy
1189  );
1190 
1235 MW_RESULT
1236 LIBMWCAPTURE_API
1237 MWOpenImage(
1238  HCHANNEL hChannel,
1239  HOSD hImage,
1240  LONG* plRet
1241  );
1242 
1270 MW_RESULT
1271 LIBMWCAPTURE_API
1272 MWCloseImage(
1273  HCHANNEL hChannel,
1274  HOSD hImage,
1275  LONG* plRet
1276  );
1277 
1316 MW_RESULT
1317 LIBMWCAPTURE_API
1319  HCHANNEL hChannel,
1320  HOSD hImage,
1321  MWCAP_VIDEO_COLOR_FORMAT cfDest,
1322  MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest,
1323  MWCAP_VIDEO_SATURATION_RANGE satRangeDest,
1324  WORD xDest,
1325  WORD yDest,
1326  WORD cxDest,
1327  WORD cyDest,
1328  MWCAP_PTR64 pvSrcFrame,
1329  DWORD cbSrcFrame,
1330  DWORD cbSrcStride,
1331  WORD cxSrc,
1332  WORD cySrc,
1333  BOOLEAN bSrcBottomUp,
1334  BOOLEAN bSrcPixelAlpha,
1335  BOOLEAN bSrcPixelXBGR
1336  );
1337 
1377 MW_RESULT
1378 LIBMWCAPTURE_API
1380  HCHANNEL hChannel,
1381  HOSD hImage,
1382  MWCAP_VIDEO_COLOR_FORMAT cfDest,
1383  MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest,
1384  MWCAP_VIDEO_SATURATION_RANGE satRangeDest,
1385  WORD xDest,
1386  WORD yDest,
1387  WORD cxDest,
1388  WORD cyDest,
1389  LARGE_INTEGER llSrcFrameAddress,
1390  DWORD cbSrcFrame,
1391  DWORD cbSrcStride,
1392  WORD cxSrc,
1393  WORD cySrc,
1394  BOOLEAN bSrcBottomUp,
1395  BOOLEAN bSrcPixelAlpha,
1396  BOOLEAN bSrcPixelXBGR
1397  );
1398 
1433  MW_RESULT
1434 LIBMWCAPTURE_API
1436  HCHANNEL hChannel,
1437  unsigned int* pnTemp
1438  );
1439 
1473 MW_RESULT
1474  LIBMWCAPTURE_API
1476  HCHANNEL hChannel,
1477  DWORD * dwCount
1478  );
1479 
1513 MW_RESULT
1514  LIBMWCAPTURE_API
1516  HCHANNEL hChannel,
1517  DWORD * dwCount
1518  );
1519 
1553 MW_RESULT
1554 LIBMWCAPTURE_API
1556  HCHANNEL hChannel,
1557  unsigned int* pnTemp
1558  );
1559 
1567 MW_RESULT
1568 LIBMWCAPTURE_API
1570  HCHANNEL hChannel,
1571  int * pnCount
1572  );
1573 
1582 MW_RESULT
1583 LIBMWCAPTURE_API
1585  HCHANNEL hChannel,
1586  MWCAP_STREAM_INFO * pStreamInfos,
1587  int * pnCount
1588  );
1589 
1597 MW_RESULT
1598 LIBMWCAPTURE_API
1600  HCHANNEL hChannel,
1601  int nCrtlID
1602  );
1603 
1604 
1639 MW_RESULT
1640 LIBMWCAPTURE_API
1642  HCHANNEL hChannel,
1643  MWCAP_VIDEO_OSD_SETTINGS* paOSDSettings
1644  );
1645 
1681 MW_RESULT
1682 LIBMWCAPTURE_API
1684  HCHANNEL hChannel,
1685  MWCAP_VIDEO_OSD_SETTINGS* paOSDSettings
1686  );
1687 
1688 
1696 MW_RESULT
1697 LIBMWCAPTURE_API
1699  HCHANNEL hChannel,
1700  MWCAP_VIDEO_OSD_IMAGE * pOSDImage
1701  );
1702 
1710 MW_RESULT
1711 LIBMWCAPTURE_API
1713  HCHANNEL hChannel,
1714  MWCAP_VIDEO_OSD_IMAGE OSDImage
1715  );
1716 
1724 MW_RESULT
1725 LIBMWCAPTURE_API
1727  HCHANNEL hChannel,
1728  int *pnBrightness
1729  );
1730 
1738 MW_RESULT
1739 LIBMWCAPTURE_API
1741  HCHANNEL hChannel,
1742  int nBrightness
1743  );
1744 
1752 MW_RESULT
1753 LIBMWCAPTURE_API
1755  HCHANNEL hChannel,
1756  int * pnContrast
1757  );
1758 
1766 MW_RESULT
1767 LIBMWCAPTURE_API
1769  HCHANNEL hChannel,
1770  int nContrast
1771  );
1772 
1780 MW_RESULT
1781 LIBMWCAPTURE_API
1783  HCHANNEL hChannel,
1784  int * pnHue
1785  );
1786 
1794 MW_RESULT
1795 LIBMWCAPTURE_API
1797  HCHANNEL hChannel,
1798  int nHue
1799  );
1800 
1808 MW_RESULT
1809 LIBMWCAPTURE_API
1811  HCHANNEL hChannel,
1812  int * pnSaturation
1813  );
1814 
1822 MW_RESULT
1823 LIBMWCAPTURE_API
1825  HCHANNEL hChannel,
1826  int nSaturation
1827  );
1828 
1835 MW_RESULT
1836 LIBMWCAPTURE_API
1838  HCHANNEL hChannel
1839  );
1840 
1847 MW_RESULT
1848 LIBMWCAPTURE_API
1850  HCHANNEL hChannel
1851  );
1852 
1853 
1854 
1860 MWCAP_PTR
1861 LIBMWCAPTURE_API
1863  );
1864 
1871 MW_RESULT
1872 LIBMWCAPTURE_API
1873 MWCloseEvent(
1874  MWCAP_PTR hEvent
1875  );
1876 
1883 MW_RESULT
1884 LIBMWCAPTURE_API
1885 MWSetEvent(
1886  MWCAP_PTR hEvent
1887  );
1888 
1895 MW_RESULT
1896 LIBMWCAPTURE_API
1897 MWClearEvent(
1898  MWCAP_PTR hEvent
1899  );
1900 
1907 BOOLEAN
1908 LIBMWCAPTURE_API
1909 MWIsSetEvent(
1910  MWCAP_PTR hEvent
1911  );
1912 
1919 int
1920 LIBMWCAPTURE_API
1922  MWCAP_PTR hEvent
1923  );
1924 
1932 int
1933 LIBMWCAPTURE_API
1934 MWWaitEvent(
1935  MWCAP_PTR hEvent,
1936  int nTimeout
1937  );
1938 
1947 DWORD
1948 LIBMWCAPTURE_API
1950  MWCAP_PTR * hEvents,
1951  int nCount,
1952  int nTimeout
1953  );
1954 
1955 #ifdef __cplusplus
1956 }
1957 #endif
MW_RESULT LIBMWCAPTURE_API MWGetTemperature(HCHANNEL hChannel, unsigned int *pnTemp)
Gets the temperature of capture card.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoCaptureOSDSettings(HCHANNEL hChannel, MWCAP_VIDEO_OSD_SETTINGS *paOSDSettings)
Sets OSD configurations.
+
MW_RESULT LIBMWCAPTURE_API MWSetEvent(MWCAP_PTR hEvent)
Triggers the event.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameWithOSDToPhysicalAddress(HCHANNEL hChannel, int iFrame, LARGE_INTEGER llFrameAddress, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects)
Saves the captured video frame to physical memory and adds OSD.
+
MW_RESULT LIBMWCAPTURE_API MWGetStreamInfos(HCHANNEL hChannel, MWCAP_STREAM_INFO *pStreamInfos, int *pnCount)
Gets the informations of streams according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWReloadPreset(HCHANNEL hChannel)
Reloads the presetting configurations of video capture according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWGetDeviceTime(HCHANNEL hChannel, LONGLONG *pllTime)
Gets time value of capture device.
+
MW_RESULT LIBMWCAPTURE_API MWStartVideoCapture(HCHANNEL hChannel, MWHANDLE hEvent)
Starts video capture.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureOSDSettings(HCHANNEL hChannel, MWCAP_VIDEO_OSD_SETTINGS *paOSDSettings)
Gets OSD settings.
+
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoTimingsCount(HCHANNEL hChannel, DWORD *dwCount)
Gets number of custom video timings.
+
enum _MWCAP_VIDEO_QUANTIZATION_RANGE MWCAP_VIDEO_QUANTIZATION_RANGE
MWCAP_VIDEO_QUANTIZATION_RANGE.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoOSDImage(HCHANNEL hChannel, MWCAP_VIDEO_OSD_IMAGE *pOSDImage)
Gets OSD according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoSaturation(HCHANNEL hChannel, int nSaturation)
Sets the saturation of video captured according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoBrightness(HCHANNEL hChannel, int nBrightness)
Sets the brightness of video captured according to channel handle.
+
MWCAP_VIDEO_OSD_SETTINGS.
Definition: MWCaptureExtension.h:1606
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoOSDImage(HCHANNEL hChannel, MWCAP_VIDEO_OSD_IMAGE OSDImage)
Sets OSD according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWUploadImageFromPhysicalAddress(HCHANNEL hChannel, HOSD hImage, MWCAP_VIDEO_COLOR_FORMAT cfDest, MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest, MWCAP_VIDEO_SATURATION_RANGE satRangeDest, WORD xDest, WORD yDest, WORD cxDest, WORD cyDest, LARGE_INTEGER llSrcFrameAddress, DWORD cbSrcFrame, DWORD cbSrcStride, WORD cxSrc, WORD cySrc, BOOLEAN bSrcBottomUp, BOOLEAN bSrcPixelAlpha, BOOLEAN bSrcPixelXBGR)
Uploads an image from physical memory to capture device.
+
enum _MWCAP_VIDEO_SATURATION_RANGE MWCAP_VIDEO_SATURATION_RANGE
MWCAP_VIDEO_SATURATION_RANGE.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToVirtualAddress(HCHANNEL hChannel, int iFrame, MWCAP_PTR pbFrame, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy)
Captures and saves video frames to virtual memory.
+
MW_RESULT LIBMWCAPTURE_API MWUnpinVideoBuffer(HCHANNEL hChannel, LPBYTE pbFrame)
Unlocks a segment of virtual memory.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoBrightness(HCHANNEL hChannel, int *pnBrightness)
Gets the brightness of video captured according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoHue(HCHANNEL hChannel, int *pnHue)
Gets the hue of video captured according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToPhysicalAddress(HCHANNEL hChannel, int iFrame, LARGE_INTEGER llFrameAddress, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy)
Stores captured video frames to physical addresses.
+
MW_RESULT LIBMWCAPTURE_API MWSetCtrlStreamID(HCHANNEL hChannel, int nCrtlID)
Sets the ID of controlled stream according to channel handle.
+
HOSD LIBMWCAPTURE_API MWCreateImage(HCHANNEL hChannel, int cx, int cy)
Creates OSD image.
+
MW_RESULT LIBMWCAPTURE_API MWScheduleTimer(HCHANNEL hChannel, HTIMER hTimer, LONGLONG llExpireTime)
Schedules timer event objects.
+
MWCAP_AUDIO_CAPTURE_FRAME.
Definition: MWCaptureExtension.h:1383
+
MW_RESULT LIBMWCAPTURE_API MWStopAudioCapture(HCHANNEL hChannel)
Stops audio capturing of specified channel.
+
enum _MWCAP_VIDEO_COLOR_FORMAT MWCAP_VIDEO_COLOR_FORMAT
MWCAP_VIDEO_COLOR_FORMAT.
+
int LIBMWCAPTURE_API MWTryWaitEvent(MWCAP_PTR hEvent)
Waits for the event.
+
MW_RESULT LIBMWCAPTURE_API MWSaveSettingsAsPreset(HCHANNEL hChannel)
Saves the presetting configurations of video capture according to channel handle. ...
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoContrast(HCHANNEL hChannel, int *pnContrast)
Gets the contrast of video captured according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWCloseImage(HCHANNEL hChannel, HOSD hImage, LONG *plRet)
Turns off the OSD image.
+
MW_RESULT LIBMWCAPTURE_API MWStartAudioCapture(HCHANNEL hChannel)
Starts audio capturing of specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWStopVideoCapture(HCHANNEL hChannel)
Stops the video capture.
+
MWCAP_VIDEO_FRAME_INFO.
Definition: MWCaptureExtension.h:1176
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoBufferInfo(HCHANNEL hChannel, MWCAP_VIDEO_BUFFER_INFO *pVideoBufferInfo)
Gets video bufferring information.
+
enum _MW_RESULT_ MW_RESULT
MW_RESULT.
+
enum _MWCAP_VIDEO_DEINTERLACE_MODE MWCAP_VIDEO_DEINTERLACE_MODE
MWCAP_VIDEO_DEINTERLACE_MODE.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToPhysicalAddressEx(HCHANNEL hChannel, int iFrame, LARGE_INTEGER llFrameAddress, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, DWORD dwProcessSwitchs, int cyParitalNotify, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects, SHORT sContrast, SHORT sBrightness, SHORT sSaturation, SHORT sHue, MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode, MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode, const RECT *pRectSrc, const RECT *pRectDest, int nAspectX, int nAspectY, MWCAP_VIDEO_COLOR_FORMAT colorFormat, MWCAP_VIDEO_QUANTIZATION_RANGE quantRange, MWCAP_VIDEO_SATURATION_RANGE satRange)
Captures video frames and saves to physical memory. And is the extended version of MWCaptureVideoFram...
+
MWCAP_VIDEO_CAPTURE_STATUS.
Definition: MWCaptureExtension.h:1341
+
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameWithOSDToVirtualAddress(HCHANNEL hChannel, int iFrame, MWCAP_PTR pbFrame, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects)
Captures video frames to virtual memory, and adds OSD.
+
MW_RESULT LIBMWCAPTURE_API MWClearEvent(MWCAP_PTR hEvent)
Resets the event.
+
MWCAP_PTR LIBMWCAPTURE_API MWCreateEvent()
Creates events.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoFrameInfo(HCHANNEL hChannel, BYTE i, MWCAP_VIDEO_FRAME_INFO *pVideoFrameInfo)
Gets video frame information.
+
MW_RESULT LIBMWCAPTURE_API MWUploadImageFromVirtualAddress(HCHANNEL hChannel, HOSD hImage, MWCAP_VIDEO_COLOR_FORMAT cfDest, MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest, MWCAP_VIDEO_SATURATION_RANGE satRangeDest, WORD xDest, WORD yDest, WORD cxDest, WORD cyDest, MWCAP_PTR64 pvSrcFrame, DWORD cbSrcFrame, DWORD cbSrcStride, WORD cxSrc, WORD cySrc, BOOLEAN bSrcBottomUp, BOOLEAN bSrcPixelAlpha, BOOLEAN bSrcPixelXBGR)
Uploads images from virtual memory to capture device.
+
HNOTIFY LIBMWCAPTURE_API MWRegisterNotify(HCHANNEL hChannel, MWHANDLE hEvent, DWORD dwEnableBits)
Registers an event notification.
+
MW_RESULT LIBMWCAPTURE_API MWSetDeviceTime(HCHANNEL hChannel, LONGLONG llTime)
Sets time of capture device.
+
DWORD LIBMWCAPTURE_API MWMultiWaitEvent(MWCAP_PTR *hEvents, int nCount, int nTimeout)
Waits for the events.
+
MW_RESULT LIBMWCAPTURE_API MWGetNotifyStatus(HCHANNEL hChannel, HNOTIFY hNotify, ULONGLONG *pullStatus)
Gets current notification status.
+
Definition: MWLinux.h:183
+
MWCAP_VIDEO_BUFFER_INFO.
Definition: MWCaptureExtension.h:1156
+
HTIMER LIBMWCAPTURE_API MWRegisterTimer(HCHANNEL hChannel, MWHANDLE hEvent)
Registers a timer event object.
+
MW_RESULT LIBMWCAPTURE_API MWRegulateDeviceTime(HCHANNEL hChannel, LONGLONG llTime)
Adjusts time of capture device.
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoSaturation(HCHANNEL hChannel, int *pnSaturation)
Gets the saturation of video captured according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWCloseEvent(MWCAP_PTR hEvent)
Destroys the event.
+
Definition: MWCaptureExtension.h:84
+
BOOLEAN LIBMWCAPTURE_API MWIsSetEvent(MWCAP_PTR hEvent)
Querys whether the event is triggered.
+
MW_RESULT LIBMWCAPTURE_API MWGetStreamCount(HCHANNEL hChannel, int *pnCount)
Gets the number of streams according to channel handle.
+
Definition: MWCaptureExtension.h:1611
+
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToVirtualAddressEx(HCHANNEL hChannel, int iFrame, LPBYTE pbFrame, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, DWORD dwProcessSwitchs, int cyParitalNotify, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects, SHORT sContrast, SHORT sBrightness, SHORT sSaturation, SHORT sHue, MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode, MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode, const RECT *pRectSrc, const RECT *pRectDest, int nAspectX, int nAspectY, MWCAP_VIDEO_COLOR_FORMAT colorFormat, MWCAP_VIDEO_QUANTIZATION_RANGE quantRange, MWCAP_VIDEO_SATURATION_RANGE satRange)
Save captured video frames to virtual memory. It is the extended MWCaptureVideoFrameToVirtualAddress...
+
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureStatus(HCHANNEL hChannel, MWCAP_VIDEO_CAPTURE_STATUS *pStatus)
Gets video capture state, and frees up system storage.
+
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoResolutionsCount(HCHANNEL hChannel, DWORD *dwCount)
Gets number of custom video resolutions.
+
MW_RESULT LIBMWCAPTURE_API MWPinVideoBuffer(HCHANNEL hChannel, MWCAP_PTR pbFrame, DWORD cbFrame)
Locks a segment of virtual memory to reduce CPU load when capturing video data to that memory...
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoContrast(HCHANNEL hChannel, int nContrast)
Sets the contrast of video captured according to channel handle.
+
HCHANNEL LIBMWCAPTURE_API MWOpenChannel(int nBoardValue, int nChannelIndex)
Opens capture channel by the rotary number and channel number.
+
MW_RESULT LIBMWCAPTURE_API MWUnregisterNotify(HCHANNEL hChannel, HNOTIFY hNotify)
Unregisters an event notification object.
+
enum _MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE
MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE.
+
Definition: WinTypes.h:62
+
MW_RESULT LIBMWCAPTURE_API MWSetVideoHue(HCHANNEL hChannel, int nHue)
Sets the hue of video captured according to channel handle.
+
MW_RESULT LIBMWCAPTURE_API MWCaptureAudioFrame(HCHANNEL hChannel, MWCAP_AUDIO_CAPTURE_FRAME *pAudioCaptureFrame)
Captures an audio frame.
+
MW_RESULT LIBMWCAPTURE_API MWOpenImage(HCHANNEL hChannel, HOSD hImage, LONG *plRet)
Opens OSD images.
+
int LIBMWCAPTURE_API MWWaitEvent(MWCAP_PTR hEvent, int nTimeout)
Waits for the event.
+
MW_RESULT LIBMWCAPTURE_API MWUnregisterTimer(HCHANNEL hChannel, HTIMER hTimer)
Unregisters a timer event object.
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_sg_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_sg_8h_source.html new file mode 100644 index 00000000..a188593b --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_sg_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWSg.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWSg.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 #ifndef __MW_SG_H__
8 #define __MW_SG_H__
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 typedef unsigned long long mw_physical_addr_t;
14 
15 typedef struct _mw_scatterlist_t {
16  mw_physical_addr_t address;
17  size_t length;
19 
20 #define mw_sg_dma_address(sg) ((sg)->address)
21 #define mw_sg_dma_len(sg) ((sg)->length)
22 
23 static inline mw_scatterlist_t *mw_sg_next(mw_scatterlist_t *sg)
24 {
25  return (++sg);
26 }
27 
28 #pragma pack(pop)
29 
30 #endif /* __MW_SG_H__ */
Definition: MWSg.h:15
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_u_s_b_capture_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_u_s_b_capture_8h_source.html new file mode 100644 index 00000000..bd3c9b04 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_u_s_b_capture_8h_source.html @@ -0,0 +1,94 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWUSBCapture.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
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 
88 LIBMWCAPTURE_API
90  LPFN_HOT_PLUG_CALLBACK lpfnCallback,
91  void * pParam
92  );
93 
116 MW_RESULT
117 LIBMWCAPTURE_API
119  );
120 
158 MW_RESULT
159 LIBMWCAPTURE_API
161  HUSBCHANNEL hChannel,
162  MWCAP_NOTIFY_ENABLE * pNotify
163  );
164 
208 MW_RESULT
209 LIBMWCAPTURE_API
211  HUSBCHANNEL hChannel,
212  uint64_t * pullStatusBit
213  );
214 
237 MW_RESULT
238 LIBMWCAPTURE_API
240  HUSBCHANNEL hChannel,
241  uint32_t cbOffset,
242  uint32_t cbErase
243  );
244 
278 MW_RESULT
279 LIBMWCAPTURE_API
281  HUSBCHANNEL hChannel,
282  uint32_t * pdwAddress
283  );
284 
321 MW_RESULT
322 LIBMWCAPTURE_API
324  HUSBCHANNEL hChannel,
325  char * pbyEDID,
326  uint32_t * pcbEDID
327  );
328 
362 MW_RESULT
363 LIBMWCAPTURE_API
365  HUSBCHANNEL hChannel,
366  bool_t * pbValid
367  );
368 
404 MW_RESULT
405 LIBMWCAPTURE_API
407  HUSBCHANNEL hChannel,
408  MWCAP_USB_AUDIO_NODE audioNode,
409  MWCAP_AUDIO_VOLUME* pVolume
410  );
411 
449 MW_RESULT
450 LIBMWCAPTURE_API
452  HUSBCHANNEL hChannel,
453  MWCAP_USB_AUDIO_NODE audioNode,
454  MWCAP_AUDIO_VOLUME* pVolume
455  );
456 
457 
492 MW_RESULT
493 LIBMWCAPTURE_API
495  HUSBCHANNEL hChannel,
496  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
497  );
498 
538 MW_RESULT
539 LIBMWCAPTURE_API
541  HUSBCHANNEL hChannel,
542  MWCAP_VIDEO_OUTPUT_FOURCC* pOutputFourCC
543  );
544 
578 MW_RESULT
579 LIBMWCAPTURE_API
581  HUSBCHANNEL hChannel,
583  );
584 
624 MW_RESULT
625 LIBMWCAPTURE_API
627  HUSBCHANNEL hChannel,
629  );
630 
664 MW_RESULT
665 LIBMWCAPTURE_API
667  HUSBCHANNEL hChannel,
668  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
669  );
670 
710 MW_RESULT
711 LIBMWCAPTURE_API
713  HUSBCHANNEL hChannel,
714  MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL* pFrameInterval
715  );
716 
751 MW_RESULT
752 LIBMWCAPTURE_API
754  HUSBCHANNEL hChannel,
755  MWCAP_STATUS_IMAGE_MODE * pImageMode
756  );
757 
794 MW_RESULT
795 LIBMWCAPTURE_API
797  HUSBCHANNEL hChannel,
798  MWCAP_STATUS_IMAGE_MODE * pImageMode
799  );
800 
834 MW_RESULT
835 LIBMWCAPTURE_API
837  HUSBCHANNEL hChannel,
838  MWCAP_DEVICE_NAME_MODE * pNameMode
839  );
840 
876 MW_RESULT
877 LIBMWCAPTURE_API
879  HUSBCHANNEL hChannel,
880  MWCAP_DEVICE_NAME_MODE * pNameMode
881  );
882 
920 MW_RESULT
921 LIBMWCAPTURE_API
923  HUSBCHANNEL hChannel
924  );
925 
957 MW_RESULT
958 LIBMWCAPTURE_API
960  HUSBCHANNEL hChannel
961  );
962 
994 MW_RESULT
995 LIBMWCAPTURE_API
997  HUSBCHANNEL hChannel
998  );
999 
1035 MW_RESULT
1036 LIBMWCAPTURE_API
1038  HUSBCHANNEL hChannel,
1039  uint32_t * pdwFlag
1040  );
1041 
1042 
1050 MW_RESULT
1051 LIBMWCAPTURE_API
1052 MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE * pMode);
1060 MW_RESULT
1061 LIBMWCAPTURE_API
1062 MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode);
1063 
1064 
1104 MW_RESULT
1105 LIBMWCAPTURE_API
1107  HCHANNEL hChannel,
1108  MWCAP_VIDEO_FRAMERATE* pFramerate,
1109  int* nCount
1110 );
1111 
1112 
1151 MW_RESULT
1152 LIBMWCAPTURE_API
1154  HCHANNEL hChannel,
1155  MWCAP_VIDEO_FRAMERATE_EX* pFramerate,
1156  int* nCount
1157 );
1158 
1159 #ifdef __cplusplus
1160 }
1161 #endif
1162 
1163 
1164 #endif //_MWUSB_CAPTURE_H_
MW_RESULT LIBMWCAPTURE_API MWUSBGetFirmwareReadAddress(HUSBCHANNEL hChannel, uint32_t *pdwAddress)
Gets read address of USB device firmware.
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus(HUSBCHANNEL hChannel, uint64_t *pullStatusBit)
Gets notification status of USB specified channel.
+
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode)
Sets the edid mode.
+
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable(HUSBCHANNEL hChannel, MWCAP_NOTIFY_ENABLE *pNotify)
Sets notification types for specified channel.
+
Definition: MWCaptureExtension.h:1100
+
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Sets device name pattern of USB device.
+
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 MWUSBGetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Gets resolutions of captured images supported by the USB device.
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRate(HCHANNEL hChannel, MWCAP_VIDEO_FRAMERATE *pFramerate, int *nCount)
Gets frame rates supported by USB device based on v4l.
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported(HUSBCHANNEL hChannel, uint32_t *pdwFlag)
Gets extended Hid interfaces supported by USB device.
+
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 MWUSBSetAudioVolume(HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
Sets the volume of USB audio device.
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode(HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
Gets device name pattern of USB device.
+
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 ...
+
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameSize(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
Sets resolutions supported by the USB device.
+
MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug(LPFN_HOT_PLUG_CALLBACK lpfnCallback, void *pParam)
Registers hotplug callback function of USB capture device.
+
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions(HUSBCHANNEL hChannel)
Restores to the default settings.
+
enum _MW_RESULT_ MW_RESULT
MW_RESULT.
+
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions(HUSBCHANNEL hChannel)
Saves configurations.
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Gets capture intervals supported by 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.
+
Definition: MWUSBCaptureExtension.h:206
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRateEx(HCHANNEL hChannel, MWCAP_VIDEO_FRAMERATE_EX *pFramerate, int *nCount)
Gets frame rates supported by USB device based on v4l.
+
Definition: MWUSBCaptureExtension.h:216
+
Definition: MWUSBCaptureExtension.h:222
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid(HUSBCHANNEL hChannel, bool_t *pbValid)
Gets whether the loopthrough interface in the USB device is valid.
+
Definition: MWUSBCaptureExtension.h:266
+
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug()
Unregisters hotplug callback function.
+
Definition: MWUSBCaptureExtension.h:260
+
Definition: MWUSBCaptureExtension.h:173
+
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode(HUSBCHANNEL hChannel, MWCAP_EDID_MODE *pMode)
Gets current edid mode.
+
MW_RESULT LIBMWCAPTURE_API MWUSBSetFirmwareErase(HUSBCHANNEL hChannel, uint32_t cbOffset, uint32_t cbErase)
Erases firmware data from USB device.
+
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 MWUSBGetVideoOutputFOURCC(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
Gets capture formats supported by the USB device.
+
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval(HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
Sets capture intervals supported by USB device.
+
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions(HUSBCHANNEL hChannel)
Loads the saved configurations.
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_u_s_b_capture_extension_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_u_s_b_capture_extension_8h_source.html new file mode 100644 index 00000000..d018ecf6 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_m_w_u_s_b_capture_extension_8h_source.html @@ -0,0 +1,79 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/MWUSBCaptureExtension.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWUSBCaptureExtension.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 #ifndef _MWUSB_CAPTURE_EXTENSION_H_
8 #define _MWUSB_CAPTURE_EXTENSION_H_
9 
10 #include <stdlib.h>
11 #include <stdint.h>
12 #include "MWCaptureExtension.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 #pragma pack(push,1)
19 
20 typedef int8_t bool_t;
21 typedef void* HUSBCHANNEL;
22 
23 enum _MWCAP_HID_EXTENSION {
24  // Product informations (General)
25  MWCAP_HID_CHANNEL_INFO = 1, // G, Data: uint8_t, MWCAP_CHANNEL_INFO
26  MWCAP_HID_FAMILY_INFO, // G, Data: uint8_t, MWCAP_USB_CAPTURE_INFO
27 
28  MWCAP_HID_VIDEO_CAPS, // G, Data: uint8_t, MWCAP_VIDEO_CAPS
29  MWCAP_HID_AUDIO_CAPS, // G, Data: uint8_t, MWCAP_AUDIO_CAPS
30 
31  // Device controls (General)
32  MWCAP_HID_LED_MODE, // S, Data: uint8_t, uint32_t
33  MWCAP_HID_POST_RECONFIG, // S, Data: uint8_t, uint32_t
34 
35  // Notification (General)
36  MWCAP_HID_NOTIFY_ENABLE, // S, Data: uint8_t, MWCAP_NOTIFY_ENABLE
37  MWCAP_HID_NOITFY_STATUS, // G, Data: uint8_t, uint64_t
38 
39  // Input source (General)
40  MWCAP_HID_VIDEO_INPUT_SOURCE_ARRAY, // G, Data: uint8_t, MWCAP_INPUT_SOURCE_ARRAY
41  MWCAP_HID_AUDIO_INPUT_SOURCE_ARRAY, // G, Data: uint8_t, MWCAP_INPUT_SOURCE_ARRAY
42 
43  MWCAP_HID_INPUT_SOURCE_SCAN, // G/S, Data: uint8_t, bool_t
44  MWCAP_HID_INPUT_SOURCE_SCAN_STATE, // G, Data: uint8_t, bool_t
45  MWCAP_HID_AV_INPUT_SOURCE_LINK, // G/S, Data: uint8_t, bool_t
46  MWCAP_HID_VIDEO_INPUT_SOURCE, // G/S, Data: uint8_t, uint32_t
47  MWCAP_HID_AUDIO_INPUT_SOURCE, // G/S, Data: uint8_t, uint32_t
48 
49  // Signal status (General)
50  MWCAP_HID_INPUT_SPECIFIC_STATUS, // G, Data: uint8_t, MWCAP_INPUT_SPECIFIC_STATUS
51  MWCAP_HID_VIDEO_SIGNAL_STATUS, // G, Data: uint8_t, MWCAP_VIDEO_SIGNAL_STATUS
52  MWCAP_HID_AUDIO_SIGNAL_STATUS, // G, Data: uint8_t, MWCAP_AUDIO_SIGNAL_STATUS
53 
54  // Video processing (General)
55  MWCAP_HID_VIDEO_INPUT_ASPECT_RATIO, // G/S, Data: uint8_t, MWCAP_VIDEO_ASPECT_RATIO
56  MWCAP_HID_VIDEO_INPUT_COLOR_FORMAT, // G/S, Data: uint8_t, uint8_t
57  MWCAP_HID_VIDEO_INPUT_QUANTIZATION_RANGE, // G/S, Data: uint8_t, uint8_t
58 
59  MWCAP_HID_VIDEO_CAPTURE_CONNECTION_FORMAT, // G, Data: uint8_t, MWCAP_VIDEO_CONNECTION_FORMAT
60  MWCAP_HID_VIDEO_CAPTURE_PROCESS_SETTINGS, // G/S, Data: uint8_t, MWCAP_VIDEO_PROCESS_SETTINGS
61 
62  // Video output formats (General)
63  MWCAP_HID_VIDEO_OUTPUT_FOURCC, // G/S, Data: uint8_t, MWCAP_VIDEO_OUTPUT_FOURCC
64  MWCAP_HID_VIDEO_OUTPUT_FRAME_SIZE, // G/S, Data: uint8_t, MWCAP_VIDEO_OUTPUT_FRAME_SIZE
65  MWCAP_HID_VIDEO_OUTPUT_FRAME_INTERVAL, // G/S, Data: uint8_t, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL
66 
67  // VGA/Component timings (Timing) (0x90 - 0x99)
68  MWCAP_HID_VIDEO_AUTO_H_ALIGN = 0x90, // G/S, Data: uint8_t, bool_t
69  MWCAP_HID_VIDEO_SAMPLING_PHASE, // G/S, Data: uint8_t, uint8_t (0-31, 255 triger auto adjust once)
70  MWCAP_HID_VIDEO_SAMPLING_PHASE_AUTO, // G/S, Data: uint8_t, bool_t
71  MWCAP_HID_VIDEO_TIMING, // S, Data: uint8_t, MWCAP_VIDEO_TIMING
72  MWCAP_HID_VIDEO_PREFERRED_TIMING_ARRAY, // G, Data: uint8_t, MWCAP_VIDEO_TIMING_ARRAY
73  MWCAP_HID_VIDEO_CUSTOM_TIMING, // S, Data: uint8_t, MWCAP_VIDEO_CUSTOM_TIMING
74  MWCAP_HID_VIDEO_CUSTOM_TIMING_ARRAY, // G/S, Data: uint8_t, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY
75  MWCAP_HID_VIDEO_CUSTOM_RESOLUTION_ARRAY, // G/S, Data: uint8_t, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY
76 
77  // HDMI related (HDMI) (0x9A - 0x9F)
78  MWCAP_HID_EDID, // G/S, Data: uint8_t, uint8_t[256]
79  MWCAP_HID_EDID_LOOP_THROUGH, // G, Data: uint8_t, uint8_t[256]
80  MWCAP_HID_EDID_MODE, // G/S, Data: uint8_t, uint8_t
81 
82  MWCAP_HID_LOOP_THROUGH, // G, Data: uint8_t, bool_t
83 
84  // HDMI status (HDMI) (0xA0 - 0xB0)
85  MWCAP_HID_HDMI_INFOFRAME_VALID = 0xA0, // G, Data: uint8_t, uint32_t
86  MWCAP_HID_HDMI_INFOFRAME_AVI, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
87  MWCAP_HID_HDMI_INFOFRAME_AUDIO, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
88  MWCAP_HID_HDMI_INFOFRAME_SPD, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
89  MWCAP_HID_HDMI_INFOFRAME_MS, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
90  MWCAP_HID_HDMI_INFOFRAME_VS, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
91  MWCAP_HID_HDMI_INFOFRAME_ACP, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
92  MWCAP_HID_HDMI_INFOFRAME_ISRC1, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
93  MWCAP_HID_HDMI_INFOFRAME_ISRC2, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
94  MWCAP_HID_HDMI_INFOFRAME_GAMUT, // G, Data: uint8_t, HDMI_INFOFRAME_PACKET
95 
96  // Audio volumes (Volume) (0xB0 - 0xC0)
97  MWCAP_HID_AUDIO_VOLUME_MICROPHONE = 0xB0, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
98  MWCAP_HID_AUDIO_VOLUME_HEADPHONE, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
99  MWCAP_HID_AUDIO_VOLUME_LINE_IN, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
100  MWCAP_HID_AUDIO_VOLUME_LINE_OUT, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
101  MWCAP_HID_AUDIO_VOLUME_EMBEDDED_CAPTURE, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
102  MWCAP_HID_AUDIO_VOLUME_EMBEDDED_PLAYBACK, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
103  MWCAP_HID_AUDIO_VOLUME_USB_CAPTURE, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
104  MWCAP_HID_AUDIO_VOLUME_USB_PLAYBACK, // G/S, Data: uint8_t, MWCAP_AUDIO_VOLUME
105 
106  // Reserved (0xC0 - 0xD0)
107 
108  // Reserved for future (0xD0 - 0xE0)
109 
110  // Firmware upgrade (General)
111  MWCAP_HID_FIRMWARE_STORAGE = 0xF0, // G, Data: uint8_t, MWCAP_FIRMWARE_STORAGE
112  MWCAP_HID_FIRMWARE_ERASE, // S, Data: uint8_t, MWCAP_FIRMWARE_ERASE
113  MWCAP_HID_FIRMWARE_READ_ADDRESS, // G/S, Data: uint8_t, uint32_t
114  MWCAP_HID_FIRMWARE_DATA, // G/S, Data: uint8_t, MWCAP_FIRMWARE_DATA
115  MWCAP_HID_FIRMWARE_WIP, // G, Data: uint8_t, bool_t
116 
117  // Options
118  MWCAP_HID_STATUS_IMAGE_MODE = 0xFC, // G/S, Data: uint8_t, uint8_t
119  MWCAP_HID_DEVICE_NAME_MODE = 0xFD, // G/S, Data: uint8_t, uint8_t
120  MWCAP_HID_OPTIONS_CONTROL = 0xFE, // S, Data: uint8_t, uint8_t
121 
122  // Extension sets supported (General)
123  MWCAP_HID_EXTENSION_SUPPORTED = 0xFF // G, Data: uint8_t, uint32_t
124 };
125 
126 typedef enum _MWUSBHOT_PLUG_EVETN {
127  USBHOT_PLUG_EVENT_DEVICE_ARRIVED = 1,
128  USBHOT_PLUG_EVENT_DEVICE_LEFT,
129 }MWUSBHOT_PLUG_EVETN;
130 
131 typedef void(*LPFN_HOT_PLUG_CALLBACK)(MWUSBHOT_PLUG_EVETN event, const char *pszDevicePath, void* pParam);
132 
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
137 
145 typedef struct _MWUSBCAP_CAPTURE_INFO {
146  uint8_t byUSBSpeed;
147  uint8_t byBoardIndex;
148  uint32_t cbTotalMemorySize;
149  uint32_t cbFreeMemorySize;
151 
153  uint8_t byNumInputSource;
154  uint32_t adwInputSources[16];
156 
157 typedef struct _MWCAP_USB_FIRMWARE_DATA {
158  unsigned int offset;
159  unsigned int size; /* data size */
160  MWCAP_PTR data[256]; /* (unsigned char * data) */
162 
163 
164 typedef 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
169 } MWCAP_EDID_MODE;
170 
171 #define MWCAP_MAX_NUM_AUDIO_CHANNEL 16
172 
173 typedef struct _MWCAP_AUDIO_VOLUME {
174  uint8_t byChannels;
175  uint8_t byReserved;
176  int16_t sVolumeMin;
177  int16_t sVolumeMax;
178  int16_t sVolumeStep;
179 
180  bool_t abMute[MWCAP_MAX_NUM_AUDIO_CHANNEL];
181  int16_t asVolume[MWCAP_MAX_NUM_AUDIO_CHANNEL];
183 
184 typedef 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 ;
194 
195 typedef struct _MWRECT {
196  int16_t left;
197  int16_t top;
198  int16_t right;
199  int16_t bottom;
200 } MWRECT;
201 
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
205 
207  uint8_t byCount;
208  uint32_t adwFOURCCs[MWCAP_MAX_NUM_VIDEO_OUTPUT_FOURCC];
210 
211 typedef struct _MWSIZE {
212  int16_t cx;
213  int16_t cy;
214 } MWSIZE;
215 
217  uint8_t byCount;
218  uint8_t byDefault;
219  MWSIZE aSizes[MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_SIZE];
221 
223  uint8_t byCount;
224  uint8_t byDefault;
225  uint32_t adwIntervals[MWCAP_MAX_NUM_VIDEO_OUTPUT_FRAME_INTERVAL];
227 
228 typedef 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;
233 
234 typedef enum _MWCAP_DEVICE_NAME_MODE {
235  MWCAP_DEVICE_NAME_DEFAULT,
236  MWCAP_DEVICE_NAME_SERIAL_NUMBER
237 } MWCAP_DEVICE_NAME_MODE;
238 
239 typedef enum _MWCAP_OPTIONS_CONTROL {
240  MWCAP_OPTIONS_RESET, // Reset options to default value
241  MWCAP_OPTIONS_LOAD, // Load from flash/eeprom storage
242  MWCAP_OPTIONS_SAVE // Save to flash/eeprom storage
243 } MWCAP_OPTIONS_CONTROL;
244 
246  uint8_t byNumTimings;
247  MWCAP_VIDEO_TIMING aTimings[8];
249 
251  uint8_t byNumCustomTimings;
252  MWCAP_VIDEO_CUSTOM_TIMING aCustomTimings[8];
254 
256  uint8_t byNumCustomResolutions;
257  MWSIZE aCustomResolutions[16];
259 
260 typedef struct _MWCAP_VIDEO_FRAMERATE{
261  int nFrameDuration;
262  float fFPS;
264 
265 
267  int nFrameDurationDen;
268  int nFrameDurationNum;
270 
271 
272 // USB additional capabilities
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
276 
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)
285 
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))
294 
295 enum _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
300 };
301 
302 // MWCAP_HID_EXTENSION_SET
303 #define MWCAP_HID_EXTENSION_HDMI 0x00000001
304 #define MWCAP_HID_EXTENSION_TIMING 0x00000002
305 #define MWCAP_HID_EXTENSION_VOLUME 0x00000004
306 
307 #define MWCAP_MAX_NUM_AUDIO_CHANNEL 16
308 
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
312 
313 #pragma pack(pop)
314 
315 #ifdef __cplusplus
316 }
317 #endif
318 
319 
320 #endif //_MWUSB_CAPTURE_EXTENSION_H_
uint8_t byBoardIndex
The value is 0.
Definition: MWUSBCaptureExtension.h:147
+
Definition: MWUSBCaptureExtension.h:211
+
MWCAP_VIDEO_TIMING.
Definition: MWCaptureExtension.h:335
+
uint8_t byUSBSpeed
USB speed: 1.0, 2.0, 3.0.
Definition: MWUSBCaptureExtension.h:146
+
MWUSBCAP_CAPTURE_INFO.
Definition: MWUSBCaptureExtension.h:145
+
Definition: MWUSBCaptureExtension.h:152
+
Definition: MWUSBCaptureExtension.h:255
+
Definition: MWUSBCaptureExtension.h:245
+
MWCAP_VIDEO_CUSTOM_TIMING.
Definition: MWCaptureExtension.h:1624
+
Definition: MWUSBCaptureExtension.h:157
+
struct _MWUSBCAP_CAPTURE_INFO MWUSBCAP_CAPTURE_INFO
MWUSBCAP_CAPTURE_INFO.
+
Definition: MWUSBCaptureExtension.h:206
+
Definition: MWUSBCaptureExtension.h:195
+
Definition: MWUSBCaptureExtension.h:216
+
Definition: MWUSBCaptureExtension.h:222
+
uint32_t cbFreeMemorySize
Free memory size.
Definition: MWUSBCaptureExtension.h:149
+
uint32_t cbTotalMemorySize
Total memory size.
Definition: MWUSBCaptureExtension.h:148
+
Definition: MWUSBCaptureExtension.h:266
+
Definition: MWUSBCaptureExtension.h:260
+
Definition: MWUSBCaptureExtension.h:173
+
Definition: MWUSBCaptureExtension.h:250
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_8h_source.html new file mode 100644 index 00000000..cc3dc40b --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_8h_source.html @@ -0,0 +1,58 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/Product.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
Product.h
+
+
+
1 #pragma once
2 
3 #include "ProductVer.h"
4 
5 #define PRODUCT_NAME "Magewell USB Capture Utility\0"
6 #define LEGAL_TRADEMARKS "Magewell (TM)\0"
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_ver_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_ver_8h_source.html new file mode 100644 index 00000000..eb1fce96 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_ver_8h_source.html @@ -0,0 +1,58 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/ProductVer.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
ProductVer.h
+
+
+
1 #pragma once
2 
3 #define VER_MAJOR 3
4 #define VER_MINOR 3
5 #define VER_RELEASE 1
6 #define VER_BUILD 0
7 #define VER_DATE "2017-12-18 09:51:00"
8 #define VER_CLASS "RC"
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_ver_template_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_ver_template_8h_source.html new file mode 100644 index 00000000..272bfa58 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_product_ver_template_8h_source.html @@ -0,0 +1,58 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/ProductVerTemplate.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
ProductVerTemplate.h
+
+
+
1 #pragma once
2 
3 #define VER_MAJOR 3
4 #define VER_MINOR 0
5 #define VER_RELEASE 1
6 #define VER_BUILD $WCREV$
7 #define VER_DATE "$WCDATE$"
8 
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_string_utils_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_string_utils_8h_source.html new file mode 100644 index 00000000..f5d1fb4f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_string_utils_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/StringUtils.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
StringUtils.h
+
+
+
1 #ifndef __STRING_UTILS_H__
2 #define __STRING_UTILS_H__
3 
5 {
6 public:
7  CAutoConvertString(const WCHAR *pwszString, UINT uCodePage = CP_ACP) {
8  m_pwszString = const_cast<WCHAR *>(pwszString);
9  m_pszString = NULL;
10  m_pvAlloc = NULL;
11  m_uCodePage = uCodePage;
12  }
13 
14  CAutoConvertString(const char *pszString, UINT uCodePage = CP_ACP) {
15  m_pszString = const_cast<char *>(pszString);
16  m_pwszString = NULL;
17  m_pvAlloc = NULL;
18  m_uCodePage = uCodePage;
19  }
20 
21  virtual ~CAutoConvertString() {
22  if (NULL != m_pvAlloc) {
23  free(m_pvAlloc);
24  m_pvAlloc = NULL;
25  }
26  }
27 
28 public:
29  void Detach() {
30  m_pszString = NULL;
31  m_pwszString = NULL;
32  m_pvAlloc = NULL;
33  }
34 
35 public:
36  operator char *() {
37  if (NULL == m_pszString) {
38  int nLen = WideCharToMultiByte(m_uCodePage, 0, m_pwszString, -1,
39  NULL, 0, NULL, NULL);
40  if (nLen == 0)
41  return NULL;
42 
43  m_pszString = (char *)malloc(nLen);
44  WideCharToMultiByte(m_uCodePage, 0, m_pwszString, -1,
45  m_pszString, nLen, NULL, NULL);
46 
47  m_pvAlloc = m_pszString;
48  }
49 
50  return m_pszString;
51  }
52 
53  operator WCHAR *() {
54  if (NULL == m_pwszString) {
55  int nLen = MultiByteToWideChar(m_uCodePage, 0, m_pszString, -1,
56  NULL, 0);
57  if (nLen == 0)
58  return NULL;
59 
60  m_pwszString = (WCHAR *)malloc(nLen * sizeof(WCHAR));
61  MultiByteToWideChar(m_uCodePage, 0, m_pszString, -1, m_pwszString, nLen);
62 
63  m_pvAlloc = m_pwszString;
64  }
65 
66  return m_pwszString;
67  }
68 
69 protected:
70  WCHAR * m_pwszString;
71  char * m_pszString;
72  void * m_pvAlloc;
73  UINT m_uCodePage;
74 };
75 
76 #endif //__STRING_UTILS_H__
Definition: StringUtils.h:4
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_win_types_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_win_types_8h_source.html new file mode 100644 index 00000000..12fce254 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/_win_types_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture/WinTypes.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
WinTypes.h
+
+
+
1 #pragma once
2 
3 #if defined(__linux__)
4 #include <linux/types.h>
5 #endif
6 
7 #pragma pack(push)
8 #pragma pack(1)
9 
10 #ifndef VOID
11 #define VOID void
12 #endif
13 
14 #ifndef BYTE
15 #define BYTE unsigned char
16 #endif
17 
18 #ifndef CHAR
19 #define CHAR char
20 #endif
21 
22 #ifndef WORD
23 #define WORD unsigned short
24 #endif
25 
26 #ifndef SHORT
27 #define SHORT short
28 #endif
29 
30 #ifndef DWORD
31 #define DWORD unsigned int
32 #endif
33 
34 #ifndef LONGLONG
35 #define LONGLONG long long
36 #endif
37 
38 #ifndef ULONGLONG
39 #define ULONGLONG unsigned long long
40 #endif
41 
42 #ifndef LONG
43 #define LONG long
44 #endif
45 
46 #ifndef BOOL
47 #define BOOL CHAR
48 #endif
49 #ifndef BOOLEAN
50 #define BOOLEAN CHAR
51 #endif
52 #ifndef TRUE
53 #define TRUE true
54 #endif
55 #ifndef FALSE
56 #define FALSE false
57 #endif
58 
59 typedef unsigned long long MWCAP_PTR;
60 typedef void* HANDLE;
61 
62 typedef struct _RECT {
63  int left;
64  int top;
65  int right;
66  int bottom;
67 } RECT;
68 
69 #pragma pack(pop)
Definition: WinTypes.h:62
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/arrowdown.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/arrowdown.png new file mode 100644 index 00000000..0b63f6d3 Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/arrowdown.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/arrowright.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/arrowright.png new file mode 100644 index 00000000..c6ee22f9 Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/arrowright.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/bc_s.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/bc_s.png new file mode 100644 index 00000000..224b29aa Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/bc_s.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/bdwn.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/bdwn.png new file mode 100644 index 00000000..940a0b95 Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/bdwn.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_auto_convert_string-members.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_auto_convert_string-members.html new file mode 100644 index 00000000..d7108339 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_auto_convert_string-members.html @@ -0,0 +1,67 @@ + + + + + + + + + Member List - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
CAutoConvertString Member List
+
+
+ +

This is the complete list of members for CAutoConvertString, including all inherited members.

+ + + + + + + + + + + +
CAutoConvertString(const WCHAR *pwszString, UINT uCodePage=CP_ACP) (defined in CAutoConvertString)CAutoConvertStringinline
CAutoConvertString(const char *pszString, UINT uCodePage=CP_ACP) (defined in CAutoConvertString)CAutoConvertStringinline
Detach() (defined in CAutoConvertString)CAutoConvertStringinline
m_pszString (defined in CAutoConvertString)CAutoConvertStringprotected
m_pvAlloc (defined in CAutoConvertString)CAutoConvertStringprotected
m_pwszString (defined in CAutoConvertString)CAutoConvertStringprotected
m_uCodePage (defined in CAutoConvertString)CAutoConvertStringprotected
operator char *() (defined in CAutoConvertString)CAutoConvertStringinline
operator WCHAR *() (defined in CAutoConvertString)CAutoConvertStringinline
~CAutoConvertString() (defined in CAutoConvertString)CAutoConvertStringinlinevirtual
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_auto_convert_string.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_auto_convert_string.html new file mode 100644 index 00000000..38b05cb2 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_auto_convert_string.html @@ -0,0 +1,95 @@ + + + + + + + + + CAutoConvertString Class Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
CAutoConvertString Class Reference
+
+
+ + + + + + + + + + + + +

+Public Member Functions

CAutoConvertString (const WCHAR *pwszString, UINT uCodePage=CP_ACP)
 
CAutoConvertString (const char *pszString, UINT uCodePage=CP_ACP)
 
+void Detach ()
 
operator char * ()
 
operator WCHAR * ()
 
+ + + + + + + + + +

+Protected Attributes

+WCHAR * m_pwszString
 
+char * m_pszString
 
+void * m_pvAlloc
 
+UINT m_uCodePage
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_lock-members.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_lock-members.html new file mode 100644 index 00000000..25cc4ca6 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_lock-members.html @@ -0,0 +1,60 @@ + + + + + + + + + Member List - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
CMWAutoLock Member List
+
+
+ +

This is the complete list of members for CMWAutoLock, including all inherited members.

+ + + + +
CMWAutoLock(CMWLock &section) (defined in CMWAutoLock)CMWAutoLockinline
m_section (defined in CMWAutoLock)CMWAutoLockprotected
~CMWAutoLock() (defined in CMWAutoLock)CMWAutoLockinlinevirtual
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_lock.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_lock.html new file mode 100644 index 00000000..1df16613 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_lock.html @@ -0,0 +1,74 @@ + + + + + + + + + CMWAutoLock Class Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
CMWAutoLock Class Reference
+
+
+ + + + +

+Public Member Functions

CMWAutoLock (CMWLock &section)
 
+ + + +

+Protected Attributes

+CMWLockm_section
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_un_lock-members.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_un_lock-members.html new file mode 100644 index 00000000..9c79f98f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_un_lock-members.html @@ -0,0 +1,60 @@ + + + + + + + + + Member List - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
CMWAutoUnLock Member List
+
+
+ +

This is the complete list of members for CMWAutoUnLock, including all inherited members.

+ + + + +
CMWAutoUnLock(CMWLock &section) (defined in CMWAutoUnLock)CMWAutoUnLockinline
m_section (defined in CMWAutoUnLock)CMWAutoUnLockprotected
~CMWAutoUnLock() (defined in CMWAutoUnLock)CMWAutoUnLockinlinevirtual
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_un_lock.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_un_lock.html new file mode 100644 index 00000000..9dc31f45 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_auto_un_lock.html @@ -0,0 +1,74 @@ + + + + + + + + + CMWAutoUnLock Class Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
CMWAutoUnLock Class Reference
+
+
+ + + + +

+Public Member Functions

CMWAutoUnLock (CMWLock &section)
 
+ + + +

+Protected Attributes

+CMWLockm_section
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_lock-members.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_lock-members.html new file mode 100644 index 00000000..a77d177a --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_lock-members.html @@ -0,0 +1,63 @@ + + + + + + + + + Member List - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
CMWLock Member List
+
+
+ +

This is the complete list of members for CMWLock, including all inherited members.

+ + + + + + + +
CMWLock() (defined in CMWLock)CMWLockinline
Lock() (defined in CMWLock)CMWLockinline
m_cs (defined in CMWLock)CMWLockprotected
TryLock() (defined in CMWLock)CMWLockinline
Unlock() (defined in CMWLock)CMWLockinline
~CMWLock() (defined in CMWLock)CMWLockinlinevirtual
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_lock.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_lock.html new file mode 100644 index 00000000..11402bb0 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/class_c_m_w_lock.html @@ -0,0 +1,80 @@ + + + + + + + + + CMWLock Class Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
CMWLock Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

+void Lock ()
 
+void Unlock ()
 
+BOOL TryLock ()
 
+ + + +

+Protected Attributes

+CRITICAL_SECTION m_cs
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/closed.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/closed.png new file mode 100644 index 00000000..98cc2c90 Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/closed.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_common_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_common_8h_source.html new file mode 100644 index 00000000..d5041c2f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_common_8h_source.html @@ -0,0 +1,67 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/MWCommon.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWCommon.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2014 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 // Firmware header
14 #define MW_SERIAL_NO_LEN 16
15 #define MW_FAMILY_NAME_LEN 64
16 #define MW_PRODUCT_NAME_LEN 64
17 
18 enum _MW_FAMILY_ID {
22 };
23 
24 typedef int32_t MW_FAMILY_ID;
25 
26 typedef struct _MW_DATE_TIME {
27  uint16_t wYear;
28  uint8_t byMonth;
29  uint8_t byDay;
30  uint8_t byHour;
31  uint8_t byMinute;
32  uint8_t bySecond;
33  uint8_t byReserved;
34 } MW_DATE_TIME;
35 
36 #define MW_FIRMWARE_HEADER_MAGIC 'HFWM'
37 #define MW_FIRMWARE_HEADER_VERSION 1
38 #define MW_FIRMWARE_NAME_LEN 64
39 #define MW_FIRMWARE_SECTION_NAME_LEN 16
40 
41 #define MW_MAX_NUM_FIRMWARE_SECTIONS 16
42 
43 // Compatible ID: wProductID, chHardwareVersion and byFirmwareID
44 typedef struct _MW_FIRMWARE_INFO_HEADER {
45  uint32_t dwMagic;
46  uint32_t dwCheckSum;
47  uint16_t wVersion;
48  uint16_t cbHeader;
49  uint16_t wProductID;
50  char chHardwareVersion;
51  uint8_t byFirmwareID;
52  uint32_t dwFirmwareVersion;
53  char szProductName[MW_PRODUCT_NAME_LEN];
54  char szFirmwareName[MW_FIRMWARE_NAME_LEN];
55  MW_DATE_TIME dtBuild;
56  uint8_t cSections;
58 
60  int8_t szName[MW_FIRMWARE_SECTION_NAME_LEN];
61  uint32_t cbOffset;
62  uint32_t cbSection;
63  uint32_t dwCheckSum;
65 
66 typedef struct _MW_FIRMWARE_HEADER {
67  MW_FIRMWARE_INFO_HEADER infoHeader;
68  MW_FIRMWARE_SECTION_HEADER aSectionHeaders[MW_MAX_NUM_FIRMWARE_SECTIONS];
70 
71 #pragma pack(pop)
Definition: MWCommon.h:26
+
Definition: MWCommon.h:44
+
Pro Capture family.
Definition: MWCommon.h:30
+
Eco Capture family.
Definition: MWCommon.h:31
+
#define MW_FIRMWARE_NAME_LEN
MW_FIRMWARE_NAME_LEN.
Definition: MWCommon.h:54
+
enum _MW_FAMILY_ID MW_FAMILY_ID
MW_FAMILY_ID.
+
Definition: MWCommon.h:66
+
Definition: MWCommon.h:59
+
USB Capture family.
Definition: MWCommon.h:32
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_f_o_u_r_c_c_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_f_o_u_r_c_c_8h_source.html new file mode 100644 index 00000000..9feb2df4 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_f_o_u_r_c_c_8h_source.html @@ -0,0 +1,104 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/MWFOURCC.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWFOURCC.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2016 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #ifndef MWFOURCC
11 #define MWFOURCC(ch0, ch1, ch2, ch3) \
12  ((uint32_t)(uint8_t)(ch0) | ((uint32_t)(uint8_t)(ch1) << 8) | \
13  ((uint32_t)(uint8_t)(ch2) << 16) | ((uint32_t)(uint8_t)(ch3) << 24))
14 #endif
15 
16 #define MWFOURCC_UNK MWFOURCC('U', 'N', 'K', 'N')
17 
18 // 8bits grey
19 #define MWFOURCC_GREY MWFOURCC('G', 'R', 'E', 'Y') // Y0, Y1, Y2, ...
20 #define MWFOURCC_Y800 MWFOURCC('Y', '8', '0', '0') // = GREY
21 #define MWFOURCC_Y8 MWFOURCC('Y', '8', ' ', ' ') // = GREY
22 
23 // 16bits grey
24 #define MWFOURCC_Y16 MWFOURCC('Y', '1', '6', ' ') // Y0, Y1, Y2
25 
26 // RGB 15-32bits
27 #define MWFOURCC_RGB15 MWFOURCC('R', 'G', 'B', '5') // R0, G0, B0, A0, ...
28 #define MWFOURCC_RGB16 MWFOURCC('R', 'G', 'B', '6') // R0, G0, B0, R1, ...
29 #define MWFOURCC_RGB24 MWFOURCC('R', 'G', 'B', ' ') // R0, G0, B0, R1, ...
30 #define MWFOURCC_RGBA MWFOURCC('R', 'G', 'B', 'A') // R0, G0, B0, A0, R1, ...
31 #define MWFOURCC_ARGB MWFOURCC('A', 'R', 'G', 'B') // A0, R0, G0, B0, A1, ...
32 
33 #define MWFOURCC_BGR15 MWFOURCC('B', 'G', 'R', '5') // B0, G0, R0, A0, ...
34 #define MWFOURCC_BGR16 MWFOURCC('B', 'G', 'R', '6') // B0, G0, R0, B1, ...
35 #define MWFOURCC_BGR24 MWFOURCC('B', 'G', 'R', ' ') // B0, G0, R0, B1, ...
36 #define MWFOURCC_BGRA MWFOURCC('B', 'G', 'R', 'A') // B0, G0, R0, A0, B1, ...
37 #define MWFOURCC_ABGR MWFOURCC('A', 'B', 'G', 'R') // A0, B0, G0, R0, A1, ...
38 
39 // Planar YUV 8bits 4:2:2 (16bits)
40 #define MWFOURCC_NV16 MWFOURCC('N', 'V', '1', '6') // Y Plane, UV Plane
41 #define MWFOURCC_NV61 MWFOURCC('N', 'V', '6', '1') // Y Plane, VU Plane
42 #define MWFOURCC_I422 MWFOURCC('I', '4', '2', '2') // Y Plane, U Plane, V Plane
43 #define MWFOURCC_YV16 MWFOURCC('Y', 'V', '1', '6') // Y Plane, V Plane, U Plane
44 
45 // Packed YUV 8bits 4:2:2 (16bits)
46 #define MWFOURCC_YUY2 MWFOURCC('Y', 'U', 'Y', '2') // Y0, U01, Y1, V01, ...
47 #define MWFOURCC_YUYV MWFOURCC('Y', 'U', 'Y', 'V') // = YUY2
48 #define MWFOURCC_UYVY MWFOURCC('U', 'Y', 'V', 'Y') // U01, Y0, V01, Y1, ...
49 
50 #define MWFOURCC_YVYU MWFOURCC('Y', 'V', 'Y', 'U') // Y0, V01, Y1, U01, ...
51 #define MWFOURCC_VYUY MWFOURCC('V', 'Y', 'U', 'Y') // V01, Y0, U01, Y1, ...
52 
53 // Planar YUV 8bits 4:2:0 (12bits)
54 #define MWFOURCC_I420 MWFOURCC('I', '4', '2', '0') // Y Plane, U Plane, V Plane
55 #define MWFOURCC_IYUV MWFOURCC('I', 'Y', 'U', 'V') // = I420
56 #define MWFOURCC_NV12 MWFOURCC('N', 'V', '1', '2') // Y Plane, UV Plane
57 
58 #define MWFOURCC_YV12 MWFOURCC('Y', 'V', '1', '2') // Y Plane, V Plane, U Plane
59 #define MWFOURCC_NV21 MWFOURCC('N', 'V', '2', '1') // Y Plane, VU Plane
60 
61 // Planar YUV 10bits 4:2:0 (24bits)
62 #define MWFOURCC_P010 MWFOURCC('P', '0', '1', '0') // Y Plane, UV Plane
63 
64 // Planar YUV 10bits 4:2:2 (32bits)
65 #define MWFOURCC_P210 MWFOURCC('P', '2', '1', '0') // Y Plane, UV Plane
66 
67 // Packed YUV 8bits 4:4:4 (24bits)
68 #define MWFOURCC_IYU2 MWFOURCC('I', 'Y', 'U', '2') // U0, Y0, V0, U1, Y1, V1, ...
69 #define MWFOURCC_V308 MWFOURCC('v', '3', '0', '8') // V0, Y0, U0, V1, Y1, U1, ...
70 
71 // Packed YUV 8bits 4:4:4 (32bits)
72 #define MWFOURCC_AYUV MWFOURCC('A', 'Y', 'U', 'V') // A0, Y0, U0, V0, ...
73 #define MWFOURCC_UYVA MWFOURCC('U', 'Y', 'V', 'A') // U0, Y0, V0, A0, U1, Y1, ...
74 #define MWFOURCC_V408 MWFOURCC('v', '4', '0', '8') // = MWFOURCC_UYVA
75 #define MWFOURCC_VYUA MWFOURCC('V', 'Y', 'U', 'A') // V0, Y0, U0, A0, V1, Y1, ...
76 
77 // Packed YUV 10bits 4:4:4 (32bits)
78 #define MWFOURCC_Y410 MWFOURCC('Y', '4', '1', '0') // U0, Y0, V0, A0, ...
79 #define MWFOURCC_V410 MWFOURCC('v', '4', '1', '0') // A0, U0, Y0, V0, ...
80 
81 // Packed RGB 10bits 4:4:4 (32bits)
82 #define MWFOURCC_RGB10 MWFOURCC('R', 'G', '1', '0') // R0, G0, B0, A0, ...
83 #define MWFOURCC_BGR10 MWFOURCC('B', 'G', '1', '0') // B0, G0, R0, A0, ...
84 
85 inline bool FOURCC_IsRGB(
86  uint32_t dwFOURCC
87  )
88 {
89  switch (dwFOURCC) {
90  case MWFOURCC_RGB15:
91  case MWFOURCC_BGR15:
92  case MWFOURCC_RGB16:
93  case MWFOURCC_BGR16:
94  case MWFOURCC_RGB24:
95  case MWFOURCC_BGR24:
96  case MWFOURCC_RGBA:
97  case MWFOURCC_BGRA:
98  case MWFOURCC_ARGB:
99  case MWFOURCC_ABGR:
100  case MWFOURCC_RGB10:
101  case MWFOURCC_BGR10:
102  return true;
103  default:
104  return false;
105  }
106 }
107 
108 inline bool FOURCC_IsPacked(
109  uint32_t dwFOURCC
110  )
111 {
112  switch (dwFOURCC) {
113  case MWFOURCC_NV12:
114  case MWFOURCC_NV21:
115  case MWFOURCC_YV12:
116  case MWFOURCC_IYUV:
117  case MWFOURCC_I420:
118  case MWFOURCC_I422:
119  case MWFOURCC_YV16:
120  case MWFOURCC_NV16:
121  case MWFOURCC_NV61:
122  case MWFOURCC_P010:
123  case MWFOURCC_P210:
124  return false;
125  default:
126  return true;
127  }
128 }
129 
130 inline int FOURCC_GetBpp(
131  uint32_t dwFOURCC
132  )
133 {
134  switch (dwFOURCC) {
135  case MWFOURCC_GREY:
136  case MWFOURCC_Y800:
137  case MWFOURCC_Y8:
138  return 8;
139 
140  case MWFOURCC_I420:
141  case MWFOURCC_IYUV:
142  case MWFOURCC_YV12:
143  case MWFOURCC_NV12:
144  case MWFOURCC_NV21:
145  return 12;
146 
147  case MWFOURCC_Y16:
148  case MWFOURCC_RGB15:
149  case MWFOURCC_BGR15:
150  case MWFOURCC_RGB16:
151  case MWFOURCC_BGR16:
152  case MWFOURCC_YUY2:
153  case MWFOURCC_YUYV:
154  case MWFOURCC_UYVY:
155  case MWFOURCC_YVYU:
156  case MWFOURCC_VYUY:
157  case MWFOURCC_I422:
158  case MWFOURCC_YV16:
159  case MWFOURCC_NV16:
160  case MWFOURCC_NV61:
161  return 16;
162 
163  case MWFOURCC_IYU2:
164  case MWFOURCC_V308:
165  case MWFOURCC_RGB24:
166  case MWFOURCC_BGR24:
167  case MWFOURCC_P010:
168  return 24;
169 
170  case MWFOURCC_AYUV:
171  case MWFOURCC_UYVA:
172  case MWFOURCC_V408:
173  case MWFOURCC_VYUA:
174  case MWFOURCC_RGBA:
175  case MWFOURCC_BGRA:
176  case MWFOURCC_ARGB:
177  case MWFOURCC_ABGR:
178  case MWFOURCC_Y410:
179  case MWFOURCC_V410:
180  case MWFOURCC_P210:
181  return 32;
182 
183  default:
184  return 0;
185  }
186 }
187 
188 inline uint32_t FOURCC_CalcMinStride(
189  uint32_t dwFOURCC,
190  int cx,
191  uint32_t dwAlign
192  )
193 {
194  bool bPacked = FOURCC_IsPacked(dwFOURCC);
195 
196  uint32_t cbLine;
197 
198  if (bPacked) {
199  int nBpp = FOURCC_GetBpp(dwFOURCC);
200  cbLine = (cx * nBpp) / 8;
201  }
202  else {
203  switch (dwFOURCC) {
204  case MWFOURCC_P010:
205  case MWFOURCC_P210:
206  cbLine = cx * 2;
207  break;
208  default:
209  cbLine = cx;
210  break;
211  }
212  }
213 
214  return (cbLine + dwAlign - 1) & ~(dwAlign - 1);
215 }
216 
217 inline uint32_t FOURCC_CalcImageSize(
218  uint32_t dwFOURCC,
219  int cx,
220  int cy,
221  uint32_t cbStride
222  )
223 {
224  bool bPacked = FOURCC_IsPacked(dwFOURCC);
225 
226  if (bPacked) {
227  int nBpp = FOURCC_GetBpp(dwFOURCC);
228  uint32_t cbLine = (cx * nBpp) / 8;
229  if (cbStride < cbLine)
230  return 0;
231 
232  return cbStride * cy;
233  }
234  else {
235  if (cbStride < (uint32_t)cx)
236  return 0;
237 
238  switch (dwFOURCC) {
239  case MWFOURCC_NV12:
240  case MWFOURCC_NV21:
241  case MWFOURCC_YV12:
242  case MWFOURCC_IYUV:
243  case MWFOURCC_I420:
244  if ((cbStride & 1) || (cy & 1))
245  return 0;
246  return cbStride * cy * 3 / 2;
247  case MWFOURCC_I422:
248  case MWFOURCC_YV16:
249  case MWFOURCC_NV16:
250  case MWFOURCC_NV61:
251  if (cbStride & 1)
252  return 0;
253  return cbStride * cy * 2;
254  case MWFOURCC_P010:
255  if ((cbStride & 3) || (cy & 1))
256  return 0;
257  return cbStride * cy * 3 / 2;
258  case MWFOURCC_P210:
259  if (cbStride & 3)
260  return 0;
261  return cbStride * cy * 2;
262  default:
263  return 0;
264  }
265  }
266 }
267 
268 inline bool FOURCC_IsMask(const uint32_t * pdwMasks, uint32_t dwRedMask, uint32_t dwGreenMask, uint32_t dwBlueMask)
269 {
270  return ((pdwMasks[0] == dwRedMask) && (pdwMasks[1] == dwGreenMask) && (pdwMasks[2] == dwBlueMask));
271 }
272 
#define MWFOURCC_Y410
Y410.
Definition: MWFOURCC.h:636
+
#define MWFOURCC_YUY2
YUY2.
Definition: MWFOURCC.h:290
+
#define MWFOURCC_Y800
8bits Grey
Definition: MWFOURCC.h:45
+
#define MWFOURCC_BGR15
16bits B5G5R5A1
Definition: MWFOURCC.h:133
+
#define MWFOURCC_V408
V408.
Definition: MWFOURCC.h:593
+
#define MWFOURCC_IYUV
IYUV.
Definition: MWFOURCC.h:398
+
#define MWFOURCC_NV16
NV16.
Definition: MWFOURCC.h:199
+
#define MWFOURCC_P010
P010.
Definition: MWFOURCC.h:496
+
#define MWFOURCC_YV12
YV12.
Definition: MWFOURCC.h:448
+
#define MWFOURCC_GREY
8bits Grey
Definition: MWFOURCC.h:34
+
#define MWFOURCC_VYUY
VYUY.
Definition: MWFOURCC.h:346
+
#define MWFOURCC_BGRA
32bits B8G8R8A8
Definition: MWFOURCC.h:166
+
#define MWFOURCC_ARGB
32bits A8R8G8B8
Definition: MWFOURCC.h:122
+
#define MWFOURCC_AYUV
AYUV.
Definition: MWFOURCC.h:565
+
#define MWFOURCC_NV12
NV12.
Definition: MWFOURCC.h:422
+
BOOLEAN FOURCC_IsPacked(DWORD dwFOURCC)
Determines whether the color format is packed.
Definition: MWFOURCC.h:709
+
BOOLEAN FOURCC_IsRGB(DWORD dwFOURCC)
Determines whether the color format is RGB.
Definition: MWFOURCC.h:680
+
#define MWFOURCC_RGB15
16bits R5G5B5A1
Definition: MWFOURCC.h:78
+
#define MWFOURCC_UYVY
UYVY.
Definition: MWFOURCC.h:318
+
#define MWFOURCC_IYU2
IYU2.
Definition: MWFOURCC.h:536
+
#define MWFOURCC_UYVA
UYVA.
Definition: MWFOURCC.h:579
+
#define MWFOURCC_I420
I420.
Definition: MWFOURCC.h:372
+
#define MWFOURCC_V308
V308.
Definition: MWFOURCC.h:550
+
#define MWFOURCC_RGB16
16bits R5G6B5
Definition: MWFOURCC.h:89
+
#define MWFOURCC_BGR10
BGR10.
Definition: MWFOURCC.h:672
+
#define MWFOURCC_RGB10
RGB10.
Definition: MWFOURCC.h:661
+
#define MWFOURCC_BGR24
24bits B8G8R8
Definition: MWFOURCC.h:155
+
DWORD FOURCC_CalcImageSize(DWORD dwFOURCC, int cx, int cy, DWORD cbStride)
Counts the number of bytes that a frame takes, depending on the color format, resolution and the line...
Definition: MWFOURCC.h:846
+
#define MWFOURCC_P210
P210.
Definition: MWFOURCC.h:522
+
#define MWFOURCC_RGB24
24bits R8G8B8
Definition: MWFOURCC.h:100
+
#define MWFOURCC_ABGR
32bits A8B8G8R8
Definition: MWFOURCC.h:177
+
#define MWFOURCC_VYUA
VYUA.
Definition: MWFOURCC.h:607
+
DWORD FOURCC_CalcMinStride(DWORD dwFOURCC, int cx, DWORD dwAlign)
Counts the number of bytes that a line data of image takes, depending on the width of image and the c...
Definition: MWFOURCC.h:804
+
#define MWFOURCC_I422
I422.
Definition: MWFOURCC.h:248
+
#define MWFOURCC_Y8
8bits Grey
Definition: MWFOURCC.h:56
+
#define MWFOURCC_YUYV
YUYV.
Definition: MWFOURCC.h:304
+
int FOURCC_GetBpp(DWORD dwFOURCC)
Gets the bits that pixel of color format takes.
Definition: MWFOURCC.h:737
+
#define MWFOURCC_NV61
NV61.
Definition: MWFOURCC.h:221
+
#define MWFOURCC_YV16
YV16.
Definition: MWFOURCC.h:275
+
#define MWFOURCC_RGBA
32bits R8G8B8A8
Definition: MWFOURCC.h:111
+
#define MWFOURCC_BGR16
16bits B5G6R5
Definition: MWFOURCC.h:144
+
BOOLEAN FOURCC_IsMask(const DWORD *pdwMasks, DWORD dwRedMask, DWORD dwGreenMask, DWORD dwBlueMask)
Determins whether the mask is the same as specified color format.
Definition: MWFOURCC.h:938
+
#define MWFOURCC_NV21
NV21.
Definition: MWFOURCC.h:472
+
#define MWFOURCC_V410
V410.
Definition: MWFOURCC.h:650
+
#define MWFOURCC_YVYU
YVYU.
Definition: MWFOURCC.h:332
+
#define MWFOURCC_Y16
16bits Grey
Definition: MWFOURCC.h:67
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_h_d_m_i_packets_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_h_d_m_i_packets_8h_source.html new file mode 100644 index 00000000..b0f6e083 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_h_d_m_i_packets_8h_source.html @@ -0,0 +1,76 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/MWHDMIPackets.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWHDMIPackets.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2016 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 // AVI infoframe
14 #define HDMI_EC_XVYCC601 0x00
15 #define HDMI_EC_XVYCC709 0x01
16 #define HDMI_EC_SYCC601 0x02
17 #define HDMI_EC_ADOBEYCC601 0x03
18 #define HDMI_EC_ADOBERGB 0x04
19 
20 #define HDMI_YQ_LIMITED_RANGE 0x00
21 #define HDMI_YQ_FULL_RANGE 0x01
22 
23 #define HDMI_CN_NONE_OR_GRAPHICS 0x00
24 #define HDMI_CN_PHOTO 0x01
25 #define HDMI_CN_CINEMA 0x02
26 #define HDMI_CN_GAME 0x03
27 
28 typedef struct _HDMI_VIC_FORMAT {
29  uint16_t cx;
30  uint16_t cy;
31  bool bInterlaced;
32  uint16_t wAspectX;
33  uint16_t wAspectY;
34  uint32_t dwFrameDuration;
36 
37 static const HDMI_VIC_FORMAT g_aHDMIVICFormats[] = {
38  { /* 0 */ 0, 0, false, 0, 0, 0 },
39  { /* 1 */ 640, 480, false, 4, 3, 166667 },
40  { /* 2 */ 720, 480, false, 4, 3, 166667 },
41  { /* 3 */ 720, 480, false, 16, 9, 166667 },
42  { /* 4 */ 1280, 720, false, 16, 9, 166667 },
43  { /* 5 */ 1920, 1080, true, 16, 9, 333333 },
44  { /* 6 */ 720, 480, true, 4, 3, 333333 },
45  { /* 7 */ 720, 480, true, 16, 9, 333333 },
46  { /* 8 */ 720, 240, false, 4, 3, 166667 },
47  { /* 9 */ 720, 240, false, 16, 9, 166667 },
48  { /* 10 */ 2880, 480, true, 4, 3, 333333 },
49  { /* 11 */ 2880, 480, true, 16, 9, 333333 },
50  { /* 12 */ 2880, 240, false, 4, 3, 166667 },
51  { /* 13 */ 2880, 240, false, 16, 9, 166667 },
52  { /* 14 */ 1440, 480, false, 4, 3, 166667 },
53  { /* 15 */ 1440, 480, false, 16, 9, 166667 },
54  { /* 16 */ 1920, 1080, false, 16, 9, 166667 },
55  { /* 17 */ 720, 576, false, 4, 3, 200000 },
56  { /* 18 */ 720, 576, false, 16, 9, 200000 },
57  { /* 19 */ 1280, 720, false, 16, 9, 200000 },
58  { /* 20 */ 1920, 1080, true, 16, 9, 400000 },
59  { /* 21 */ 720, 576, true, 4, 3, 400000 },
60  { /* 22 */ 720, 576, true, 16, 9, 400000 },
61  { /* 23 */ 720, 288, false, 4, 3, 200000 },
62  { /* 24 */ 720, 288, false, 16, 9, 200000 },
63  { /* 25 */ 2880, 576, true, 4, 3, 400000 },
64  { /* 26 */ 2880, 576, true, 4, 3, 400000 },
65  { /* 27 */ 2880, 288, false, 4, 3, 200000 },
66  { /* 28 */ 2880, 288, false, 16, 9, 200000 },
67  { /* 29 */ 1440, 576, false, 4, 3, 200000 },
68  { /* 30 */ 1440, 576, false, 16, 9, 200000 },
69  { /* 31 */ 1920, 1080, false, 16, 9, 200000 },
70  { /* 32 */ 1920, 1080, false, 16, 9, 416667 },
71  { /* 33 */ 1920, 1080, false, 16, 9, 400000 },
72  { /* 34 */ 1920, 1080, false, 16, 9, 333333 },
73  { /* 35 */ 2880, 480, false, 4, 3, 166667 },
74  { /* 36 */ 2880, 480, false, 16, 9, 166667 },
75  { /* 37 */ 2880, 576, false, 4, 3, 200000 },
76  { /* 38 */ 2880, 576, false, 16, 9, 200000 },
77  { /* 39 */ 1920, 1080, true, 16, 9, 400000 },
78  { /* 40 */ 1920, 1080, true, 16, 9, 200000 },
79  { /* 41 */ 1280, 720, false, 16, 9, 100000 },
80  { /* 42 */ 720, 576, false, 4, 3, 100000 },
81  { /* 43 */ 720, 576, false, 16, 9, 100000 },
82  { /* 44 */ 720, 576, true, 4, 3, 200000 },
83  { /* 45 */ 720, 576, true, 16, 9, 200000 },
84  { /* 46 */ 1920, 1080, true, 16, 9, 166667 },
85  { /* 47 */ 1280, 720, false, 16, 9, 83333 },
86  { /* 48 */ 720, 480, false, 4, 3, 83333 },
87  { /* 49 */ 720, 480, false, 16, 9, 83333 },
88  { /* 50 */ 720, 480, true, 4, 3, 166667 },
89  { /* 51 */ 720, 480, true, 16, 9, 166667 },
90  { /* 52 */ 720, 576, false, 4, 3, 50000 },
91  { /* 53 */ 720, 576, false, 16, 9, 50000 },
92  { /* 54 */ 720, 576, true, 4, 3, 100000 },
93  { /* 55 */ 720, 576, true, 16, 9, 100000 },
94  { /* 56 */ 720, 480, false, 4, 3, 41667 },
95  { /* 57 */ 720, 480, false, 16, 9, 41667 },
96  { /* 58 */ 720, 480, true, 4, 3, 83333 },
97  { /* 59 */ 720, 480, true, 16, 9, 83333 },
98  { /* 60 */ 1280, 720, false, 16, 9, 416667 },
99  { /* 61 */ 1280, 720, false, 16, 9, 400000 },
100  { /* 62 */ 1280, 720, false, 16, 9, 333333 },
101  { /* 63 */ 1920, 1080, false, 16, 9, 83333 },
102  { /* 64 */ 1920, 1080, false, 16, 9, 100000 },
103  { /* 65 */ 1280, 720, false, 64, 27, 416667 },
104  { /* 66 */ 1280, 720, false, 64, 27, 400000 },
105  { /* 67 */ 1280, 720, false, 64, 27, 333333 },
106  { /* 68 */ 1280, 720, false, 64, 27, 200000 },
107  { /* 69 */ 1280, 720, false, 64, 27, 166667 },
108  { /* 70 */ 1280, 720, false, 64, 27, 100000 },
109  { /* 71 */ 1280, 720, false, 64, 27, 83333 },
110  { /* 72 */ 1920, 1080, false, 64, 27, 416667 },
111  { /* 73 */ 1920, 1080, false, 64, 27, 400000 },
112  { /* 74 */ 1920, 1080, false, 64, 27, 333333 },
113  { /* 75 */ 1920, 1080, false, 64, 27, 200000 },
114  { /* 76 */ 1920, 1080, false, 64, 27, 166667 },
115  { /* 77 */ 1920, 1080, false, 64, 27, 100000 },
116  { /* 78 */ 1920, 1080, false, 64, 27, 83333 },
117  { /* 79 */ 1780, 720, false, 64, 27, 416667 },
118  { /* 80 */ 1780, 720, false, 64, 27, 400000 },
119  { /* 81 */ 1780, 720, false, 64, 27, 333333 },
120  { /* 82 */ 1780, 720, false, 64, 27, 200000 },
121  { /* 83 */ 1780, 720, false, 64, 27, 166667 },
122  { /* 84 */ 1780, 720, false, 64, 27, 100000 },
123  { /* 85 */ 1780, 720, false, 64, 27, 83333 },
124  { /* 86 */ 2560, 1080, false, 64, 27, 416667 },
125  { /* 87 */ 2560, 1080, false, 64, 27, 400000 },
126  { /* 88 */ 2560, 1080, false, 64, 27, 333333 },
127  { /* 89 */ 2560, 1080, false, 64, 27, 200000 },
128  { /* 90 */ 2560, 1080, false, 64, 27, 166667 },
129  { /* 91 */ 2560, 1080, false, 64, 27, 100000 },
130  { /* 92 */ 2560, 1080, false, 64, 27, 83333 },
131  { /* 93 */ 3840, 2160, false, 16, 9, 416667 },
132  { /* 94 */ 3840, 2160, false, 16, 9, 400000 },
133  { /* 95 */ 3840, 2160, false, 16, 9, 333333 },
134  { /* 96 */ 3840, 2160, false, 16, 9, 200000 },
135  { /* 97 */ 3840, 2160, false, 16, 9, 166667 },
136  { /* 98 */ 4096, 2160, false, 256, 135, 416667 },
137  { /* 99 */ 4096, 2160, false, 256, 135, 400000 },
138  { /* 100 */ 4096, 2160, false, 256, 135, 333333 },
139  { /* 101 */ 4096, 2160, false, 256, 135, 200000 },
140  { /* 102 */ 4096, 2160, false, 256, 135, 166667 },
141  { /* 103 */ 3840, 2160, false, 64, 27, 416667 },
142  { /* 104 */ 3840, 2160, false, 64, 27, 400000 },
143  { /* 105 */ 3840, 2160, false, 64, 27, 333333 },
144  { /* 106 */ 3840, 2160, false, 64, 27, 200000 },
145  { /* 107 */ 3840, 2160, false, 64, 27, 166667 }
146 };
147 
148 static const uint8_t g_abyDefaultYUV709VICs[] = {
149  0, 1, 4, 5, 16, 19, 20, 31, 32, 33, 34, 39, 40, 46, 47, 60, 61, 62, 63, 64
150 };
151 
152 // byRGB_YCbCr
154  uint8_t byScanInfo : 2;
155  uint8_t byBarDataPresent : 2;
156  uint8_t byActiveFormatInfoPresent : 1;
157  uint8_t byRGB_YCbCr : 2;
158  uint8_t byFutureUseByte1 : 1;
159 
160  uint8_t byActivePortionAspectRatio : 4;
161  uint8_t byCodedFrameAspectRatio : 2;
162  uint8_t byColorimetry : 2;
163 
164  uint8_t byNonUniformPictureScaling : 2;
165  uint8_t byRGBQuantizationRange : 2;
166  uint8_t byExtendedColorimetry : 3;
167  uint8_t byITContent : 1;
168 
169  uint8_t byVIC : 7;
170  uint8_t byFutureUseByte4 : 1;
171 
172  uint8_t byPixelRepetitionFactor : 4;
173  uint8_t byITContentType : 2;
174  uint8_t byYCCQuantizationRange : 2;
175 
176  uint16_t wEndOfTopBar;
177  uint16_t wStartOfBottomBar;
178  uint16_t wEndOfLeftBar;
179  uint16_t wStartOfRightBar;
181 
182 // Audio infoframe
183 #define HDMI_AUDIO_CODING_TYPE_STREAM 0x00
184 #define HDMI_AUDIO_CODING_TYPE_PCM 0x01
185 #define HDMI_AUDIO_CODING_TYPE_AC3 0x02
186 #define HDMI_AUDIO_CODING_TYPE_MPEG1 0x03
187 #define HDMI_AUDIO_CODING_TYPE_MP3 0x04
188 #define HDMI_AUDIO_CODING_TYPE_MPEG2 0x05
189 #define HDMI_AUDIO_CODING_TYPE_AAC_LC 0x06
190 #define HDMI_AUDIO_CODING_TYPE_DTS 0x07
191 #define HDMI_AUDIO_CODING_TYPE_ATRAC 0x08
192 #define HDMI_AUDIO_CODING_TYPE_DSD 0x09
193 #define HDMI_AUDIO_CODING_TYPE_EAC3 0x0A
194 #define HDMI_AUDIO_CODING_TYPE_DTS_HD 0x0B
195 
196 #define HDMI_AUDIO_SAMPLE_SIZE_STREAM 0x00
197 #define HDMI_AUDIO_SAMPLE_SIZE_16BIT 0x01
198 #define HDMI_AUDIO_SAMPLE_SIZE_20BIT 0x02
199 #define HDMI_AUDIO_SAMPLE_SIZE_24BIT 0x03
200 
201 #define HDMI_AUDIO_SAMPLE_RATE_STREAM 0x00
202 #define HDMI_AUDIO_SAMPLE_RATE_32000 0x01
203 #define HDMI_AUDIO_SAMPLE_RATE_44100 0x02
204 #define HDMI_AUDIO_SAMPLE_RATE_48000 0x03
205 #define HDMI_AUDIO_SAMPLE_RATE_88200 0x04
206 #define HDMI_AUDIO_SAMPLE_RATE_96000 0x05
207 #define HDMI_AUDIO_SAMPLE_RATE_176400 0x06
208 #define HDMI_AUDIO_SAMPLE_RATE_192000 0x07
209 
211  uint8_t byChannelCount : 3; // +1 for channel count
212  uint8_t byReserved1 : 1;
213  uint8_t byAudioCodingType : 4;
214 
215  uint8_t bySampleSize : 2;
216  uint8_t bySampleFrequency : 3;
217  uint8_t byReserved2 : 3;
218 
219  uint8_t byAudioCodingExtensionType : 5;
220  uint8_t byReserved3 : 3;
221 
222  uint8_t byChannelAllocation;
223 
224  uint8_t byLFEPlaybackLevel : 2;
225  uint8_t byReserved4 : 1;
226  uint8_t byLevelShiftValue : 4;
227  uint8_t byDownMixInhibitFlag : 1;
229 
230 // SPD Infoframe
231 #define HDMI_SPD_SORUCE_UNKOWN 0x00
232 #define HDMI_SPD_SORUCE_DIGITAL_STB 0x01
233 #define HDMI_SPD_SORUCE_DVD_PLAYER 0x02
234 #define HDMI_SPD_SORUCE_D_VHS 0x03
235 #define HDMI_SPD_SORUCE_HDD_RECORDER 0x04
236 #define HDMI_SPD_SORUCE_DVC 0x05
237 #define HDMI_SPD_SORUCE_DSC 0x06
238 #define HDMI_SPD_SORUCE_VIDEO_CD 0x07
239 #define HDMI_SPD_SORUCE_GAME 0x08
240 #define HDMI_SPD_SORUCE_PC_GENERAL 0x09
241 #define HDMI_SPD_SORUCE_BLUE_RAY_DISC 0x0A
242 #define HDMI_SPD_SORUCE_SUPER_AUDIO_CD 0x0B
243 #define HDMI_SPD_SORUCE_HD_DVD 0x0C
244 #define HDMI_SPD_SORUCE_PMP 0x0D
245 
247  char achVendorName[8];
248  char achProductDescription[16];
249  uint8_t bySourceInformation;
251 
252 // HDMI 1.4b VS Infoframe
253 #define HDMI14B_VS_REGISTRATION_ID 0x000C03
254 
255 #define HDMI14B_VS_FORMAT_NONE 0x00
256 #define HDMI14B_VS_FORMAT_EXT_RES 0x01
257 #define HDMI14B_VS_FORMAT_3D_FORMAT 0x02
258 
259 // by3DStructure
260 #define HDMI14B_3DS_FRAME_PACKING 0x00
261 #define HDMI14B_3DS_FIELD_ALTERNATIVE 0x01
262 #define HDMI14B_3DS_LINE_ALTERNATIVE 0x02
263 #define HDMI14B_3DS_SIDE_BY_SIDE_FULL 0x03
264 #define HDMI14B_3DS_TOP_AND_BOTTOM 0x06
265 #define HDMI14B_3DS_SIDE_BY_SIDE_HALF 0x08
266 
267 // by3DExtData
268 #define HDMI_SUB_SAMPLING_HORIZONTAL_00 0x00
269 #define HDMI_SUB_SAMPLING_HORIZONTAL_01 0x01
270 #define HDMI_SUB_SAMPLING_HORIZONTAL_10 0x02
271 #define HDMI_SUB_SAMPLING_HORIZONTAL_11 0x03
272 #define HDMI_SUB_SAMPLING_QUINCUNX_ODD_ODD 0x04
273 #define HDMI_SUB_SAMPLING_QUINCUNX_ODD_EVEN 0x05
274 #define HDMI_SUB_SAMPLING_QUINCUNX_EVEN_ODD 0x06
275 #define HDMI_SUB_SAMPLING_QUINCUNX_EVEN_EVEN 0x07
276 
277 typedef struct _HDMI14B_VS_DATA_EXT_RES {
278  uint8_t byHDMI_VIC;
280 
282  uint8_t byReserved1 : 3;
283  uint8_t by3DMetaPresent : 1;
284  uint8_t by3DStructure : 4;
285 
286  uint8_t byReserved2 : 4;
287  uint8_t by3DExtData : 4;
288 
289  uint8_t by3DMetadataLength : 5;
290  uint8_t by3DMetadataType : 3;
292 
293 typedef struct _HDMI14B_VS_DATA {
294  uint8_t byReserved1 : 5;
295  uint8_t byHDMIVideoFormat : 3;
296 
297  union {
298  HDMI14B_VS_DATA_EXT_RES vsDataExtRes;
299  HDMI14B_VS_DATA_3D_FORMAT vsData3DFormat;
300  };
302 
303 // Generic VS Infoframe
305  uint8_t abyRegistrationId[3];
306 
307  union {
308  uint8_t abyVSData[24];
309  HDMI14B_VS_DATA vsDataHDMI14B;
310  };
311 
312 public:
313  uint32_t GetRegistrationId() {
314  return abyRegistrationId[0] | (abyRegistrationId[1] << 8) | (abyRegistrationId[2] << 16);
315  }
316 
318 
319 // Generic Infoframe
320 #define HDMI_INFOFRAME_TYPE_VS 0x81
321 #define HDMI_INFOFRAME_TYPE_AVI 0x82
322 #define HDMI_INFOFRAME_TYPE_SPD 0x83
323 #define HDMI_INFOFRAME_TYPE_AUDIO 0x84
324 #define HDMI_INFOFRAME_TYPE_MS 0x85
325 
326 typedef struct _HDMI_INFOFRAME_HEADER {
327  uint8_t byPacketType;
328  uint8_t byVersion;
329  uint8_t byLength : 5;
330  uint8_t byReservedZero : 3;
332 
333 typedef struct _HDMI_INFOFRAME_PACKET {
335  uint8_t byChecksum;
336 
337  union {
338  uint8_t abyPayload[27];
343  };
344 
345 public:
346  bool IsValid(
347  ) const {
348  uint8_t * pbyData = (uint8_t *)&header;
349  uint8_t cbData = header.byLength + sizeof(header) + 1;
350 
351  uint8_t bySum = 0;
352  while (cbData-- != 0)
353  bySum += *pbyData++;
354 
355  return (bySum == 0);
356  }
358 
359 #pragma pack(pop)
Definition: MWHDMIPackets.h:210
+
Definition: MWHDMIPackets.h:246
+
Definition: MWHDMIPackets.h:304
+
HDMI_INFOFRAME_PACKET.
Definition: MWHDMIPackets.h:333
+
HDMI_AUDIO_INFOFRAME_PAYLOAD audioInfoFramePayload
audio infoframe payload
Definition: MWHDMIPackets.h:340
+
HDMI_AVI_INFOFRAME_PAYLOAD aviInfoFramePayload
avi infoframe payload
Definition: MWHDMIPackets.h:339
+
Definition: MWHDMIPackets.h:277
+
Definition: MWHDMIPackets.h:281
+
struct _HDMI_INFOFRAME_PACKET HDMI_INFOFRAME_PACKET
HDMI_INFOFRAME_PACKET.
+
HDMI_INFOFRAME_HEADER.
Definition: MWHDMIPackets.h:326
+
struct _HDMI_INFOFRAME_HEADER HDMI_INFOFRAME_HEADER
HDMI_INFOFRAME_HEADER.
+
HDMI_SPD_INFOFRAME_PAYLOAD spdInfoFramePayload
spd infoframe payload
Definition: MWHDMIPackets.h:341
+
Definition: MWHDMIPackets.h:293
+
HDMI_VS_INFOFRAME_PAYLOAD vsInfoFramePayload
vs infoframe payload
Definition: MWHDMIPackets.h:342
+
HDMI_INFOFRAME_HEADER header
HDMI infoframe header.
Definition: MWHDMIPackets.h:334
+
Definition: MWHDMIPackets.h:28
+
HDMI_AVI_INFOFRAME_PAYLOAD.
Definition: MWHDMIPackets.h:153
+
struct _HDMI_AVI_INFOFRAME_PAYLOAD HDMI_AVI_INFOFRAME_PAYLOAD
HDMI_AVI_INFOFRAME_PAYLOAD.
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_i_e_c60958_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_i_e_c60958_8h_source.html new file mode 100644 index 00000000..a7c8ce78 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_i_e_c60958_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/MWIEC60958.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWIEC60958.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2016 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 typedef union _IEC60958_CHANNEL_STATUS {
14  uint8_t abyData[24];
15  uint16_t awData[12];
16  uint32_t adwData[6];
17 
18  struct {
19  uint8_t byProfessional : 1;
20  uint8_t byNotLPCM : 1;
21  uint8_t byEncodedAudioSignalEmphasis : 3; // 000: Emphasis not indicated, 001: No emphasis, 011: 50/15 us emphasis, 111: CCITT J.17 emphasis
22  uint8_t bySourceSamplingFreqUnlocked : 1;
23  uint8_t byEncodedSamplingFreq : 2; // 00: Not indicated, 10: 48, 01: 44.1, 11: 32
24 
25  uint8_t byEncodedChannelMode : 4;
26  uint8_t byEncodedUserBitsManagement : 4;
27 
28  uint8_t byZero : 1;
29  uint8_t bySingleCoordinationSignal : 1;
30  uint8_t byWordLength : 4; // 0010: 16, 1100: 17, 0100: 18, 1000: 19, 1010: 20, 0011: 20, 1101: 21, 0101: 22, 1001: 23, 1011: 24
31  uint8_t byAlignmentLevel : 2; // 00: Not indicated, 10: 20 dB, 01: 18.06 dB, 11: Reserved
32 
33  uint8_t byChannelNumberOrMultiChannelMode : 7;
34  uint8_t byDefinedMultiChannelMode : 1;
35 
36  uint8_t byReferenceSignal : 2; // 00: Not a reference signal, 10: Grade 1, 01: Grade 2, 11: Reserved
37  uint8_t byReserved1 : 1;
38  uint8_t bySamplingFreq : 4; // 0000: Not indicated, 0001: 24, 0010: 96, 0011: 192, 1001: 22.05, 1010: 88.2, 1011: 176.4, 1111: User defined
39  uint8_t bySamplingFreqScaling : 1;
40 
41  uint8_t byReserved2;
42 
43  uint8_t achChannelOrigin[4];
44  uint8_t achChannelDestination[4];
45  uint32_t dwLocalSampleAddress;
46  uint32_t dwTimeOfDaySampleAddress;
47  uint8_t byReliabilityFlags;
48 
49  uint8_t byCRC;
50  } Professional;
51 
52  struct {
53  uint8_t byProfessional : 1;
54  uint8_t byNotLPCM : 1;
55  uint8_t byNoCopyright : 1;
56  uint8_t byAdditionalFormatInfo : 3;
57  uint8_t byMode : 2;
58 
59  uint8_t byCategoryCode;
60 
61  uint8_t bySourceNumber : 4;
62  uint8_t byChannelNumber : 4;
63 
64  uint8_t bySamplingFreq : 4; // 0100: 22.05, 0000: 44.1, 1000: 88.2, 1100: 176.4, 0110: 24, 0010: 48, 1010: 96, 1110: 192, 0011: 32, 0001: Not indicated, 1001: 768
65  uint8_t byClockAccuracy : 2; // 00: Level II, 10: Level I, 01: Level III, 11: Not matched
66  uint8_t byReserved1 : 2;
67 
68  uint8_t byWordLength : 4; // 0010: 16, 1100: 17, 0100: 18, 1000: 19, 1010: 20, 0011: 20, 1101: 21, 0101: 22, 1001: 23, 1011: 24
69  uint8_t byOrigSamplingFreq : 4; // 1111: 44.1, 0111: 88.2, 1011: 22.05, 0011: 176.4, 1101: 48, 0101: 96, 1001: 24, 0001: 192, 0110: 8, 1010: 11.025, 0010: 12, 1100: 32, 1000: 16, 0000: Not indicated
70 
71  uint8_t byCGMS_A; // 00: Copying permitted, 10: Condition not be used, 01: One generation only, 11: No copying is permitted
72  } Consumer;
74 
75 inline int IEC60958_GetBitsPerSample(uint8_t byWordLength)
76 {
77  switch (byWordLength) {
78  case 2: return 16;
79  case 3: return 20;
80  case 4: return 18;
81  case 5: return 22;
82  case 8: return 19;
83  case 9: return 23;
84  case 10: return 20;
85  case 11: return 24;
86  case 12: return 17;
87  case 13: return 21;
88  default: return 16;
89  }
90 }
91 
92 inline uint32_t IEC60958P_GetSampleRate(IEC60958_CHANNEL_STATUS * pStatus)
93 {
94  switch (pStatus->Professional.byEncodedSamplingFreq) {
95  case 0:
96  switch (pStatus->Professional.bySamplingFreq) {
97  case 1: return 24000;
98  case 2: return 96000;
99  case 3: return 192000;
100  case 5: return 22050;
101  case 6: return 88200;
102  case 7: return 176400;
103  }
104  break;
105 
106  case 1:
107  return 44100;
108 
109  case 2:
110  return 48000;
111 
112  case 3:
113  return 32000;
114  }
115 
116  return 48000;
117 }
118 
119 inline uint32_t IEC60958C_GetSampleRate(IEC60958_CHANNEL_STATUS * pStatus)
120 {
121  switch (pStatus->Consumer.bySamplingFreq) {
122  case 0: return 44100;
123  case 2: return 48000;
124  case 3: return 32000;
125  case 4: return 22050;
126  case 6: return 24000;
127  case 8: return 88200;
128  case 9: return 768000;
129  case 10: return 96000;
130  case 12: return 176400;
131  case 14: return 192000;
132  }
133 
134  return 44100;
135 }
136 
137 inline bool IEC60958_ParseChannelStatus(IEC60958_CHANNEL_STATUS * pStatus, bool * pbLPCM, uint32_t * pdwSampleRate, int * pnBitsPerSample)
138 {
139  bool bLPCM;
140  uint32_t dwSampleRate = 48000;
141  int nBitsPerSample = 16;
142 
143  if (pStatus->Professional.byProfessional) {
144  bLPCM = !pStatus->Professional.byNotLPCM;
145  dwSampleRate = IEC60958P_GetSampleRate(pStatus);
146  nBitsPerSample = IEC60958_GetBitsPerSample(pStatus->Professional.byWordLength);
147  }
148  else {
149  bLPCM = !pStatus->Consumer.byNotLPCM;
150  dwSampleRate = IEC60958C_GetSampleRate(pStatus);
151  nBitsPerSample = IEC60958_GetBitsPerSample(pStatus->Consumer.byWordLength);
152  }
153 
154  if (pbLPCM) *pbLPCM = bLPCM;
155  if (pdwSampleRate) *pdwSampleRate = dwSampleRate;
156  if (pnBitsPerSample) *pnBitsPerSample = nBitsPerSample;
157 
158  return true;
159 }
160 
161 #pragma pack(pop)
Definition: MWIEC60958.h:13
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_s_m_p_t_e_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_s_m_p_t_e_8h_source.html new file mode 100644 index 00000000..57e9a9af --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_m_w_s_m_p_t_e_8h_source.html @@ -0,0 +1,59 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/MWSMPTE.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
MWSMPTE.h
+
+
+
1 // CONFIDENTIAL and PROPRIETARY software of Magewell Electronics Co., Ltd.
3 // Copyright (c) 2011-2016 Magewell Electronics Co., Ltd. (Nanjing)
4 // All rights reserved.
5 // This copyright notice MUST be reproduced on all authorized copies.
7 
8 #pragma once
9 
10 #pragma pack(push)
11 #pragma pack(1)
12 
13 enum _ST352_STANDARD {
14  ST352_STANDARD_483_576_270M_360M = 0x1,
15  ST352_STANDARD_720P_1_5G = 0x4,
16  ST352_STANDARD_1080_1_5G = 0x5,
17  ST352_STANDARD_1080_DL_1_5G = 0x7,
18  ST352_STANDARD_720P_3G = 0x8,
19  ST352_STANDARD_1080_3G = 0x9,
20  ST352_STANDARD_DL_3G = 0xA,
21  ST352_STANDARD_720P_DS_3G = 0xB,
22  ST352_STANDARD_1080_DS_3G = 0xC,
23  ST352_STANDARD_483_576_DS_3G = 0xD,
24  ST352_STANDARD_6G_MODE1 = 0x40,
25  ST352_STANDARD_6G_MODE2 = 0x41
26 };
27 
28 typedef int32_t ST352_STANDARD;
29 
30 enum _SDI_BIT_DEPTH {
31  SDI_BIT_DEPTH_8BIT = 0,
32  SDI_BIT_DEPTH_10BIT = 1,
33  SDI_BIT_DEPTH_12BIT = 2
34 };
35 
36 typedef int32_t SDI_BIT_DEPTH;
37 
38 enum _SDI_DYNAMIC_RANGE {
39  SDI_DYNAMIC_RANGE_100_PERCENT = 0,
40  SDI_DYNAMIC_RANGE_200_PERCENT = 1,
41  SDI_DYNAMIC_RANGE_400_PERCENT = 2
42 };
43 
44 typedef int32_t SDI_DYNAMIC_RANGE;
45 
46 static const uint32_t g_adwFrameDuration[] = {
47  0, // 0, Not defined
48  0, // 1, Reserved
49  417083, // 2, 24/1.001fps
50  416667, // 3, 24fps
51  208542, // 4, 48/1.001fps
52  400000, // 5, 25fps
53  333667, // 6, 30/1.001fps
54  333333, // 7, 30fps
55  208333, // 8, 48fps
56  200000, // 9, 50fps
57  166833, // A, 60/1.001fps
58  166667, // B, 60fps
59  104167, // C, 96fps
60  100000, // D, 100fps
61  83417, // E, 120/1.001 fps
62  83333 // F, 120fps
63 };
64 
65 typedef union _SMPTE_ST352_PAYLOAD_ID {
66  uint32_t dwData;
67 
68  struct {
69  uint8_t byStandard : 7; // ST352_STANDARD
70  uint8_t byVersion : 1; // Must be 1
71 
72  uint8_t byPictureRate : 4; // g_adwFrameDuration
73  uint8_t byReserved1 : 2;
74  uint8_t byProgressivePicture : 1;
75  uint8_t byProgressiveTransport : 1; // Not valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_720P_1_5G, ST352_STANDARD_720P_DS_3G, ST352_STANDARD_483_576_DS_3G
76 
77  uint8_t bySamplingStruct : 4; // SDI_SAMPLING_STRUCT
78  uint8_t byColorimetry : 2; // Valid for ST352_STANDARD_6G_MODE1, ST352_STANDARD_6G_MODE2
79  uint8_t byHorzYSampling : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G, ST352_STANDARD_1080_3G
80  uint8_t byImageAspectRatio : 1; // Valid for ST352_STANDARD_483_576_270M_360M, ST352_STANDARD_483_576_DS_3G
81 
82  uint8_t byBitDepth : 2;
83  uint8_t byReserved3 : 1;
84  uint8_t byDynamicRange : 2; // Valid for ST352_STANDARD_1080_DL_1_5G, ST352_STANDARD_720P_3G, ST352_STANDARD_1080_3G
85  uint8_t byReserved4 : 1;
86  uint8_t byChannelAssignment : 1; // Valid for ST352_STANDARD_1080_DL_1_5G
87  uint8_t byReserved5 : 1;
88  } V1;
90 
91 #pragma pack(pop)
Definition: MWSMPTE.h:65
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_product_ver_8h_source.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_product_ver_8h_source.html new file mode 100644 index 00000000..65b1325c --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/common_2_product_ver_8h_source.html @@ -0,0 +1,58 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common/ProductVer.h Source File - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
ProductVer.h
+
+
+
1 #pragma once
2 
3 #define VER_MAJOR 3
4 #define VER_MINOR 0
5 #define VER_RELEASE 1
6 #define VER_BUILD 1
7 #define VER_DATE "2015/05/05 14:13:53"
8 #define VER_CLASS "Internal"
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_1564f958d5f8fbb7b4851451fb36128e.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_1564f958d5f8fbb7b4851451fb36128e.html new file mode 100644 index 00000000..bcb2215c --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_1564f958d5f8fbb7b4851451fb36128e.html @@ -0,0 +1,62 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/mw_mp4 Directory Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
mw_mp4 Directory Reference
+
+
+ + +

+Files

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_21932c957ab40c1220fa8752209085ef.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_21932c957ab40c1220fa8752209085ef.html new file mode 100644 index 00000000..cd74f48a --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_21932c957ab40c1220fa8752209085ef.html @@ -0,0 +1,62 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/common Directory Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
common Directory Reference
+
+
+ + +

+Files

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_856524284ebe840938865dc061f982fb.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_856524284ebe840938865dc061f982fb.html new file mode 100644 index 00000000..55790eec --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_856524284ebe840938865dc061f982fb.html @@ -0,0 +1,65 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include Directory Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
Include Directory Reference
+
+
+ + +

+Directories

+ +

+Files

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_a3dabf8b4e6375036aebcb97a5ecebe7.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_a3dabf8b4e6375036aebcb97a5ecebe7.html new file mode 100644 index 00000000..ce0b5f81 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_a3dabf8b4e6375036aebcb97a5ecebe7.html @@ -0,0 +1,62 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWCapture Directory Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
LibMWCapture Directory Reference
+
+
+ + +

+Files

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_b9ad84118241cee47e73802cb51efb8f.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_b9ad84118241cee47e73802cb51efb8f.html new file mode 100644 index 00000000..9632e35f --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_b9ad84118241cee47e73802cb51efb8f.html @@ -0,0 +1,62 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/mw_venc Directory Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
mw_venc Directory Reference
+
+
+ + +

+Files

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_be86b78f02a27e6d65bae94474f6c840.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_be86b78f02a27e6d65bae94474f6c840.html new file mode 100644 index 00000000..4e3b8b34 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dir_be86b78f02a27e6d65bae94474f6c840.html @@ -0,0 +1,62 @@ + + + + + + + + + E:/git/MWCaptureSDKv3_doc/en_US/Include/LibMWClosedCaption Directory Reference - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + + +
+
+
+
LibMWClosedCaption Directory Reference
+
+
+ + +

+Files

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/doc.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/doc.png new file mode 100644 index 00000000..17edabff Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/doc.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/doxygen.png b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/doxygen.png new file mode 100644 index 00000000..3ff17d80 Binary files /dev/null and b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/doxygen.png differ diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dynsections.js b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dynsections.js new file mode 100644 index 00000000..85e18369 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + + + Closed Caption Decoder Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Closed Caption Decoder Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

LIBMWCCDECODER_API mw_cc708_decoder_tMWCreateCC708Decoder ()
 MWCreateCC708Decoder Creats CC708 decoder. More...
 
LIBMWCCDECODER_API void MWDestoryCC708Decoder (mw_cc708_decoder_t *pDecoder)
 MWDestoryCC708Decoder Unregisters CC708 decoder. More...
 
LIBMWCCDECODER_API void MWResetCC708Decoder (mw_cc708_decoder_t *pDecoder)
 MWResetCC708Decoder Resets CC708 decoder. More...
 
LIBMWCCDECODER_API void MWSetCC708DecoderCallback (mw_cc708_decoder_t *pDecoder, void(*pHandle)(int service, void *userdata), void *pUserdata)
 MWSetCC708DecoderCallback Sets CC708 decoder callback function. More...
 
LIBMWCCDECODER_API void MWSetCC708DecodeType (mw_cc708_decoder_t *pDecoder, bool b608, bool b708)
 MWSetCC708DecodeType Sets CC708 decoder to parsing CC data types. More...
 
LIBMWCCDECODER_API MW_CC_RESULT MWEnableOutputChannel (mw_cc708_decoder_t *pDecoder, mw_cc708_channel_t mcc)
 MWEnableOutputChannel Sets the decoded CC output channel. More...
 
LIBMWCCDECODER_API MW_CC_RESULT MWEnableOutputChannels (mw_cc708_decoder_t *pDecoder, mw_cc708_channel_t *mcc, int array_num)
 MWEnableOutputChannels Sets the decoded CC output channels. More...
 
LIBMWCCDECODER_API MW_CC_RESULT MWDisableOutputChannel (mw_cc708_decoder_t *pDecoder, mw_cc708_channel_t mcc)
 MWDisableOutputChannel Sets the channels not to output CC. More...
 
LIBMWCCDECODER_API MW_CC_RESULT MWDisableOutputChannels (mw_cc708_decoder_t *pDecoder, mw_cc708_channel_t *mcc, int array_num)
 MWDisableOutputChannels Length of output channel array. More...
 
LIBMWCCDECODER_API MW_CC_RESULT MWDecodeCC608 (mw_cc708_decoder_t *pDecoder, const unsigned char *pData, int nDatalength)
 MWDecodeCC608 Decodes cc608 ANC. More...
 
LIBMWCCDECODER_API MW_CC_RESULT MWDecodeCC708 (mw_cc708_decoder_t *pDecoder, const unsigned char *pData, int nDatalength)
 MWDecodeCC708 Decodes cc708 ANC. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + +
LIBMWCCDECODER_API mw_cc708_decoder_t* MWCreateCC708Decoder ()
+
+ +

MWCreateCC708Decoder Creats CC708 decoder.

+
Returns
If the function call succeeds, the CC708 decoder handle is returned; otherwise, the null value is returned.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API MW_CC_RESULT MWDecodeCC608 (mw_cc708_decoder_tpDecoder,
const unsigned char * pData,
int nDatalength 
)
+
+ +

MWDecodeCC608 Decodes cc608 ANC.

+
Parameters
+ + + + +
[in]pDecoderCC708 decoder
[in]pDataANC
[in]nDatalengthLength of ANC
+
+
+
Returns
Returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API MW_CC_RESULT MWDecodeCC708 (mw_cc708_decoder_tpDecoder,
const unsigned char * pData,
int nDatalength 
)
+
+ +

MWDecodeCC708 Decodes cc708 ANC.

+
Parameters
+ + + + +
[in]pDecoderCC708 decoder
[in]pDataANC
[in]nDatalengthLength of ANC
+
+
+
Returns
Returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + +
LIBMWCCDECODER_API void MWDestoryCC708Decoder (mw_cc708_decoder_tpDecoder)
+
+ +

MWDestoryCC708Decoder Unregisters CC708 decoder.

+
Parameters
+ + +
[in]pDecoderDecoder pointer
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API MW_CC_RESULT MWDisableOutputChannel (mw_cc708_decoder_tpDecoder,
mw_cc708_channel_t mcc 
)
+
+ +

MWDisableOutputChannel Sets the channels not to output CC.

+
Parameters
+ + + +
[in]pDecoderCC708 decoder
[in]mccOutput channels
+
+
+
Returns
Returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API MW_CC_RESULT MWDisableOutputChannels (mw_cc708_decoder_tpDecoder,
mw_cc708_channel_tmcc,
int array_num 
)
+
+ +

MWDisableOutputChannels Length of output channel array.

+
Parameters
+ + + + +
[in]pDecoderCC708 decoder
[in]mccOutput channel array
[in]array_numLength of output channel array
+
+
+
Returns
Returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API MW_CC_RESULT MWEnableOutputChannel (mw_cc708_decoder_tpDecoder,
mw_cc708_channel_t mcc 
)
+
+ +

MWEnableOutputChannel Sets the decoded CC output channel.

+
Parameters
+ + + +
[in]pDecoderCC708 decoder
[in]mccOutput channel
+
+
+
Returns
Returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API MW_CC_RESULT MWEnableOutputChannels (mw_cc708_decoder_tpDecoder,
mw_cc708_channel_tmcc,
int array_num 
)
+
+ +

MWEnableOutputChannels Sets the decoded CC output channels.

+
Parameters
+ + + + +
[in]pDecoderCC708 decoder
[in]mccOutput channel array
[in]array_numLength of output channel array
+
+
+
Returns
Returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + +
LIBMWCCDECODER_API void MWResetCC708Decoder (mw_cc708_decoder_tpDecoder)
+
+ +

MWResetCC708Decoder Resets CC708 decoder.

+
Parameters
+ + +
[in]pDecoderCC708 decoder
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API void MWSetCC708DecoderCallback (mw_cc708_decoder_tpDecoder,
void(*)(int service, void *userdata) pHandle,
void * pUserdata 
)
+
+ +

MWSetCC708DecoderCallback Sets CC708 decoder callback function.

+
Parameters
+ + + + +
[in]pDecoderCC708 decoder
[in]pHandleCallback functions
[in]pUserdataCallback object
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBMWCCDECODER_API void MWSetCC708DecodeType (mw_cc708_decoder_tpDecoder,
bool b608,
bool b708 
)
+
+ +

MWSetCC708DecodeType Sets CC708 decoder to parsing CC data types.

+
Parameters
+ + + + +
[in]pDecoderCC708 decoder
[in]b608Whether to decode cc608
[in]b708Whether to decode cc708
+
+
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__functions__render.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__functions__render.html new file mode 100644 index 00000000..5d030003 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__functions__render.html @@ -0,0 +1,801 @@ + + + + + + + + + Closed Caption Render Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Closed Caption Render Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

LIBCCRENDER_FREETYPE_API mw_cc_render_tMWCreateRender ()
 MWCreateRender Creates a CC renderer. More...
 
LIBCCRENDER_FREETYPE_API void MWDestoryRender (mw_cc_render_t *pRender)
 MWDestoryRender Destroys a cc renderer. More...
 
LIBCCRENDER_FREETYPE_API bool MWLoadFont (mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWLoadFont Uploads fonts. More...
 
LIBCCRENDER_FREETYPE_API void MWUnLoadFont (mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWUnLoadFont Unloads fonts. More...
 
LIBCCRENDER_FREETYPE_API mw_cc_screen_tMWCreateCCScreen (int t_nWidth, int t_nHeight)
 MWCreateCCScreen Creates a CC screen. More...
 
LIBCCRENDER_FREETYPE_API void MWDestoryCCScreen (mw_cc_screen_t *t_pScreen)
 MWDestoryCCScreen Destroys a CC Screen. More...
 
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC608Screen (mw_cc_screen_t *t_pScreen, mw_cc608_buffer_t *t_pCC608Buffer, mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWRenderCC608Screen Renders on screens with cc608 buffer. More...
 
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC608Buffer (unsigned char *t_pScreen, int t_nWidth, int t_nHeight, int t_nSize, mw_cc608_buffer_t *t_pCC608Buffer, mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWRenderCC608Buffer Render cc608 buffer to the specified memory. More...
 
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC608BufferArea (unsigned char *t_pScreen, int t_nWidth, int t_nHeight, int t_nSize, int t_nX, int t_nY, int t_nAWidth, int t_nAHeight, mw_cc608_buffer_t *t_pCC608Buffer, mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWRenderCC608BufferArea Renders cc608 buffer to specified area of specified memory. More...
 
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC708Screen (mw_cc_screen_t *t_pScreen, mw_cc708_tv_window_screen_t *t_pWindowScreen, mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWRenderCC708Screen Renders cc708 tv_window_screen to screen. More...
 
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC708Buffer (unsigned char *t_pScreen, int t_nWidth, int t_nHeight, int t_nSize, mw_cc708_tv_window_screen_t *t_pWindowScreen, mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWRenderCC708Buffer Renders cc708 tv_window_screen to the specified memory. More...
 
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC708BufferArea (unsigned char *t_pScreen, int t_nWidth, int t_nHeight, int t_nSize, int t_nX, int t_nY, int t_nAWidth, int t_nAHeight, mw_cc708_tv_window_screen_t *t_pWindowScreen, mw_cc_font_t *t_pmcfFont, mw_cc_render_t *pRender)
 MWRenderCC708BufferArea Renders cc708 tv_window_screen to the specified area of specified memory. More...
 
LIBCCRENDER_FREETYPE_API void MWRenderCCSetBackgroundColor (mw_cc_font_t *t_pFont, bool t_bSet, mw_cc_color_t t_mccColor)
 MWRenderCCSetBackgroundColor Sets the default or custom background color. More...
 
LIBCCRENDER_FREETYPE_API void MWRenderCCSetFontColor (mw_cc_font_t *t_pFont, bool t_bSet, mw_cc_color_t t_mccColor)
 MWRenderCCSetFontColor Sets the default or custom Font color. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API mw_cc_screen_t* MWCreateCCScreen (int t_nWidth,
int t_nHeight 
)
+
+ +

MWCreateCCScreen Creates a CC screen.

+
Parameters
+ + + +
[in]t_nWidthWidth of the screen
[in]t_nHeightHeight of the screen
+
+
+
Returns
Returns NULL if failed.
+ +
+
+ +
+
+ + + + + + + +
LIBCCRENDER_FREETYPE_API mw_cc_render_t* MWCreateRender ()
+
+ +

MWCreateRender Creates a CC renderer.

+
Returns
If succeeded, it returns cc renderer; otherwise, it returns null.
+ +
+
+ +
+
+ + + + + + + + +
LIBCCRENDER_FREETYPE_API void MWDestoryCCScreen (mw_cc_screen_tt_pScreen)
+
+ +

MWDestoryCCScreen Destroys a CC Screen.

+
Parameters
+ + +
[in]t_pScreenScreen
+
+
+ +
+
+ +
+
+ + + + + + + + +
LIBCCRENDER_FREETYPE_API void MWDestoryRender (mw_cc_render_tpRender)
+
+ +

MWDestoryRender Destroys a cc renderer.

+
Parameters
+ + +
[in]pRendercc renderer
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API bool MWLoadFont (mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWLoadFont Uploads fonts.

+
Parameters
+ + + +
[in]t_pmcfFontFont
[in]pRendercc renderer
+
+
+
Returns
Returns true if succeeded.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC608Buffer (unsigned char * t_pScreen,
int t_nWidth,
int t_nHeight,
int t_nSize,
mw_cc608_buffer_tt_pCC608Buffer,
mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWRenderCC608Buffer Render cc608 buffer to the specified memory.

+
Parameters
+ + + + + + + + +
[out]t_pScreenthe specified memory
[in]t_nWidthMemory width
[in]t_nHeightMemory height
[in]t_nSizeMemory size
[in]t_pCC608Buffercc608 buffer
[in]t_pmcfFontFont
[in]pRenderRenderer
+
+
+
Returns
If succeeded, it returns MW_CC_NO_ERROR.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC608BufferArea (unsigned char * t_pScreen,
int t_nWidth,
int t_nHeight,
int t_nSize,
int t_nX,
int t_nY,
int t_nAWidth,
int t_nAHeight,
mw_cc608_buffer_tt_pCC608Buffer,
mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWRenderCC608BufferArea Renders cc608 buffer to specified area of specified memory.

+
Parameters
+ + + + + + + + + + + + +
[out]t_pScreenSpecified memory
[in]t_nWidthWidth of memory
[in]t_nHeightHeight of memory
[in]t_nSizeSize of memory
[in]t_nXx coordinates of the specified area
[in]t_nYy coordinates of the specified area y coordinates
[in]t_nAWidthwidth of the specified area
[in]t_nAHeightHeight of the specified area
[in]t_pCC608Buffercc608 buffer
[in]t_pmcfFontFont
[in]pRenderRenderer
+
+
+
Returns
If succeeded, it returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC608Screen (mw_cc_screen_tt_pScreen,
mw_cc608_buffer_tt_pCC608Buffer,
mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWRenderCC608Screen Renders on screens with cc608 buffer.

+
Parameters
+ + + + + +
[out]t_pScreenScreen
[in]t_pCC608Buffercc608 buffer
[in]t_pmcfFontFont
[in]pRenderRenderer
+
+
+
Returns
Returns MW_CC_NO_ERROR if succeeded.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC708Buffer (unsigned char * t_pScreen,
int t_nWidth,
int t_nHeight,
int t_nSize,
mw_cc708_tv_window_screen_tt_pWindowScreen,
mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWRenderCC708Buffer Renders cc708 tv_window_screen to the specified memory.

+
Parameters
+ + + + + + + + +
[out]t_pScreenSpecified memory
[in]t_nWidthWidth of memory
[in]t_nHeightHeight of memory
[in]t_nSizeSize of memory
[in]t_pWindowScreencc708 tv_window_screen
[in]t_pmcfFontFont
[in]pRenderRenderer
+
+
+
Returns
If succeeded, it returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC708BufferArea (unsigned char * t_pScreen,
int t_nWidth,
int t_nHeight,
int t_nSize,
int t_nX,
int t_nY,
int t_nAWidth,
int t_nAHeight,
mw_cc708_tv_window_screen_tt_pWindowScreen,
mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWRenderCC708BufferArea Renders cc708 tv_window_screen to the specified area of specified memory.

+
Parameters
+ + + + + + + + + + + + +
[out]t_pScreenSpecified memory
[in]t_nWidthMemory width
[in]t_nHeightMemory height
[in]t_nSizeMemory size
[in]t_nXSpecified area x coordinates
[in]t_nYSpecified area y coordinates
[in]t_nAWidthArea width
[in]t_nAHeightArea height
[in]t_pWindowScreencc708 tv_window_screen
[in]t_pmcfFontFont
[in]pRenderRenderer
+
+
+
Returns
If succeeded, it returns MW_CC_NO_ERROR
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API MW_CC_RESULT MWRenderCC708Screen (mw_cc_screen_tt_pScreen,
mw_cc708_tv_window_screen_tt_pWindowScreen,
mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWRenderCC708Screen Renders cc708 tv_window_screen to screen.

+
Parameters
+ + + + + +
[out]t_pScreenScreen
[in]t_pWindowScreencc708 tv_window_screen
[in]t_pmcfFontFont
[in]pRenderRenderer
+
+
+
Returns
If succeeded, it returns MW_CC_NO_ERROR.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API void MWRenderCCSetBackgroundColor (mw_cc_font_tt_pFont,
bool t_bSet,
mw_cc_color_t t_mccColor 
)
+
+ +

MWRenderCCSetBackgroundColor Sets the default or custom background color.

+
Parameters
+ + + + +
[in]t_pFontFont
[in]t_bSetWhether to use the custom color
[in]t_mccColorColor
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API void MWRenderCCSetFontColor (mw_cc_font_tt_pFont,
bool t_bSet,
mw_cc_color_t t_mccColor 
)
+
+ +

MWRenderCCSetFontColor Sets the default or custom Font color.

+
Parameters
+ + + + +
[in]t_pFontFont
[in]t_bSetWhether to use the custom color
[in]t_mccColorFont color
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
LIBCCRENDER_FREETYPE_API void MWUnLoadFont (mw_cc_font_tt_pmcfFont,
mw_cc_render_tpRender 
)
+
+ +

MWUnLoadFont Unloads fonts.

+
Parameters
+ + + +
[in]t_pmcfFontFont
[in]pRendercc renderer
+
+
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__enum.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__enum.html new file mode 100644 index 00000000..235b3e71 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__enum.html @@ -0,0 +1,1357 @@ + + + + + + + + + Closed Caption Enumeration Types - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Closed Caption Enumeration Types
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef enum _cc608_background_color mw_cc608_background_color_t
 cc608 background colors
 
+typedef enum _cc608_foreground_color mw_cc608_foreground_color_t
 cc608 font colors
 
+typedef enum _cc708_channel mw_cc708_channel_t
 Enumeration of cc708 channels.
 
+typedef enum _cc608_style mw_cc608_style_t
 cc608 display styles
 
+typedef enum _cea708_windows_attrib_justify mw_cea708_windows_attrib_justify_t
 Window caption alignment.
 
+typedef enum _cea708_windows_attrib_print_direction mw_cea708_windows_attrib_print_direction_t
 CC708 print direction.
 
+typedef enum _cea708_windows_attrib_scroll_direction mw_cea708_windows_attrib_scroll_direction_t
 CC708 scrolling directions.
 
+typedef enum _cea708_windows_attrib_scroll_display_effect mw_cea708_windows_attrib_scroll_display_effect_t
 Scrolling effect of CC708.
 
+typedef enum _cea708_windows_attrib_effect_direction mw_cea708_windows_attrib_effect_direction_t
 Window effect direction of CC708.
 
+typedef enum _cea708_windows_attrib_fill_opacity mw_cea708_windows_attrib_fill_opacity_t
 Sets filling opacity of CC708 box.
 
+typedef enum _cea708_windows_attrib_border_type mw_cea708_windows_attrib_border_type_t
 Frame types of CC708 window.
 
+typedef enum _cea_pen_attrib_size mw_cea_pen_attrib_size_t
 CC708 pen size.
 
+typedef enum _cea708_pen_attrib_font_style mw_cea708_pen_attrib_font_style_t
 CC708 fonts.
 
+typedef enum _cea708_pen_attrib_texttag mw_cea708_pen_attrib_texttag_t
 CC708 text labels which indicate different lines sources.
 
+typedef enum _cea_pen_attrib_offset mw_cea_pen_attrib_offset_t
 CC708 text position.
 
+typedef enum _cea_pen_attrib_edgetype mw_cea_pen_attrib_edgetype_t
 Edge type of CC708 pen.
 
+typedef enum _cea_anchor_points mw_cea_anchor_points_t
 Anchor location of CC708 window.
 
+typedef enum _color_format mw_color_format_t
 Color formats.
 
typedef enum _CC_RESULT MW_CC_RESULT
 MW_CC_RESULT. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  _cc608_background_color {
+  MW_BAC_WHITE, +MW_BAC_WHITE_SEMI, +MW_BAC_GREEN, +MW_BAC_GREEN_SEMI, +
+  MW_BAC_BLUE, +MW_BAC_BLUE_SEMI, +MW_BAC_CYAN, +MW_BAC_CYAN_SEMI, +
+  MW_BAC_RED, +MW_BAC_RED_SEMI, +MW_BAC_YELLOW, +MW_BAC_YELLOW_SEMI, +
+  MW_BAC_MAGENTA, +MW_BAC_MAGENTA_SEMI, +MW_BAC_BLACK, +MW_BAC_BLACK_SEMI, +
+  MW_BAC_TRANSPARENT, +MW_FAC_BLACK, +MW_FAC_BLACK_UNDERLINE +
+ }
 cc608 background colors More...
 
enum  _cc608_foreground_color {
+  MW_FG_WHITE = 0, +MW_FG_GREEN, +MW_FG_BLUE, +MW_FG_CYAN, +
+  MW_FG_RED, +MW_FG_YELLOW, +MW_FG_MAGENTA, +MW_FG_USERDEFINED, +
+  MW_FG_BLACK, +MW_FG_TRANSPARENT +
+ }
 cc608 font colors More...
 
enum  _cc708_channel {
+  MW_CC608_CC1 =-1, +MW_CC608_CC2 =-2, +MW_CC608_CC3 =-3, +MW_CC608_CC4 =-4, +
+  MW_CC608_ALL =-5, +MW_CC_ALL =0, +MW_CC708_SERVICE01 =1, +MW_CC708_SERVICE02, +
+  MW_CC708_SERVICE03, +MW_CC708_SERVICE04, +MW_CC708_SERVICE05, +MW_CC708_SERVICE06, +
+  MW_CC708_SERVICE07, +MW_CC708_SERVICE08, +MW_CC708_SERVICE09, +MW_CC708_SERVICE10, +
+  MW_CC708_SERVICE11, +MW_CC708_SERVICE12, +MW_CC708_SERVICE13, +MW_CC708_SERVICE14, +
+  MW_CC708_SERVICE15, +MW_CC708_SERVICE16, +MW_CC708_SERVICE17, +MW_CC708_SERVICE18, +
+  MW_CC708_SERVICE19, +MW_CC708_SERVICE20, +MW_CC708_SERVICE21, +MW_CC708_SERVICE22, +
+  MW_CC708_SERVICE23, +MW_CC708_SERVICE24, +MW_CC708_SERVICE25, +MW_CC708_SERVICE26, +
+  MW_CC708_SERVICE27, +MW_CC708_SERVICE28, +MW_CC708_SERVICE29, +MW_CC708_SERVICE30, +
+  MW_CC708_SERVICE31, +MW_CC708_SERVICE32, +MW_CC708_SERVICE33, +MW_CC708_SERVICE34, +
+  MW_CC708_SERVICE35, +MW_CC708_SERVICE36, +MW_CC708_SERVICE37, +MW_CC708_SERVICE38, +
+  MW_CC708_SERVICE39, +MW_CC708_SERVICE40, +MW_CC708_SERVICE41, +MW_CC708_SERVICE42, +
+  MW_CC708_SERVICE43, +MW_CC708_SERVICE44, +MW_CC708_SERVICE45, +MW_CC708_SERVICE46, +
+  MW_CC708_SERVICE47, +MW_CC708_SERVICE48, +MW_CC708_SERVICE49, +MW_CC708_SERVICE50, +
+  MW_CC708_SERVICE51, +MW_CC708_SERVICE52, +MW_CC708_SERVICE53, +MW_CC708_SERVICE54, +
+  MW_CC708_SERVICE55, +MW_CC708_SERVICE56, +MW_CC708_SERVICE57, +MW_CC708_SERVICE58, +
+  MW_CC708_SERVICE59, +MW_CC708_SERVICE60, +MW_CC708_SERVICE61, +MW_CC708_SERVICE62, +
+  MW_CC708_SERVICE63, +MW_CC708_ALL =64 +
+ }
 Enumeration of cc708 channels. More...
 
enum  _cc608_style { MW_CC608_ROLLUP = 1, +MW_CC608_PAINTON, +MW_CC608_POPON, +MW_CC608_TEXT + }
 cc608 display styles
 
enum  _cea708_windows_attrib_justify { MW_CC708_WA_LEFT = 0, +MW_CC708_WA_RIGHT, +MW_CC708_WA_CENTER, +MW_CC708_WA_FULL + }
 Window caption alignment. More...
 
enum  _cea708_windows_attrib_print_direction { MW_CC708_PD_LEFT_TO_RIGHT = 0, +MW_CC708_PD_RIGHT_TO_LEFT, +MW_CC708_PD_TOP_TO_BOTTOM, +MW_CC708_PD_BOTTOM_TO_TOP + }
 CC708 print direction. More...
 
enum  _cea708_windows_attrib_scroll_direction { MW_CC708_SD_LEFT_TO_RIGHT = 0, +MW_CC708_SD_RIGHT_TO_LEFT, +MW_CC708_SD_TOP_TO_BOTTOM, +MW_CC708_SD_BOTTOM_TO_TOP + }
 CC708 scrolling directions. More...
 
enum  _cea708_windows_attrib_scroll_display_effect { MW_CC708_SDE_SNAP = 0, +MW_CC708_SDE_FADE, +MW_CC708_SDE_WIPE + }
 Scrolling effect of CC708.
 
enum  _cea708_windows_attrib_effect_direction { MW_CC708_ED_LEFT_TO_RIGHT = 0, +MW_CC708_ED_RIGHT_TO_LEFT, +MW_CC708_ED_TOP_TO_BOTTOM, +MW_CC708_ED_BOTTOM_TO_TOP + }
 Window effect direction of CC708. More...
 
enum  _cea708_windows_attrib_fill_opacity { MW_CC708_FO_SOLID = 0, +MW_CC708_FO_FLASH, +MW_CC708_FO_TRANSLUENT, +MW_CC708_FO_TRANSPARENT + }
 Sets filling opacity of CC708 box. More...
 
enum  _cea708_windows_attrib_border_type {
+  MW_CC708_BT_NONE = 0, +MW_CC708_BT_RAISED, +MW_CC708_BT_DEPRESSED, +MW_CC708_BT_UNIFORM, +
+  MW_CC708_BT_SHADOW_LEFT, +MW_CC708_BT_SHADOW_RIGHT +
+ }
 Frame types of CC708 window. More...
 
enum  _cea_pen_attrib_size { MW_CC708_PENSIZE_SMALL = 0, +MW_CC708_PENSIZE_STANDARD, +MW_CC708_PENSIZE_LARGE + }
 CC708 pen size. More...
 
enum  _cea708_pen_attrib_font_style {
+  MW_CC708_FS_DEFAULT_OR_DEFINED =0, +MW_CC708_FS_MONOSPACED_WITH_SERIFS, +MW_CC708_FS_PROPORTIONALLY_SPACED_WITH_SERIFS, +MW_CC708_FS_MONOSPACED_WITHOUT_SERIFS, +
+  MW_CC708_FS_PROPORTIONALLY_SPACED_WITHOUT_SERIFS, +MW_CC708_FS_CAUSAL_FONT_TYPE, +MW_CC708_FS_CURISVE_FONT_TYPE, +MW_CC708_FS_SMALL_CAPTIALS +
+ }
 CC708 fonts. More...
 
enum  _cea708_pen_attrib_texttag {
+  MW_CC708_PTEXTTAG_DIALOG = 0, +MW_CC708_PTEXTTAG_SOURCE_OR_SPEAKER_ID, +MW_CC708_PTEXTTAG_ELECTRONIC_VOICE, +MW_CC708_PTEXTTAG_FOREIGN_LAUNGUANGE, +
+  MW_CC708_PTEXTTAG_VOICEOVER, +MW_CC708_PTEXTTAG_AUDIBLE_TRANSLATION, +MW_CC708_PTEXTTAG_SUBTITLE_TRANSLATION, +MW_CC708_PTEXTTAG_VOICE_QUALITY_DESCRIPTION, +
+  MW_CC708_PTEXTTAG_SONG_LYRICS, +MW_CC708_PTEXTTAG_SOUND_EFFECT_DESCRIPTION, +MW_CC708_PTEXTTAG_MUSICAL_SCORE_DESCRIPTION, +MW_CC708_PTEXTTAG_EXPLETIVE, +
+  MW_CC708_PTEXTTAG_UNDEFINED_12, +MW_CC708_PTEXTTAG_UNDEFINED_13, +MW_CC708_PTEXTTAG_UNDEFINED_14, +MW_CC708_PTEXTTAG_NOT_TO_BE_DISPLAYED +
+ }
 CC708 text labels which indicate different lines sources. More...
 
enum  _cea_pen_attrib_offset { MW_CC708_POF_SUBSCRIPT =0, +MW_CC708_POF_NORMAL, +MW_CC708_POF_SUPERSCRIPT + }
 CC708 text position. More...
 
enum  _cea_pen_attrib_edgetype {
+  MW_CC708_PET_NONE = 0, +MW_CC708_PET_RAISED, +MW_CC708_PET_DEPRESSED, +MW_CC708_PET_UNIFORM, +
+  MW_CC708_PET_LEFT_DROP_SHADOW, +MW_CC708_PET_RIGHT_DROP_SHADOW +
+ }
 Edge type of CC708 pen. More...
 
enum  _cea_anchor_points {
+  MW_CC708_ANCHORPOINT_TOP_LEFT = 0, +MW_CC708_ANCHORPOINT_TOP_CENTER, +MW_CC708_ANCHORPOINT_TOP_RIGHT, +MW_CC708_ANCHORPOINT_MIDDLE_LEFT, +
+  MW_CC708_ANCHORPOINT_MIDDLE_CENTER, +MW_CC708_ANCHORPOINT_MIDDLE_RIGHT, +MW_CC708_ANCHORPOINT_BOTTOM_LEFT, +MW_CC708_ANCHORPOINT_BOTTOM_CENTER, +
+  MW_CC708_ANCHORPOINT_BOTTOM_RIGHT +
+ }
 Anchor location of CC708 window. More...
 
enum  _color_format { MW_RGBA, +MW_BGRA, +MW_ARGB, +MW_ABGR + }
 Color formats. More...
 
enum  _CC_RESULT {
+  MW_CC_NO_ERROR, +MW_CC_ERROR_ARGUMENT, +MW_CC_OUT_OF_MEMORY, +MW_CC_ANC_INVALID, +
+  MW_CC_ERROR_ANC_DID, +MW_CC_ERROR_ANC_SDID, +MW_CC_ERROR_ANC_608_INVALID, +MW_CC_ERROR_ANC_608_LENGTH, +
+  MW_CC_ERROR_ANC_708_INVALID, +MW_CC_ERROR_DECODER_NULL, +MW_CC_ERROR_DECODE_DATA_NULL, +MW_CC_ERROR_DECODE_DATA_SIZE, +
+  MW_CC708_ERROR_ARGUMENT, +MW_CC708_OUT_OF_MEMORY, +MW_CC708_ERROR_TIME_CODE_NULL, +MW_CC708_ERROR_ANC_TIME_CODE_NULL, +
+  MW_CC708_ERROR_ANC_TIME_CODE_LENGTH, +MW_CC708_ERROR_ANC_708_TIME_PACKET, +MW_CC708_ERROR_ANC_708_DATA_SIZE, +MW_CC708_ERROR_ANC_708_DATA_PACKET, +
+  MW_CC708_ERROR_ANC_708_SINFO_PACKET, +MW_CC608_ERROR_ARGUMENT, +MW_CC608_OUT_OF_MEMORY, +MW_CC608_ERROR_FIELD, +
+  MW_CC_RENDER_ERROR_ARGUMENT, +MW_CC_RENDER_SIZE_ERROR, +MW_CC_RENDER_FONT_ERROR, +MW_CC_RENDER_CC708_WINDOW_NUM_ERROR +
+ }
 MW_CC_RESULT. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef enum _CC_RESULT MW_CC_RESULT
+
+ +

MW_CC_RESULT.

+

Closed Caption state code

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum _cc608_background_color
+
+ +

cc608 background colors

+ + + + + + + + + + + + + + + + + + + + +
Enumerator
MW_BAC_WHITE  +

rgba(255,255,255,255)

+
MW_BAC_WHITE_SEMI  +

rgba(255,255,255,122)

+
MW_BAC_GREEN  +

rgba(0,255,0,255)

+
MW_BAC_GREEN_SEMI  +

rgba(0,255,0,122)

+
MW_BAC_BLUE  +

rgba(0,0,255,255)

+
MW_BAC_BLUE_SEMI  +

rgba(0,0,255,122)

+
MW_BAC_CYAN  +

rgba(0,255,255,255)

+
MW_BAC_CYAN_SEMI  +

rgba(0,255,255,122)

+
MW_BAC_RED  +

rgba(255,0,0,255)

+
MW_BAC_RED_SEMI  +

rgba(255,0,0,122)

+
MW_BAC_YELLOW  +

rgba(255,255,0,255)

+
MW_BAC_YELLOW_SEMI  +

rgba(255,255,0,122)

+
MW_BAC_MAGENTA  +

rgba(255,0,255,255)

+
MW_BAC_MAGENTA_SEMI  +

rgba(255,0,255,122)

+
MW_BAC_BLACK  +

rgba(0,0,0,255)

+
MW_BAC_BLACK_SEMI  +

rgba(0,0,0,122)

+
MW_BAC_TRANSPARENT  +

rgba(0,0,0,0)

+
MW_FAC_BLACK  +

Black font.

+
MW_FAC_BLACK_UNDERLINE  +

Black font with the underline.

+
+ +
+
+ +
+
+ + + + +
enum _cc608_foreground_color
+
+ +

cc608 font colors

+ + + + + + + + + + + +
Enumerator
MW_FG_WHITE  +

rgba(255,255,255,255)

+
MW_FG_GREEN  +

rgba(0,255,0,255)

+
MW_FG_BLUE  +

rgba(0,0,255,255)

+
MW_FG_CYAN  +

rgba(0,255,255,255)

+
MW_FG_RED  +

rgba(255,0,0,255)

+
MW_FG_YELLOW  +

rgba(255,255,0,255)

+
MW_FG_MAGENTA  +

rgba(255,0,255,255)

+
MW_FG_USERDEFINED  +

Custom color.

+
MW_FG_BLACK  +

rgba(0,0,0,255)

+
MW_FG_TRANSPARENT  +

rgba(0,0,0,0)

+
+ +
+
+ +
+
+ + + + +
enum _cc708_channel
+
+ +

Enumeration of cc708 channels.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
MW_CC608_CC1  +

CC698 CC1.

+
MW_CC608_CC2  +

CC608 CC2.

+
MW_CC608_CC3  +

CC608 CC3.

+
MW_CC608_CC4  +

CC608 CC4.

+
MW_CC608_ALL  +

All CC608 channels.

+
MW_CC_ALL  +

All CC608 and CC708 channels.

+
MW_CC708_SERVICE01  +

CC708 service01.

+
MW_CC708_SERVICE02  +

CC708 service02.

+
MW_CC708_SERVICE03  +

CC708 service03.

+
MW_CC708_SERVICE04  +

CC708 service04.

+
MW_CC708_SERVICE05  +

CC708 service05.

+
MW_CC708_SERVICE06  +

CC708 service06.

+
MW_CC708_SERVICE07  +

CC708 service07.

+
MW_CC708_SERVICE08  +

CC708 service08.

+
MW_CC708_SERVICE09  +

CC708 service09.

+
MW_CC708_SERVICE10  +

CC708 service10.

+
MW_CC708_SERVICE11  +

CC708 service11.

+
MW_CC708_SERVICE12  +

CC708 service12.

+
MW_CC708_SERVICE13  +

CC708 service13.

+
MW_CC708_SERVICE14  +

CC708 service14.

+
MW_CC708_SERVICE15  +

CC708 service15.

+
MW_CC708_SERVICE16  +

CC708 service16.

+
MW_CC708_SERVICE17  +

CC708 service17.

+
MW_CC708_SERVICE18  +

CC708 service18.

+
MW_CC708_SERVICE19  +

CC708 service19.

+
MW_CC708_SERVICE20  +

CC708 service20.

+
MW_CC708_SERVICE21  +

CC708 service21.

+
MW_CC708_SERVICE22  +

CC708 service22.

+
MW_CC708_SERVICE23  +

CC708 service23.

+
MW_CC708_SERVICE24  +

CC708 service24.

+
MW_CC708_SERVICE25  +

CC708 service25.

+
MW_CC708_SERVICE26  +

CC708 service26.

+
MW_CC708_SERVICE27  +

CC708 service27.

+
MW_CC708_SERVICE28  +

CC708 service28.

+
MW_CC708_SERVICE29  +

CC708 service29.

+
MW_CC708_SERVICE30  +

CC708 service30.

+
MW_CC708_SERVICE31  +

CC708 service31.

+
MW_CC708_SERVICE32  +

CC708 service32.

+
MW_CC708_SERVICE33  +

CC708 service33.

+
MW_CC708_SERVICE34  +

CC708 service34.

+
MW_CC708_SERVICE35  +

CC708 service35.

+
MW_CC708_SERVICE36  +

CC708 service36.

+
MW_CC708_SERVICE37  +

CC708 service37.

+
MW_CC708_SERVICE38  +

CC708 service38.

+
MW_CC708_SERVICE39  +

CC708 service39.

+
MW_CC708_SERVICE40  +

CC708 service40.

+
MW_CC708_SERVICE41  +

CC708 service41.

+
MW_CC708_SERVICE42  +

CC708 service42.

+
MW_CC708_SERVICE43  +

CC708 service43.

+
MW_CC708_SERVICE44  +

CC708 service44.

+
MW_CC708_SERVICE45  +

CC708 service45.

+
MW_CC708_SERVICE46  +

CC708 service46.

+
MW_CC708_SERVICE47  +

CC708 service47.

+
MW_CC708_SERVICE48  +

CC708 service48.

+
MW_CC708_SERVICE49  +

CC708 service49.

+
MW_CC708_SERVICE50  +

CC708 service50.

+
MW_CC708_SERVICE51  +

CC708 service51.

+
MW_CC708_SERVICE52  +

CC708 service52.

+
MW_CC708_SERVICE53  +

CC708 service53.

+
MW_CC708_SERVICE54  +

CC708 service54.

+
MW_CC708_SERVICE55  +

CC708 service55.

+
MW_CC708_SERVICE56  +

CC708 service56.

+
MW_CC708_SERVICE57  +

CC708 service57.

+
MW_CC708_SERVICE58  +

CC708 service58.

+
MW_CC708_SERVICE59  +

CC708 service59.

+
MW_CC708_SERVICE60  +

CC708 service60.

+
MW_CC708_SERVICE61  +

CC708 service61.

+
MW_CC708_SERVICE62  +

CC708 service62.

+
MW_CC708_SERVICE63  +

CC708 service63.

+
MW_CC708_ALL  +

All CC708 services.

+
+ +
+
+ +
+
+ + + + +
enum _CC_RESULT
+
+ +

MW_CC_RESULT.

+

Closed Caption state code

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
MW_CC_NO_ERROR  +

Normal.

+
MW_CC_ERROR_ARGUMENT  +

Error Parameter.

+
MW_CC_OUT_OF_MEMORY  +

Error memory storage.

+
MW_CC_ANC_INVALID  +

Invalid ANC is invalid.

+
MW_CC_ERROR_ANC_DID  +

DID is not 0x61.

+
MW_CC_ERROR_ANC_SDID  +

SDID is not 0x1 or 0x2.

+
MW_CC_ERROR_ANC_608_INVALID  +

Invalid 608ANC is invalid.

+
MW_CC_ERROR_ANC_608_LENGTH  +

Error length of 608ANC.

+
MW_CC_ERROR_ANC_708_INVALID  +

Invalid 708ANC.

+
MW_CC_ERROR_DECODER_NULL  +

708 decoder is null

+
MW_CC_ERROR_DECODE_DATA_NULL  +

Decoder is null.

+
MW_CC_ERROR_DECODE_DATA_SIZE  +

Error size of decoded data.

+
MW_CC708_ERROR_ARGUMENT  +

Error 708 parameter.

+
MW_CC708_OUT_OF_MEMORY  +

Error 708 storage memory.

+
MW_CC708_ERROR_TIME_CODE_NULL  +

Time code is null.

+
MW_CC708_ERROR_ANC_TIME_CODE_NULL  +

ANC time code is null.

+
MW_CC708_ERROR_ANC_TIME_CODE_LENGTH  +

Error Length of ANC time code.

+
MW_CC708_ERROR_ANC_708_TIME_PACKET  +

Error ANC time code content.

+
MW_CC708_ERROR_ANC_708_DATA_SIZE  +

Error ANC data size.

+
MW_CC708_ERROR_ANC_708_DATA_PACKET  +

Error ANC packet.

+
MW_CC708_ERROR_ANC_708_SINFO_PACKET  +

Error ANC segment info.

+
MW_CC608_ERROR_ARGUMENT  +

Error 608 parameter.

+
MW_CC608_OUT_OF_MEMORY  +

Error 608 memory storage.

+
MW_CC608_ERROR_FIELD  +

Error 608 field.

+
MW_CC_RENDER_ERROR_ARGUMENT  +

Error render parameter.

+
MW_CC_RENDER_SIZE_ERROR  +

Error render size.

+
MW_CC_RENDER_FONT_ERROR  +

Error uploaded font.

+
MW_CC_RENDER_CC708_WINDOW_NUM_ERROR  +

Error number of windows.

+
+ +
+
+ +
+
+ +

CC708 fonts.

+ + + + + + + + + +
Enumerator
MW_CC708_FS_DEFAULT_OR_DEFINED  +

Default or custom font style.

+
MW_CC708_FS_MONOSPACED_WITH_SERIFS  +

Monospaced, serif fonts.

+
MW_CC708_FS_PROPORTIONALLY_SPACED_WITH_SERIFS  +

Proportionally spaced font with serifs.

+
MW_CC708_FS_MONOSPACED_WITHOUT_SERIFS  +

Monospaced, sans-serif fonts.

+
MW_CC708_FS_PROPORTIONALLY_SPACED_WITHOUT_SERIFS  +

Proportionally spaced font without serifs.

+
MW_CC708_FS_CAUSAL_FONT_TYPE  +

At this state, you can custom the font.

+
MW_CC708_FS_CURISVE_FONT_TYPE  +

Cursive.

+
MW_CC708_FS_SMALL_CAPTIALS  +

Lowercase letters.

+
+ +
+
+ +
+
+ + + + +
enum _cea708_pen_attrib_texttag
+
+ +

CC708 text labels which indicate different lines sources.

+ + + + + + + + + + + + + + + + + +
Enumerator
MW_CC708_PTEXTTAG_DIALOG  +

Dialog.

+
MW_CC708_PTEXTTAG_SOURCE_OR_SPEAKER_ID  +

Source.

+
MW_CC708_PTEXTTAG_ELECTRONIC_VOICE  +

Electronic sound.

+
MW_CC708_PTEXTTAG_FOREIGN_LAUNGUANGE  +

Foreign language.

+
MW_CC708_PTEXTTAG_VOICEOVER  +

Voice over.

+
MW_CC708_PTEXTTAG_AUDIBLE_TRANSLATION  +

Audible translation.

+
MW_CC708_PTEXTTAG_SUBTITLE_TRANSLATION  +

Subtitle translation.

+
MW_CC708_PTEXTTAG_VOICE_QUALITY_DESCRIPTION  +

Description of voice quality.

+
MW_CC708_PTEXTTAG_SONG_LYRICS  +

Lyrics.

+
MW_CC708_PTEXTTAG_SOUND_EFFECT_DESCRIPTION  +

Sound effects description.

+
MW_CC708_PTEXTTAG_MUSICAL_SCORE_DESCRIPTION  +

Score description.

+
MW_CC708_PTEXTTAG_EXPLETIVE  +

Exclamations.

+
MW_CC708_PTEXTTAG_UNDEFINED_12  +

Reserved.

+
MW_CC708_PTEXTTAG_UNDEFINED_13  +

Reserved.

+
MW_CC708_PTEXTTAG_UNDEFINED_14  +

Reserved.

+
MW_CC708_PTEXTTAG_NOT_TO_BE_DISPLAYED  +

Don't display lines.

+
+ +
+
+ +
+
+ +

Frame types of CC708 window.

+ + + + + + + +
Enumerator
MW_CC708_BT_NONE  +

None.

+
MW_CC708_BT_RAISED  +

Raised border.

+
MW_CC708_BT_DEPRESSED  +

Depression border.

+
MW_CC708_BT_UNIFORM  +

Uniform border.

+
MW_CC708_BT_SHADOW_LEFT  +

Left shadow border.

+
MW_CC708_BT_SHADOW_RIGHT  +

Right shadow border.

+
+ +
+
+ +
+
+ +

Window effect direction of CC708.

+ + + + + +
Enumerator
MW_CC708_ED_LEFT_TO_RIGHT  +

From left to right.

+
MW_CC708_ED_RIGHT_TO_LEFT  +

From right to left.

+
MW_CC708_ED_TOP_TO_BOTTOM  +

From top to bottom.

+
MW_CC708_ED_BOTTOM_TO_TOP  +

From bottom to top.

+
+ +
+
+ +
+
+ +

Sets filling opacity of CC708 box.

+ + + + + +
Enumerator
MW_CC708_FO_SOLID  +

Solid.

+
MW_CC708_FO_FLASH  +

Flashing.

+
MW_CC708_FO_TRANSLUENT  +

Gradient.

+
MW_CC708_FO_TRANSPARENT  +

Opacity.

+
+ +
+
+ +
+
+ +

Window caption alignment.

+ + + + + +
Enumerator
MW_CC708_WA_LEFT  +

Left-aligned text.

+
MW_CC708_WA_RIGHT  +

Right-aligned text.

+
MW_CC708_WA_CENTER  +

Centered text.

+
MW_CC708_WA_FULL  +

Justified text.

+
+ +
+
+ +
+
+ +

CC708 print direction.

+ + + + + +
Enumerator
MW_CC708_PD_LEFT_TO_RIGHT  +

Drawing from Left to right.

+
MW_CC708_PD_RIGHT_TO_LEFT  +

Drawing from right to left.

+
MW_CC708_PD_TOP_TO_BOTTOM  +

Drawing from top to bottom.

+
MW_CC708_PD_BOTTOM_TO_TOP  +

Drawing from bottom to top.

+
+ +
+
+ +
+
+ +

CC708 scrolling directions.

+ + + + + +
Enumerator
MW_CC708_SD_LEFT_TO_RIGHT  +

Scrolling from left to right.

+
MW_CC708_SD_RIGHT_TO_LEFT  +

Scrolling from right to left.

+
MW_CC708_SD_TOP_TO_BOTTOM  +

Scrolling from top to bottom.

+
MW_CC708_SD_BOTTOM_TO_TOP  +

Scrolling from bottom to top.

+
+ +
+
+ +
+
+ + + + +
enum _cea_anchor_points
+
+ +

Anchor location of CC708 window.

+ + + + + + + + + + +
Enumerator
MW_CC708_ANCHORPOINT_TOP_LEFT  +

Top left.

+
MW_CC708_ANCHORPOINT_TOP_CENTER  +

Top center.

+
MW_CC708_ANCHORPOINT_TOP_RIGHT  +

Top right.

+
MW_CC708_ANCHORPOINT_MIDDLE_LEFT  +

Middle left.

+
MW_CC708_ANCHORPOINT_MIDDLE_CENTER  +

Middle center.

+
MW_CC708_ANCHORPOINT_MIDDLE_RIGHT  +

Middle right.

+
MW_CC708_ANCHORPOINT_BOTTOM_LEFT  +

Bottom left.

+
MW_CC708_ANCHORPOINT_BOTTOM_CENTER  +

Bottom center.

+
MW_CC708_ANCHORPOINT_BOTTOM_RIGHT  +

Bottom right.

+
+ +
+
+ +
+
+ + + + +
enum _cea_pen_attrib_edgetype
+
+ +

Edge type of CC708 pen.

+ + + + + + + +
Enumerator
MW_CC708_PET_NONE  +

None.

+
MW_CC708_PET_RAISED  +

Embossed.

+
MW_CC708_PET_DEPRESSED  +

Engrave.

+
MW_CC708_PET_UNIFORM  +

Uniform edge.

+
MW_CC708_PET_LEFT_DROP_SHADOW  +

Left drop shadow.

+
MW_CC708_PET_RIGHT_DROP_SHADOW  +

Right drop shadow.

+
+ +
+
+ +
+
+ + + + +
enum _cea_pen_attrib_offset
+
+ +

CC708 text position.

+ + + + +
Enumerator
MW_CC708_POF_SUBSCRIPT  +

Subscript.

+
MW_CC708_POF_NORMAL  +

Regular.

+
MW_CC708_POF_SUPERSCRIPT  +

Superscript.

+
+ +
+
+ +
+
+ + + + +
enum _cea_pen_attrib_size
+
+ +

CC708 pen size.

+ + + + +
Enumerator
MW_CC708_PENSIZE_SMALL  +

Small.

+
MW_CC708_PENSIZE_STANDARD  +

Standard.

+
MW_CC708_PENSIZE_LARGE  +

Large.

+
+ +
+
+ +
+
+ + + + +
enum _color_format
+
+ +

Color formats.

+ + + + + +
Enumerator
MW_RGBA  +

RGBA.

+
MW_BGRA  +

BGRA.

+
MW_ARGB  +

ARGB.

+
MW_ABGR  +

ABGR.

+
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__macro.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__macro.html new file mode 100644 index 00000000..34d40414 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__macro.html @@ -0,0 +1,105 @@ + + + + + + + + + Closed Caption Macros - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Closed Caption Macros
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define CC608_ROWS   15
 CC608 number of lines.
 
+#define CC608_COLUMNS   32
 CC608 number of columns.
 
+#define CC608_CHANNELS   4
 CC608 number of channels.
 
+#define MAX_708_PACKET_LENGTH   128
 Max length of CC708.
 
+#define CCX_DECODERS_708_MAX_SERVICES   63
 Mac services of CC708.
 
+#define I708_MAX_ROWS   15
 Max lines of CC708.
 
+#define I708_MAX_COLUMNS   42
 Max columns of CC708.
 
+#define I708_MAX_COLUMNS_2   32
 Max columns of CC708.
 
+#define I708_SCREENGRID_ROWS   75
 Lines of CC708.
 
+#define I708_SCREENGRID_COLUMNS   210
 Columns of CC708.
 
+#define I708_MAX_WINDOWS   8
 Max lines of CC708.
 
+

Detailed Description

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__struct.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__struct.html new file mode 100644 index 00000000..e430cea2 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__cc__variables__struct.html @@ -0,0 +1,176 @@ + + + + + + + + + Closed Caption Structure - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Closed Caption Structure
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

struct  _cc608_attributes
 mw_cc608_attributes_t cc608 font attribution More...
 
struct  _cc608_char_cell
 mw_cc608_char_cell_t cc608 character More...
 
struct  _cc608_row
 mw_cc608_row_t cc608 row More...
 
struct  _cc608_buffer
 mw_cc608_buffer_t cc608 single channel character More...
 
struct  _cc608_memory
 mw_cc608_memory_t all cc608 channel characters More...
 
struct  _cc608_active_channel
 mw_cc608_active_channel_t cc608 current active channel More...
 
struct  _cc608_decoder
 mw_cc608_decoder_t cc608 resolution structure More...
 
struct  _cea708_time_code
 mw_cea708_time_code_t CC708 time code More...
 
struct  _cc708_cell
 mw_cc708_cell_t cc708 character unit More...
 
struct  _cc708_pen_color
 mw_cc708_pen_color_t cc708 pen color More...
 
struct  _cc708_pen_attrib
 mw_cc708_pen_attrib_t cc708 pen property More...
 
struct  _cc708_window_attrib
 Property of mw_cc708_window_attrib_t Attribution of the cc708 captions window. More...
 
struct  _cc708_window
 mw_cc708_window_t cc708 captions window More...
 
struct  _cc708_tv_window_screen
 mw_cc708_tv_window_screen_t display of closed captions More...
 
struct  _cc708_service_decoder
 mw_cc708_service_decoder_t cc708 service decoder More...
 
struct  _cc708_service_all_decoders
 _cc708_service_all_decoders All cc708 service decoders More...
 
struct  _cc708_decoder
 _cc708_decoder cc708 decoder More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef struct _cc608_attributes mw_cc608_attributes_t
 mw_cc608_attributes_t cc608 font attribution
 
+typedef struct _cc608_char_cell mw_cc608_char_cell_t
 mw_cc608_char_cell_t cc608 character
 
+typedef struct _cc608_row mw_cc608_row_t
 mw_cc608_row_t cc608 row
 
+typedef struct _cc608_buffer mw_cc608_buffer_t
 mw_cc608_buffer_t cc608 single channel character
 
+typedef struct _cc608_memory mw_cc608_memory_t
 mw_cc608_memory_t all cc608 channel characters
 
+typedef struct _cc608_active_channel mw_cc608_active_channel_t
 mw_cc608_active_channel_t cc608 current active channel
 
+typedef struct _cc608_decoder mw_cc608_decoder_t
 mw_cc608_decoder_t cc608 resolution structure
 
+typedef struct _cea708_time_code mw_cea708_time_code_t
 mw_cea708_time_code_t CC708 time code
 
+typedef struct _cc708_cell mw_cc708_cell_t
 mw_cc708_cell_t cc708 character unit
 
+typedef struct _cc708_pen_color mw_cc708_pen_color_t
 mw_cc708_pen_color_t cc708 pen color
 
+typedef struct _cc708_pen_attrib mw_cc708_pen_attrib_t
 mw_cc708_pen_attrib_t cc708 pen property
 
+typedef struct _cc708_window_attrib mw_cc708_window_attrib_t
 Property of mw_cc708_window_attrib_t Attribution of the cc708 captions window.
 
+typedef struct _cc708_window mw_cc708_window_t
 mw_cc708_window_t cc708 captions window
 
+typedef struct _cc708_tv_window_screen mw_cc708_tv_window_screen_t
 mw_cc708_tv_window_screen_t display of closed captions
 
+typedef struct _cc708_service_decoder mw_cc708_service_decoder_t
 mw_cc708_service_decoder_t cc708 service decoder
 
+

Detailed Description

+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__fourcc.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__fourcc.html new file mode 100644 index 00000000..ad820bfd --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__fourcc.html @@ -0,0 +1,1558 @@ + + + + + + + + + Color Formats - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Color Formats
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define MWFOURCC_UNK   MWFOURCC('U', 'N', 'K', 'N')
 Unknown color formate. More...
 
#define MWFOURCC_GREY   MWFOURCC('G', 'R', 'E', 'Y')
 8bits Grey More...
 
#define MWFOURCC_Y800   MWFOURCC('Y', '8', '0', '0')
 8bits Grey More...
 
#define MWFOURCC_Y8   MWFOURCC('Y', '8', ' ', ' ')
 8bits Grey More...
 
#define MWFOURCC_Y16   MWFOURCC('Y', '1', '6', ' ')
 16bits Grey More...
 
#define MWFOURCC_RGB15   MWFOURCC('R', 'G', 'B', '5')
 16bits R5G5B5A1 More...
 
#define MWFOURCC_RGB16   MWFOURCC('R', 'G', 'B', '6')
 16bits R5G6B5 More...
 
#define MWFOURCC_RGB24   MWFOURCC('R', 'G', 'B', ' ')
 24bits R8G8B8 More...
 
#define MWFOURCC_RGBA   MWFOURCC('R', 'G', 'B', 'A')
 32bits R8G8B8A8 More...
 
#define MWFOURCC_ARGB   MWFOURCC('A', 'R', 'G', 'B')
 32bits A8R8G8B8 More...
 
#define MWFOURCC_BGR15   MWFOURCC('B', 'G', 'R', '5')
 16bits B5G5R5A1 More...
 
#define MWFOURCC_BGR16   MWFOURCC('B', 'G', 'R', '6')
 16bits B5G6R5 More...
 
#define MWFOURCC_BGR24   MWFOURCC('B', 'G', 'R', ' ')
 24bits B8G8R8 More...
 
#define MWFOURCC_BGRA   MWFOURCC('B', 'G', 'R', 'A')
 32bits B8G8R8A8 More...
 
#define MWFOURCC_ABGR   MWFOURCC('A', 'B', 'G', 'R')
 32bits A8B8G8R8 More...
 
#define MWFOURCC_NV16   MWFOURCC('N', 'V', '1', '6')
 NV16. More...
 
#define MWFOURCC_NV61   MWFOURCC('N', 'V', '6', '1')
 NV61. More...
 
#define MWFOURCC_I422   MWFOURCC('I', '4', '2', '2')
 I422. More...
 
#define MWFOURCC_YV16   MWFOURCC('Y', 'V', '1', '6')
 YV16. More...
 
#define MWFOURCC_YUY2   MWFOURCC('Y', 'U', 'Y', '2')
 YUY2. More...
 
#define MWFOURCC_YUYV   MWFOURCC('Y', 'U', 'Y', 'V')
 YUYV. More...
 
#define MWFOURCC_UYVY   MWFOURCC('U', 'Y', 'V', 'Y')
 UYVY. More...
 
#define MWFOURCC_YVYU   MWFOURCC('Y', 'V', 'Y', 'U')
 YVYU. More...
 
#define MWFOURCC_VYUY   MWFOURCC('V', 'Y', 'U', 'Y')
 VYUY. More...
 
#define MWFOURCC_I420   MWFOURCC('I', '4', '2', '0')
 I420. More...
 
#define MWFOURCC_IYUV   MWFOURCC('I', 'Y', 'U', 'V')
 IYUV. More...
 
#define MWFOURCC_NV12   MWFOURCC('N', 'V', '1', '2')
 NV12. More...
 
#define MWFOURCC_YV12   MWFOURCC('Y', 'V', '1', '2')
 YV12. More...
 
#define MWFOURCC_NV21   MWFOURCC('N', 'V', '2', '1')
 NV21. More...
 
#define MWFOURCC_P010   MWFOURCC('P', '0', '1', '0')
 P010. More...
 
#define MWFOURCC_P210   MWFOURCC('P', '2', '1', '0')
 P210. More...
 
#define MWFOURCC_IYU2   MWFOURCC('I', 'Y', 'U', '2')
 IYU2. More...
 
#define MWFOURCC_V308   MWFOURCC('v', '3', '0', '8')
 V308. More...
 
#define MWFOURCC_AYUV   MWFOURCC('A', 'Y', 'U', 'V')
 AYUV. More...
 
#define MWFOURCC_UYVA   MWFOURCC('U', 'Y', 'V', 'A')
 UYVA. More...
 
#define MWFOURCC_V408   MWFOURCC('v', '4', '0', '8')
 V408. More...
 
#define MWFOURCC_VYUA   MWFOURCC('V', 'Y', 'U', 'A')
 VYUA. More...
 
#define MWFOURCC_V210   MWFOURCC('v', '2', '1', '0')
 
#define MWFOURCC_Y410   MWFOURCC('Y', '4', '1', '0')
 Y410. More...
 
#define MWFOURCC_V410   MWFOURCC('v', '4', '1', '0')
 V410. More...
 
#define MWFOURCC_RGB10   MWFOURCC('R', 'G', '1', '0')
 RGB10. More...
 
#define MWFOURCC_BGR10   MWFOURCC('B', 'G', '1', '0')
 BGR10. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

BOOLEAN FOURCC_IsRGB (DWORD dwFOURCC)
 Determines whether the color format is RGB. More...
 
BOOLEAN FOURCC_IsPacked (DWORD dwFOURCC)
 Determines whether the color format is packed. More...
 
int FOURCC_GetBpp (DWORD dwFOURCC)
 Gets the bits that pixel of color format takes. More...
 
DWORD FOURCC_CalcMinStride (DWORD dwFOURCC, int cx, DWORD dwAlign)
 Counts the number of bytes that a line data of image takes, depending on the width of image and the color format. More...
 
DWORD FOURCC_CalcImageSize (DWORD dwFOURCC, int cx, int cy, DWORD cbStride)
 Counts the number of bytes that a frame takes, depending on the color format, resolution and the line width. More...
 
BOOLEAN FOURCC_IsMask (const DWORD *pdwMasks, DWORD dwRedMask, DWORD dwGreenMask, DWORD dwBlueMask)
 Determins whether the mask is the same as specified color format. More...
 
DWORD FOURCC_GetFromBitmapHeader (DWORD biCompression, WORD biBitCount, DWORD *pdwMasks)
 Gets color format from the bitmap header. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + +
#define MWFOURCC_ABGR   MWFOURCC('A', 'B', 'G', 'R')
+
+ +

32bits A8B8G8R8

+

32bits A8B8G8R8
+4 bytes per pixel, A takes 8bits, B takes 8bits, G takes 8bits, R takes 8bits
+Data structure:
+ [A8, B8, G8, R8],[A8, B8, G8, R8] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_ARGB   MWFOURCC('A', 'R', 'G', 'B')
+
+ +

32bits A8R8G8B8

+

32bits A8R8G8B8
+4 bytes per pixel, R takes 8bits, G takes 8bits, B takes 8bits, A takes 8bits
+Data structure:
+ [A8, R8, G8, B8],[A8, R8, G8, B8] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_AYUV   MWFOURCC('A', 'Y', 'U', 'V')
+
+ +

AYUV.

+

Packed YUV 8bits 4:4:4 (32bits)
+A single pixel takes 4 bytes.
+Data structure:
+ [A00 Y00 U00 V00][A01 Y01 U01 V01][A02 Y02 U02 V02][A03 Y03 U03 V03] ...
+ [A10 Y10 U10 V10][A11 Y11 U11 V11][A12 Y12 U12 V12][A13 Y13 U13 V13] ...
+ [A20 Y20 U20 V20][A21 Y21 U21 V21][A22 Y22 U22 V22][A23 Y23 U23 V23] ...
+ [A30 Y30 U30 V30][A31 Y31 U31 V31][A32 Y32 U32 V32][A33 Y33 U33 V33] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_BGR10   MWFOURCC('B', 'G', '1', '0')
+
+ +

BGR10.

+

Packed BGR 10bits (32bits B10G10R10A2)
+A single pixel takes 4 bytes.
+Data structure:
+ [B00 G00 R00 A00 (B10G10R10A2)][B01 G01 R01 A01 (B10G10R10A2)][B02 G02 R02 A02 (B10G10R10A2)][B03 G03 R03 A03 (B10G10R10A2)] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_BGR15   MWFOURCC('B', 'G', 'R', '5')
+
+ +

16bits B5G5R5A1

+

16bits B5G5R5A1
+2 bytes per pixel, B takes 5bits, G takes 5bits, R takes 5bits, A takes 1bits
+Data structure:
+ [B5, G5, R5, A1],[B5, G5, R5, A1] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_BGR16   MWFOURCC('B', 'G', 'R', '6')
+
+ +

16bits B5G6R5

+

16bits B5G6R5
+2 bytes per pixel, B takes 5bits, G takes 6bits, R takes 5bits
+Data structure:
+ [B5, G6, R5],[B5, G6, R5] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_BGR24   MWFOURCC('B', 'G', 'R', ' ')
+
+ +

24bits B8G8R8

+

24bits B8G8R8
+3 bytes per pixel, B takes 8bits, G takes 8bits, R takes 8bits
+Data structure:
+ [B8, G8, R8],[B8, G8, R8] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_BGRA   MWFOURCC('B', 'G', 'R', 'A')
+
+ +

32bits B8G8R8A8

+

32bits B8G8R8A8
+4 bytes per pixel, B takes 8bits, G takes 8bits, R takes 8bits, A takes 8bits
+Data structure:
+ [B8, G8, R8, A8],[B8, G8, R8, A8] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_GREY   MWFOURCC('G', 'R', 'E', 'Y')
+
+ +

8bits Grey

+

8bits Grey
+1 byte per pixel
+Data structure:
+ [Y0], [Y1], [Y2], ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_I420   MWFOURCC('I', '4', '2', '0')
+
+ +

I420.

+

YUV 8bits 4:2:0 planar (12bits)
+A single pixel of the image takes 12bits.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [U00][U01] ...
+ [U10][U11] ...
+ ...
+ [V00][V01] ...
+ [V10][V11] ...
+ ...
+Converts to YUV data as: [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ [Y10 U00 V00][Y11 U00 V00][Y12 U01 V01][Y13 U01 V01] ...
+ [Y20 U10 V10][Y21 U10 V10][Y22 U11 V11][Y23 U11 V11] ...
+ [Y30 U10 V10][Y31 U10 V10][Y32 U11 V11][Y33 U11 V11] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_I422   MWFOURCC('I', '4', '2', '2')
+
+ +

I422.

+

YUV 8bits 4:2:2 plannar (16bits)
+2 byte per pixel. All Y/U/V data is in one plane respectively.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [U00][U01] ...
+ [U10][U11] ...
+ [U20][U21] ...
+ [U30][U31] ...
+ ...
+ [V00][V01] ...
+ [V10][V11] ...
+ [V20][V21] ...
+ [V30][V31] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_IYU2   MWFOURCC('I', 'Y', 'U', '2')
+
+ +

IYU2.

+

Packed YUV 8bits 4:4:4 (24bits)
+A single pixel takes 3 bytes.
+Data structure:
+ [U00 Y00 V00][U01 Y01 V01][U02 Y02 V02][U03 Y03 V03] ...
+ [U10 Y10 V10][U11 Y11 V11][U12 Y12 V12][U13 Y13 V13] ...
+ [U20 Y20 V20][U21 Y21 V21][U22 Y22 V22][U23 Y23 V23] ...
+ [U30 Y30 V30][U31 Y31 V31][U32 Y32 V32][U33 Y33 V33] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_IYUV   MWFOURCC('I', 'Y', 'U', 'V')
+
+ +

IYUV.

+

YUV 8bits 4:2:0 planar (12bits); the same as MWFOURCC_I420
+A single pixel of the image takes 12bits.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [U00][U01] ...
+ [U10][U11] ...
+ ...
+ [V00][V01] ...
+ [V10][V11] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ [Y10 U00 V00][Y11 U00 V00][Y12 U01 V01][Y13 U01 V01] ...
+ [Y20 U10 V10][Y21 U10 V10][Y22 U11 V11][Y23 U11 V11] ...
+ [Y30 U10 V10][Y31 U10 V10][Y32 U11 V11][Y33 U11 V11] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_NV12   MWFOURCC('N', 'V', '1', '2')
+
+ +

NV12.

+

YUV 8bits 4:2:0 semi-planar (12bits)
+A single pixel of the image takes 12bits.
+All Y data is in one plane, all UV data is in one plane.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [U00 V00][U01 V01] ...
+ [U10 V10][U11 V11] ...
+ ...
+Converts to YUV data as: [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ [Y10 U00 V00][Y11 U00 V00][Y12 U01 V01][Y13 U01 V01] ...
+ [Y20 U10 V10][Y21 U10 V10][Y22 U11 V11][Y23 U11 V11] ...
+ [Y30 U10 V10][Y31 U10 V10][Y32 U11 V11][Y33 U11 V11] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_NV16   MWFOURCC('N', 'V', '1', '6')
+
+ +

NV16.

+

YUV 8bits 4:2:2 semi-planar(16bits)
+2 byte per pixel, all Y data in one plane, all UV data in one plane
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [U00 V00][U01 V01] ...
+ [U10 V10][U11 V11] ...
+ [U20 V20][U21 V21] ...
+ [U30 V30][U31 V31] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_NV21   MWFOURCC('N', 'V', '2', '1')
+
+ +

NV21.

+

YUV 8bits 4:2:0 semi-planar (12bits)
+A single pixel of the image takes 12bits.
+All Y data is in one plane, all UV data is in one plane.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [V00 U00][V01 U01] ...
+ [V10 U10][V11 U11] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ [Y10 U00 V00][Y11 U00 V00][Y12 U01 V01][Y13 U01 V01] ...
+ [Y20 U10 V10][Y21 U10 V10][Y22 U11 V11][Y23 U11 V11] ...
+ [Y30 U10 V10][Y31 U10 V10][Y32 U11 V11][Y33 U11 V11] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_NV61   MWFOURCC('N', 'V', '6', '1')
+
+ +

NV61.

+

YUV 8bits 4:2:2 semi-planar (16bits)
+2 byte per pixel, all Y data in one plane, all UV data in one plane
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [V00 U00][V01 U01] ...
+ [V10 U10][V11 U11] ...
+ [V20 U20][V21 U21] ...
+ [V30 U30][V31 U31] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_P010   MWFOURCC('P', '0', '1', '0')
+
+ +

P010.

+

YUV 10bits 4:2:0 semi-planar(24bits)
+A single pixel takes 3 bytes.
+All Y data is in one plane, all UV data is in one plane.
+Data structure:
+ [Y00(Y10bits)][Y01(Y10bits)][Y02(Y10bits)][Y03(Y10bits)] ...
+ [Y10(Y10bits)][Y11(Y10bits)][Y12(Y10bits)][Y13(Y10bits)] ...
+ [Y20(Y10bits)][Y21(Y10bits)][Y22(Y10bits)][Y23(Y10bits)] ...
+ [Y30(Y10bits)][Y31(Y10bits)][Y32(Y10bits)][Y33(Y10bits)] ...
+ ...
+ [U00(U10bits) V00(V10bits)][U01(U10bits) V01(V10bits)] ...
+ [U10(U10bits) V10(V10bits)][U11(U10bits) V11(V10bits)] ...
+ ...
+Converts to YUV data as:
+ [Y00(Y10bits) U00(U10bits) V00(V10bits)][Y01(Y10bits) U00(U10bits) V00(V10bits)][Y02(Y10bits) U01(U10bits) V01(V10bits)][Y03(Y10bits) U01(U10bits) V01(V10bits)] ...
+ [Y10(Y10bits) U00(U10bits) V00(V10bits)][Y11(Y10bits) U00(U10bits) V00(V10bits)][Y12(Y10bits) U01(U10bits) V01(V10bits)][Y13(Y10bits) U01(U10bits) V01(V10bits)] ...
+ [Y20(Y10bits) U10(U10bits) V10(V10bits)][Y21(Y10bits) U10(U10bits) V10(V10bits)][Y22(Y10bits) U11(U10bits) V11(V10bits)][Y23(Y10bits) U11(U10bits) V11(V10bits)] ...
+ [Y30(Y10bits) U10(U10bits) V10(V10bits)][Y31(Y10bits) U10(U10bits) V10(V10bits)][Y32(Y10bits) U11(U10bits) V11(V10bits)][Y33(Y10bits) U11(U10bits) V11(V10bits)] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_P210   MWFOURCC('P', '2', '1', '0')
+
+ +

P210.

+

YUV 10bits 4:2:2 semi-planar (32bits)
+A single pixel takes 4 bytes.
+All Y data is in one plane, all UV data is in one plane.
+Data structure:
+ [Y00(Y10bits)][Y01(Y10bits)][Y02(Y10bits)][Y03(Y10bits)] ...
+ [Y10(Y10bits)][Y11(Y10bits)][Y12(Y10bits)][Y13(Y10bits)] ...
+ [Y20(Y10bits)][Y21(Y10bits)][Y22(Y10bits)][Y23(Y10bits)] ...
+ [Y30(Y10bits)][Y31(Y10bits)][Y32(Y10bits)][Y33(Y10bits)] ...
+ ...
+ [U00(U10bits) V00(V10bits)][U01(U10bits) V01(V10bits)] ...
+ [U10(U10bits) V10(V10bits)][U11(U10bits) V11(V10bits)] ...
+ [U20(U10bits) V20(V10bits)][U21(U10bits) V21(V10bits)] ...
+ [U30(U10bits) V30(V10bits)][U31(U10bits) V31(V10bits)] ...
+ ...
+Converts to YUV data as:
+ [Y00(Y10bits) U00(U10bits) V00(V10bits)][Y01(Y10bits) U00(U10bits) V00(V10bits)][Y02(Y10bits) U01(U10bits) V01(V10bits)][Y03(Y10bits) U01(U10bits) V01(V10bits)] ...
+ [Y10(Y10bits) U10(U10bits) V10(V10bits)][Y11(Y10bits) U10(U10bits) V10(V10bits)][Y12(Y10bits) U11(U10bits) V11(V10bits)][Y13(Y10bits) U11(U10bits) V11(V10bits)] ...
+ [Y20(Y10bits) U20(U10bits) V20(V10bits)][Y21(Y10bits) U20(U10bits) V20(V10bits)][Y22(Y10bits) U21(U10bits) V21(V10bits)][Y23(Y10bits) U21(U10bits) V21(V10bits)] ...
+ [Y30(Y10bits) U30(U10bits) V30(V10bits)][Y31(Y10bits) U30(U10bits) V30(V10bits)][Y32(Y10bits) U31(U10bits) V31(V10bits)][Y33(Y10bits) U31(U10bits) V31(V10bits)] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_RGB10   MWFOURCC('R', 'G', '1', '0')
+
+ +

RGB10.

+

Packed RGB 10bits (32bits R10G10B10A2)
+A single pixel takes 4 bytes.
+Data structure:
+ [R00 G00 B00 A00 (R10G10B10A2)][R01 G01 B01 A01 (R10G10B10A2)][R02 G02 B02 A02 (R10G10B10A2)][R03 G03 B03 A03 (R10G10B10A2)] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_RGB15   MWFOURCC('R', 'G', 'B', '5')
+
+ +

16bits R5G5B5A1

+

16bits R5G5B5A1
+2 bytes per pixel, R takes 5bits, G takes 5bits, B takes 5bits, A takes 1bit
+Data structure:
+ [R5, G5, B5, A1], ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_RGB16   MWFOURCC('R', 'G', 'B', '6')
+
+ +

16bits R5G6B5

+

16bits R5G6B5
+2 bytes per pixel, R takes 5bits, G takes 5bits, B takes 5bits, A takes 1bit
+Data structure:
+ [R5, G6, B5],[R5, G6, B5] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_RGB24   MWFOURCC('R', 'G', 'B', ' ')
+
+ +

24bits R8G8B8

+

24bits R8G8B8
+3 bytes per pixel, R takes 8bits, G takes 8bits, B takes 8bits
+Data structure:
+ [R8, G8, B8],[R8, G8, B8] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_RGBA   MWFOURCC('R', 'G', 'B', 'A')
+
+ +

32bits R8G8B8A8

+

32bits R8G8B8A8
+4 bytes per pixel, R takes 8bits, G takes 8bits, B takes 8bits, A takes 8bits
+Data structure:
+ [R8, G8, B8, A8],[R8, G8, B8, A8] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_UNK   MWFOURCC('U', 'N', 'K', 'N')
+
+ +

Unknown color formate.

+

Unknown color formate
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_UYVA   MWFOURCC('U', 'Y', 'V', 'A')
+
+ +

UYVA.

+

Packed YUV 8bits 4:4:4 (32bits)
+A single pixel takes 4 bytes.
+Data structure:
+ [U00 Y00 V00 A00][U01 Y01 V01 A01][U02 Y02 V02 A02][U03 Y03 V03 A03] ...
+ [U10 Y10 V10 A10][U11 Y11 V11 A11][U12 Y12 V12 A12][U13 Y13 V13 A13] ...
+ [U20 Y20 V20 A20][U21 Y21 V21 A21][U22 Y22 V22 A22][U23 Y23 V23 A23] ...
+ [U30 Y30 V30 A30][U31 Y31 V31 A31][U32 Y32 V32 A32][U33 Y33 V33 A33] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_UYVY   MWFOURCC('U', 'Y', 'V', 'Y')
+
+ +

UYVY.

+

Packed YUV 8bits 4:2:2 (16bits)
+2 byte per pixel. 2 pixels as a base unit.
+Data structure:
+ {[U00 Y00][V01 Y01]} {[U02 Y02][V03 Y03]} ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V01][Y01 U00 V01][Y02 U02 V03][Y03 U02 V03] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_V210   MWFOURCC('v', '2', '1', '0')
+
+

V210

+

Packed YUV 10bit 4:2:2 (24bits)
+2 byte per pixel
+Data structure is:
+ [2'b00 V00 Y00 U00][2'b00 Y02 U01 Y01][2'b00 U02 Y03 V01][2'b00 Y05 V02 Y04] ...
+ [2'b00 V10 Y10 U10][2'b00 Y12 U11 Y11][2'b00 U12 Y13 V11][2'b00 Y15 V12 Y14] ...
+ [2'b00 V20 Y20 U20][2'b00 Y22 U21 Y21][2'b00 U22 Y23 V21][2'b00 Y25 V22 Y24] ...
+ [2'b00 V30 Y30 U30][2'b00 Y32 U31 Y31][2'b00 U32 Y33 V31][2'b00 Y35 V32 Y34] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_V308   MWFOURCC('v', '3', '0', '8')
+
+ +

V308.

+

Packed YUV 8bits 4:4:4 (24bits)
+A single pixel takes 3 bytes.
+Data structure:
+ [V00 Y00 U00][V01 Y01 U01][V02 Y02 U02][V03 Y03 U03] ...
+ [V10 Y10 U10][V11 Y11 U11][V12 Y12 U12][V13 Y13 U13] ...
+ [V20 Y20 U20][V21 Y21 U21][V22 Y22 U22][V23 Y23 U23] ...
+ [V30 Y30 U30][V31 Y31 U31][V32 Y32 U32][V33 Y33 U33] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_V408   MWFOURCC('v', '4', '0', '8')
+
+ +

V408.

+

Packed YUV 8bits 4:4:4 (32bits); the same as MWFOURCC_UYVA
+A single pixel takes 4 bytes.
+Data structure:
+ [U00 Y00 V00 A00][U01 Y01 V01 A01][U02 Y02 V02 A02][U03 Y03 V03 A03] ...
+ [U10 Y10 V10 A10][U11 Y11 V11 A11][U12 Y12 V12 A12][U13 Y13 V13 A13] ...
+ [U20 Y20 V20 A20][U21 Y21 V21 A21][U22 Y22 V22 A22][U23 Y23 V23 A23] ...
+ [U30 Y30 V30 A30][U31 Y31 V31 A31][U32 Y32 V32 A32][U33 Y33 V33 A33] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_V410   MWFOURCC('v', '4', '1', '0')
+
+ +

V410.

+

Packed YUV 10bits 4:4:4 (32bits Y10U10V10A2)
+A single pixel takes 4 bytes.
+Data structure:
+ [A00 U00 Y00 V00 (A2U10Y10V10)][A01 U01 Y01 V01 (A2U10Y10V10)][A02 U02 Y02 V02 (A2U10Y10V10)][A03 U03 Y03 V03 (A2U10Y10V10)] ...
+ [A10 U10 Y10 V10 (A2U10Y10V10)][A11 U11 Y11 V11 (A2U10Y10V10)][A12 U12 Y12 V12 (A2U10Y10V10)][A13 U13 Y13 V13 (A2U10Y10V10)] ...
+ [A20 U20 Y20 V20 (A2U10Y10V10)][A21 U21 Y21 V21 (A2U10Y10V10)][A22 U22 Y22 V22 (A2U10Y10V10)][A23 U23 Y23 V23 (A2U10Y10V10)] ...
+ [A30 U30 Y30 V30 (A2U10Y10V10)][A31 U31 Y31 V31 (A2U10Y10V10)][A32 U32 Y32 V32 (A2U10Y10V10)][A33 U33 Y33 V33 (A2U10Y10V10)] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_VYUA   MWFOURCC('V', 'Y', 'U', 'A')
+
+ +

VYUA.

+

Packed YUV 8bits 4:4:4 (32bits)
+A single pixel takes 4 bytes.
+Data structure:
+ [V00 Y00 U00 A00][V01 Y01 U01 A01][V02 Y02 U02 A02][V03 Y03 U03 A03] ...
+ [V10 Y10 U10 A10][V11 Y11 U11 A11][V12 Y12 U12 A12][V13 Y13 U13 A13] ...
+ [V20 Y20 U20 A20][V21 Y21 U21 A21][V22 Y22 U22 A22][V23 Y23 U23 A23] ...
+ [V30 Y30 U30 A30][V31 Y31 U31 A31][V32 Y32 U32 A32][V33 Y33 U33 A33] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_VYUY   MWFOURCC('V', 'Y', 'U', 'Y')
+
+ +

VYUY.

+

Packed YUV 8bits 4:2:2 (16bits)
+2 byte per pixel. 2 pixels as a base unit.
+Data structure:
+ {[V00 Y00][U01 Y01]} {[V02 Y02][U03 Y03]} ...
+ ...
+Converts to YUV data as:
+ [Y00 U01 V00][Y01 U01 V00][Y02 U03 V02][Y03 U03 V02] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_Y16   MWFOURCC('Y', '1', '6', ' ')
+
+ +

16bits Grey

+

16bits Grey
+2 bytes per pixel
+Data structure:
+ [Y0], [Y1], [Y2], ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_Y410   MWFOURCC('Y', '4', '1', '0')
+
+ +

Y410.

+

Packed YUV 10bits 4:4:4 (32bits Y10U10V10A2)
+A single pixel takes 4 bytes.
+Data structure:
+ [U00 Y00 V00 A00 (U10Y10V10A2)][U01 Y01 V01 A01 (U10Y10V10A2)][U02 Y02 V02 A02 (U10Y10V10A2)][U03 Y03 V03 A03 (U10Y10V10A2)] ...
+ [U10 Y10 V10 A10 (U10Y10V10A2)][U11 Y11 V11 A11 (U10Y10V10A2)][U12 Y12 V12 A12 (U10Y10V10A2)][U13 Y13 V13 A13 (U10Y10V10A2)] ...
+ [U20 Y20 V20 A20 (U10Y10V10A2)][U21 Y21 V21 A21 (U10Y10V10A2)][U22 Y22 V22 A22 (U10Y10V10A2)][U23 Y23 V23 A23 (U10Y10V10A2)] ...
+ [U30 Y30 V30 A30 (U10Y10V10A2)][U31 Y31 V31 A31 (U10Y10V10A2)][U32 Y32 V32 A32 (U10Y10V10A2)][U33 Y33 V33 A33 (U10Y10V10A2)] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_Y8   MWFOURCC('Y', '8', ' ', ' ')
+
+ +

8bits Grey

+

8bits Grey; the same as MWFOURCC_GREY
+1 byte per pixel
+Data structure:
+ [Y0], [Y1], [Y2], ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_Y800   MWFOURCC('Y', '8', '0', '0')
+
+ +

8bits Grey

+

8bits Grey; the same as MWFOURCC_GREY
+1 byte per pixel
+Data structure:
+ [Y0], [Y1], [Y2], ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_YUY2   MWFOURCC('Y', 'U', 'Y', '2')
+
+ +

YUY2.

+

Packed YUV 8bits 4:2:2 (16bits)
+2 byte per pixel. 2 pixels as a base unit.
+Data structure:
+ {[Y00 U00][Y01 V01]} {[Y02 U02][Y03 V03]} ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V01][Y01 U00 V01][Y02 U02 V03][Y03 U02 V03] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_YUYV   MWFOURCC('Y', 'U', 'Y', 'V')
+
+ +

YUYV.

+

Packed YUV 8bits 4:2:2 (16bits); the same as MWFOURCC_YUY2
+2 byte per pixel. 2 pixels as a base unit.
+Data structure:
+ {[Y00 U00][Y01 V01]} {[Y02 U02][Y03 V03]} ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V01][Y01 U00 V01][Y02 U02 V03][Y03 U02 V03] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_YV12   MWFOURCC('Y', 'V', '1', '2')
+
+ +

YV12.

+

YUV 8bits 4:2:0 planar (12bits)
+A single pixel of the image takes 12bits.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [V00][V01] ...
+ [V10][V11] ...
+ ...
+ [U00][U01] ...
+ [U10][U11] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ [Y10 U00 V00][Y11 U00 V00][Y12 U01 V01][Y13 U01 V01] ...
+ [Y20 U10 V10][Y21 U10 V10][Y22 U11 V11][Y23 U11 V11] ...
+ [Y30 U10 V10][Y31 U10 V10][Y32 U11 V11][Y33 U11 V11] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_YV16   MWFOURCC('Y', 'V', '1', '6')
+
+ +

YV16.

+

YUV 8bits 4:2:2 plannar (16bits)
+2 byte per pixel. All Y/U/V data is in one plane respectively.
+Data structure:
+ [Y00][Y01][Y02][Y03] ...
+ [Y10][Y11][Y12][Y13] ...
+ [Y20][Y21][Y22][Y23] ...
+ [Y30][Y31][Y32][Y33] ...
+ ...
+ [V00][V01] ...
+ [V10][V11] ...
+ [V20][V21] ...
+ [V30][V31] ...
+ ...
+ [U00][U01] ...
+ [U10][U11] ...
+ [U20][U21] ...
+ [U30][U31] ...
+ ...
+Converts to YUV data as:
+ [Y00 U00 V00][Y01 U00 V00][Y02 U01 V01][Y03 U01 V01] ...
+ ...
+

+ +
+
+ +
+
+ + + + +
#define MWFOURCC_YVYU   MWFOURCC('Y', 'V', 'Y', 'U')
+
+ +

YVYU.

+

Packed YUV 8bits 4:2:2 (16bits)
+2 byte per pixel. 2 pixels as a base unit.
+Data structure:
+ {[Y00 V00][Y01 U01]} {[Y02 V02][Y03 U03]} ...
+ ...
+Converts to YUV data as:
+ [Y00 U01 V00][Y01 U01 V00][Y02 U03 V02][Y03 U03 V02] ...
+ ...
+

+ +
+
+

Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DWORD FOURCC_CalcImageSize (DWORD dwFOURCC,
int cx,
int cy,
DWORD cbStride 
)
+
+inline
+
+ +

Counts the number of bytes that a frame takes, depending on the color format, resolution and the line width.

+
Parameters
+ + + + + +
[in]dwFOURCCColor format
[in]cxImage width
[in]cyImage height
[in]cbStrideThe bytes of line width
+
+
+
Returns
Returns the number of bytes that the image takes.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
DWORD FOURCC_CalcMinStride (DWORD dwFOURCC,
int cx,
DWORD dwAlign 
)
+
+inline
+
+ +

Counts the number of bytes that a line data of image takes, depending on the width of image and the color format.

+
Parameters
+ + + + +
[in]dwFOURCCColor format
[in]cxWidth of a line
[in]dwAlignByte alignment
+
+
+
Returns
Returns the the number of bytes that a line data of image takes.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
int FOURCC_GetBpp (DWORD dwFOURCC)
+
+inline
+
+ +

Gets the bits that pixel of color format takes.

+
Parameters
+ + +
[in]dwFOURCCcolor format
+
+
+
Returns
Returns the bits that pixel of color format takess
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
DWORD FOURCC_GetFromBitmapHeader (DWORD biCompression,
WORD biBitCount,
DWORD * pdwMasks 
)
+
+inline
+
+ +

Gets color format from the bitmap header.

+
Parameters
+ + + + +
[in]biCompressionBitmap compression format
[in]biBitCountColor bit counts
[in]pdwMasksColor mask
+
+
+
Returns
Returns the bitmap color format fits the mask.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BOOLEAN FOURCC_IsMask (const DWORD * pdwMasks,
DWORD dwRedMask,
DWORD dwGreenMask,
DWORD dwBlueMask 
)
+
+inline
+
+ +

Determins whether the mask is the same as specified color format.

+
Parameters
+ + + + + +
[in]pdwMasksColor format mask
[in]dwRedMaskRed mask
[in]dwGreenMaskGreen mask
[in]dwBlueMaskBlue mask
+
+
+
Returns
If the mask is the same as specified color format, it returns TRUE; otherwise, which returns FALSE.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
BOOLEAN FOURCC_IsPacked (DWORD dwFOURCC)
+
+inline
+
+ +

Determines whether the color format is packed.

+
Parameters
+ + +
[in]dwFOURCCcolor format
+
+
+
Returns
If the color format is packed, which returns TRUE; otherwise returns FALSE.
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
BOOLEAN FOURCC_IsRGB (DWORD dwFOURCC)
+
+inline
+
+ +

Determines whether the color format is RGB.

+
Parameters
+ + +
[in]dwFOURCCcolor format
+
+
+
Returns
If the color format is RGB, which returns TRUE; otherwise returns FALSE.
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__callback.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__callback.html new file mode 100644 index 00000000..4d5b3348 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__callback.html @@ -0,0 +1,104 @@ + + + + + + + + + Callback Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Callback Functions
+
+
+ + + + + + + + +

+Typedefs

typedef void(* VIDEO_CAPTURE_CALLBACK) (BYTE *pBuffer, long iBufferLen, void *pParam)
 Callback function of video capture. More...
 
typedef void(* AUDIO_CAPTURE_CALLBACK) (const BYTE *pbFrame, int cbFrame, uint64_t u64TimeStamp, void *pParam)
 Callback function of audio capture. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* AUDIO_CAPTURE_CALLBACK) (const BYTE *pbFrame, int cbFrame, uint64_t u64TimeStamp, void *pParam)
+
+ +

Callback function of audio capture.

+

Gets audio data
+Related functions are:
+ MWCreateAudioCapture
+

+ +
+
+ +
+
+ + + + +
typedef void(* VIDEO_CAPTURE_CALLBACK) (BYTE *pBuffer, long iBufferLen, void *pParam)
+
+ +

Callback function of video capture.

+

Gets video data
+Related functions is:
+ MWCreateVideoCapture
+

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__common.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__common.html new file mode 100644 index 00000000..75da7c93 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__common.html @@ -0,0 +1,3845 @@ + + + + + + + + + Universal Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Universal Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

MW_RESULT LIBMWCAPTURE_API MWGetVersion (BYTE *pbyMaj, BYTE *pbyMin, WORD *pwBuild)
 Gets the version number of SDK. More...
 
BOOL LIBMWCAPTURE_API MWCaptureInitInstance ()
 Initializes the MWCapture interfaces. More...
 
void LIBMWCAPTURE_API MWCaptureExitInstance ()
 Quits instance. More...
 
MW_RESULT LIBMWCAPTURE_API MWRefreshDevice ()
 Refreshes device list. More...
 
int LIBMWCAPTURE_API MWGetChannelCount ()
 Gets the total number of channels. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetChannelInfoByIndex (int nIndex, MWCAP_CHANNEL_INFO *pChannelInfo)
 Gets the channel info by its index. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetFamilyInfoByIndex (int nIndex, LPVOID pFamilyInfo, DWORD dwSize)
 Gets the product family based on the index. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetDevicePath (int nIndex, char *pDevicePath)
 Gets the instance path of capture device based on the index. More...
 
HCHANNEL LIBMWCAPTURE_API MWOpenChannelByPath (const char *pszDevicePath)
 Opens capture channel by device instance path. More...
 
void LIBMWCAPTURE_API MWCloseChannel (HCHANNEL hChannel)
 Closes capture channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetChannelInfo (HCHANNEL hChannel, MWCAP_CHANNEL_INFO *pChannelInfo)
 Gets channel information. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetFamilyInfo (HCHANNEL hChannel, LPVOID pFamilyInfo, DWORD dwSize)
 Gets attributions of product family which the capture device belongs to. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaps (HCHANNEL hChannel, MWCAP_VIDEO_CAPS *pVideoCaps)
 Gets video capture capability of the specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetAudioCaps (HCHANNEL hChannel, MWCAP_AUDIO_CAPS *pAudioCaps)
 Gets audio capture capability of the channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputSourceArray (HCHANNEL hChannel, DWORD *pdwInputSource, DWORD *pdwInputCount)
 Gets the input video signal types supported by the channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetAudioInputSourceArray (HCHANNEL hChannel, DWORD *pdwInputSource, DWORD *pdwInputCount)
 Gets the input audio signal types supported by the channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetInputSourceScan (HCHANNEL hChannel, BOOLEAN *pbScan)
 Gets the scan state of input source. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetInputSourceScan (HCHANNEL hChannel, BOOLEAN bScan)
 Sets the scan state of input source. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetAVInputSourceLink (HCHANNEL hChannel, BOOLEAN *pbLink)
 Gets whether the input audio input source is related to video input source. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetAVInputSourceLink (HCHANNEL hChannel, BOOLEAN bLink)
 Sets whether the input video source is linked to its audio automatically. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputSource (HCHANNEL hChannel, DWORD *pdwSource)
 Gets current video input source of the channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputSource (HCHANNEL hChannel, DWORD dwSource)
 Sets the video input source of the specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetAudioInputSource (HCHANNEL hChannel, DWORD *pdwSource)
 Gets current input audio source of the specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetAudioInputSource (HCHANNEL hChannel, DWORD dwSource)
 Sets current audio input source of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetEDID (HCHANNEL hChannel, BYTE *pbyData, ULONG *pulSize)
 Gets the EDID of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetEDID (HCHANNEL hChannel, BYTE *pbyData, ULONG ulSize)
 Sets EDID of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetInputSpecificStatus (HCHANNEL hChannel, MWCAP_INPUT_SPECIFIC_STATUS *pInputStatus)
 Gets the specific status of input signal. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoSignalStatus (HCHANNEL hChannel, MWCAP_VIDEO_SIGNAL_STATUS *pSignalStatus)
 Gets video signal status of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetAudioSignalStatus (HCHANNEL hChannel, MWCAP_AUDIO_SIGNAL_STATUS *pSignalStatus)
 Gets the audio signal status of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetHDMIInfoFrameValidFlag (HCHANNEL hChannel, DWORD *pdwValidFlag)
 Gets valid flag of HDMI InfoFrame. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetHDMIInfoFramePacket (HCHANNEL hChannel, MWCAP_HDMI_INFOFRAME_ID id, HDMI_INFOFRAME_PACKET *pPacket)
 Gets HDMI InfoFrame data. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputAspectRatio (HCHANNEL hChannel, int nAspectX, int nAspectY)
 Sets aspect ratio of input video source. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputAspectRatio (HCHANNEL hChannel, int *pnAspectX, int *pnAspectY)
 Gets aspect ratio of input video source. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputColorFormat (HCHANNEL hChannel, MWCAP_VIDEO_COLOR_FORMAT colorFormat)
 Sets color format of input video. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputColorFormat (HCHANNEL hChannel, MWCAP_VIDEO_COLOR_FORMAT *pColorFormat)
 Gets color format of input video. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputQuantizationRange (HCHANNEL hChannel, MWCAP_VIDEO_QUANTIZATION_RANGE quantRange)
 Sets quantization range of input video. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputQuantizationRange (HCHANNEL hChannel, MWCAP_VIDEO_QUANTIZATION_RANGE *pQuantRange)
 Gets quantization range of input video. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetLEDMode (HCHANNEL hChannel, DWORD dwMode)
 Sets LED mode. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetFirmwareStorageInfo (HCHANNEL hChannel, MWCAP_FIRMWARE_STORAGE *pFirmwareStorageInfo)
 Gets firmware storage information. More...
 
MW_RESULT LIBMWCAPTURE_API MWEraseFirmwareData (HCHANNEL hChannel, DWORD cbOffset, DWORD cbErase)
 Erases firmware data. More...
 
MW_RESULT LIBMWCAPTURE_API MWReadFirmwareData (HCHANNEL hChannel, DWORD cbOffset, BYTE *pbyData, DWORD cbToRead, DWORD *pcbRead)
 Read firmware data from specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWWriteFirmwareData (HCHANNEL hChannel, DWORD cbOffset, BYTE *pbyData, DWORD cbData)
 Writes firmware data to specified channel. More...
 
HANDLE LIBMWCAPTURE_API MWCreateVideoCapture (HCHANNEL hChannel, int nWidth, int nHeight, int nFourcc, int nFrameDuration, VIDEO_CAPTURE_CALLBACK callback, void *pParam)
 Uses the v4l function to create video capture. More...
 
MW_RESULT LIBMWCAPTURE_API MWDestoryVideoCapture (HANDLE hVideo)
 Stops video capturing. More...
 
HANDLE LIBMWCAPTURE_API MWCreateAudioCapture (HCHANNEL hChannel, MWCAP_AUDIO_CAPTURE_NODE captureNode, DWORD dwSamplesPerSec, WORD wBitsPerSample, WORD wChannels, AUDIO_CAPTURE_CALLBACK callback, void *pParam)
 Create audio capture using the v4l function. More...
 
MW_RESULT LIBMWCAPTURE_API MWDestoryAudioCapture (HANDLE hAudio)
 Stops audio capturing. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetAudioVolume (HCHANNEL hChannel, MWCAP_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
 Gets the volume value of audio capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetAudioVolume (HCHANNEL hChannel, MWCAP_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
 Sets the volume of audio capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoAutoHAlign (HCHANNEL hChannel, BOOLEAN *pbAutoHAlign)
 Gets whether to adjust horizontal alignment of the vga timing automatically. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoAutoHAlign (HCHANNEL hChannel, BOOLEAN bAutoHAlign)
 Sets whether to adjust horizontal alignment of the vga timing automatically. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoSamplingPhase (HCHANNEL hChannel, BYTE *puSamplingPhase)
 Gets the phase of the specified input vga timing. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoSamplingPhase (HCHANNEL hChannel, BYTE puSamplingPhase)
 Sets the phase of the specified input vga timing. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoSamplingPhaseAutoAdjust (HCHANNEL hChannel, BOOLEAN *pbAutoSamplingPhase)
 Gets whether to adjust the phase of the specified input vga timing automatically. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoSamplingPhaseAutoAdjust (HCHANNEL hChannel, BOOLEAN bAutoSamplingPhase)
 Sets whether to automatically adjust the phase of vga timing sampling. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoTiming (HCHANNEL hChannel, MWCAP_VIDEO_TIMING *pTiming)
 Sets the vga timing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetPreferredVideoTimings (HCHANNEL hChannel, MWCAP_VIDEO_TIMING_ARRAY *paTimings)
 Gets the preffered vga timing array of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoTiming (HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING *pCustomTiming)
 Sets the custom vga timing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoTimings (HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
 Gets the custom vga timing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoTimings (HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_TIMING_ARRAY *paCustomTimings)
 Sets the custom vga timing array of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoResolutions (HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
 Gets the custom resolutions in vga timing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoResolutions (HCHANNEL hChannel, MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY *paCustomResolutions)
 Sets the custom resolutions in vga timing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureSetSDIANCType (HCHANNEL hChannel, BYTE byIndex, BOOLEAN bHANC, BOOLEAN bVANC, BYTE byDID, BYTE bySDID)
 Sets the ANC data types to be captured for SDI signal. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureGetSDIANCPacket (HCHANNEL hChannel, MWCAP_SDI_ANC_PACKET *pPacket)
 Captures specified SDI ANC data. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportResolutionMode (HCHANNEL hChannel, MWCAP_VIDEO_RESOLUTION_MODE *pMode, int *pCount)
 Gets resolution mode supported by devices, including MWCAP_VIDEO_RESOLUTION_MODE_LIST when the resolutions are discrete values, and MWCAP_VIDEO_RESOLUTION_MODE_RANGE when the resolutions are continuous values. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportRangeResolution (HCHANNEL hChannel, MWCAP_VIDEO_RESOLUTION_RANGE *pRange)
 Gets resolution range supported by the device, when the return mode of MWGetVideoCaptureSupportResolutionMode is MWCAP_VIDEO_RESOLUTION_MODE_RANGE. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportListResolution (HCHANNEL hChannel, MWCAP_VIDEO_RESOLUTION_LIST *pList)
 Gets resolutions supported by devices when the return mode of MWGetVideoCaptureSupportResolutionMode is MWCAP_VIDEO_RESOLUTION_MODE_LIST. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportColorFormat (HCHANNEL hChannel, DWORD *pColorFourcc, int *nCount)
 Uses v4l2 to get the device supported color spaces. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoProcParamRange (HANDLE hVideo, MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType, long *plParamValueMin, long *plParamValueMax, long *plParamValueDef)
 Gets range of video processing parameters. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoProcParam (HANDLE hVideo, MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType, long *plParamValue)
 Gets current video processing settings. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoProcParam (HANDLE hVideo, MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType, long lParamValue)
 Sets the specified video processing parameters. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetPostReconfig (HCHANNEL hChannel, DWORD dwDelayMS)
 Sends instructions for rereading configurations to delay the execution. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureConnectionFormat (HCHANNEL hChannel, MWCAP_VIDEO_CONNECTION_FORMAT *pConnFormat)
 Gets the connection format of capture pin. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetInputSourceScanState (HCHANNEL hChannel, BOOLEAN *pbInputSourceScanning)
 Gets whether to scan the input signal source of specified channel automatically. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureProcessSettings (HCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *paProcessSettings)
 Gets the video process settings of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoCaptureProcessSettings (HCHANNEL hChannel, MWCAP_VIDEO_PROCESS_SETTINGS *paProcessSettings)
 Sets the video process parameters of specified channel. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + +
void LIBMWCAPTURE_API MWCaptureExitInstance ()
+
+ +

Quits instance.

+

The API is used to quit the current instance. It always used with MWCaptureInitInstance.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureGetSDIANCPacket (HCHANNEL hChannel,
MWCAP_SDI_ANC_PACKETpPacket 
)
+
+ +

Captures specified SDI ANC data.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]pPacketANC data packet
+
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets capture cc data types of SDI signal and get ANC data packet.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCaptureSetSDIANCType(t_channel, 0, FALSE, TRUE, 0x61, 0x01);
6 ...
7 MWCAP_SDI_ANC_PACKET t_packet;
8 MWCaptureGetSDIANCPacket(t_channel,&t_packet);
9 ...
10 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + +
BOOL LIBMWCAPTURE_API MWCaptureInitInstance ()
+
+ +

Initializes the MWCapture interfaces.

+
    +
  • Returns
    A Boolean variable. True if the initialization is successful, otherwise returns False.
    +Mainly uses the API to start a device-monitoring thread.
    +It is recommended to call this api once before using SDK to initialize MWCapture. It works with MWCaptureExitInstance.
  • +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureSetSDIANCType (HCHANNEL hChannel,
BYTE byIndex,
BOOLEAN bHANC,
BOOLEAN bVANC,
BYTE byDID,
BYTE bySDID 
)
+
+ +

Sets the ANC data types to be captured for SDI signal.

+
Parameters
+ + + + + + + +
[in]hChannelThe opened channel handle
[in]byIndexIndex of ANC data types, from 0 to 3.
[in]bHANCWhether it is HANC
[in]bVANCWhether it is VANC
[in]byDIDSMPTE ANC DID
[in]bySDIDSMPTE ANC SDID
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the ANC data types of SDI signal, 4 types at most.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 //DID=0x61 and SDID=0x01 indicate to capture CC data.
6 MWCaptureSetSDIANCType(t_channel, 0, FALSE, TRUE, 0x61, 0x01);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
void LIBMWCAPTURE_API MWCloseChannel (HCHANNEL hChannel)
+
+ +

Closes capture channel.

+
Parameters
+ + +
[in]hChannelThe opened channel handle
+
+
+

Usage:
+Closes the capture channel according to the channel handle of the capture device.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HANDLE LIBMWCAPTURE_API MWCreateAudioCapture (HCHANNEL hChannel,
MWCAP_AUDIO_CAPTURE_NODE captureNode,
DWORD dwSamplesPerSec,
WORD wBitsPerSample,
WORD wChannels,
AUDIO_CAPTURE_CALLBACK callback,
void * pParam 
)
+
+ +

Create audio capture using the v4l function.

+
Parameters
+ + + + + + + + +
[in]hChannelThe opened channel handle
[in]captureNodeAudio capture device type
[in]dwSamplesPerSecSampling rate
[in]wBitsPerSampleDepth
[in]wChannelschannels
[in]callbackThe callback function
[in]pParamThe parameter passed to the callback function
+
+
+
Returns
Returns the HANDLE value. Function return values are as follows. + + + + +
Not null Function call succeeded. The device is ready to start to capture audio.
NULL Function call failed. Failed to start capturing.
+
+

Usage:
+ use v4l2, just support one channel. It is supported by all capture devices.
+

1 static void OnAudioCaptureCallback(const BYTE * pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hAudio=NULL;
12 m_hAudio=MWCreateAudioCapture(t_channel, MWCAP_AUDIO_CAPTURE_NODE_DEFAULT, 48000, 16, 2, OnAudioCaptureCallback, this);
13 ...
14 MWDestoryAudioCapture(m_hAudio);
15 ...
16 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HANDLE LIBMWCAPTURE_API MWCreateVideoCapture (HCHANNEL hChannel,
int nWidth,
int nHeight,
int nFourcc,
int nFrameDuration,
VIDEO_CAPTURE_CALLBACK callback,
void * pParam 
)
+
+ +

Uses the v4l function to create video capture.

+
Parameters
+ + + + + + + + +
[in]hChannelChannel handle opened
[in]nWidthWidth of video capture
[in]nHeightHeight of video capture
[in]nFourccColor format
[in]nFrameDurationFrame rate of video capture
[in]callbackCallback of video capture
[in]pParamThe parameter passed to the callback function
+
+
+
Returns
Returns a HANDLE type handle if succeeded, otherwise returns NULL + + + + +
Not null Function call succeeded. The device is ready to start to capture videos.
NULL Function call failed. Failed to start capturing.
+
+

Usage:
+ Captures videos from the specified channel.
+

1 static void OnVideoCaptureCallback(BYTE *pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hVideo=NULL;
12 m_hVideo= MWCreateVideoCapture(t_channel,1920, 1080, MWFOURCC_YUY2, 166667, OnVideoCaptureCallback, this);
13 ...
14 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWDestoryAudioCapture (HANDLE hAudio)
+
+ +

Stops audio capturing.

+
Parameters
+ + +
[in]hAudioOpened audio capture handle
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Works with MWCreateAudioCapture or MWCreateAudioCaptureWithStdCallBack.
+

1 static void OnAudioCaptureCallback(const BYTE * pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hAudio=NULL;
12 m_hAudio=MWCreateAudioCapture(t_channel, MWCAP_AUDIO_CAPTURE_NODE_DEFAULT, 48000, 16, 2, OnAudioCaptureCallback, this);
13 ...
14 MWDestoryAudioCapture(m_hAudio);
15 ...
16 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWDestoryVideoCapture (HANDLE hVideo)
+
+ +

Stops video capturing.

+
Parameters
+ + +
[in]hVideoThe opened video capture handle
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Stops video capturing. Works with MWCreateVideoCapture or
+MWCreateVideoCaptureWithStdCallBack.
+

1 static void OnVideoCaptureCallback(BYTE *pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hVideo=NULL;
12 m_hVideo= MWCreateVideoCapture(t_channel,1920, 1080, MWFOURCC_YUY2, 166667, OnVideoCaptureCallback, this);
13 ...
14 MWDestoryVideoCapture (m_hVideo);
15 ...
16 MWCloseChannel(t_channel);
17 @encode
18 or \n
19 @code
20 static void __stdcall OnVideoCaptureCallback(BYTE *pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
21 {
22 ...
23 }
24 ...
25 ...
26 char path[128];
27 MWGetDevicePath(k,path);
28 HCHANNEL t_channel=MWOpenChannelByPath(path);
29 ...
30 HANDEL m_hVideo=NULL;
31 m_hVideo= MWCreateVideoCaptureWithStdCallBack(t_channel,1920, 1080, MWFOURCC_YUY2, 166667, OnVideoCaptureCallback, this);
32 ...
33 MWDestoryVideoCapture (m_hVideo);
34 ...
35 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWEraseFirmwareData (HCHANNEL hChannel,
DWORD cbOffset,
DWORD cbErase 
)
+
+ +

Erases firmware data.

+
Parameters
+ + + + +
[in]hChannelThe opened channel handle
[in]cbOffsetThe starting position of the data to erase
[in]cbEraseThe length of the data to erase
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Erases firmware data of specified channel/device. It is not recommended to call this API.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_FIRMWARE_STORAGE t_storage_info;
6 MWGetFirmwareStorageInfo(t_channel,& t_storage_info);
7 ...
8 MWEraseFirmwareData(t_channel, info.cbHeaderOffset, firmware.GetHeadLen());
9 ...
10 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetAudioCaps (HCHANNEL hChannel,
MWCAP_AUDIO_CAPSpAudioCaps 
)
+
+ +

Gets audio capture capability of the channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pAudioCapsA pointer to struct MWCAP_AUDIO_CAPS, which returns audio capture capability of the channel.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_AUDIO_CAPS t_caps;
6 MWGetAudioCaps(t_channel,&t_caps);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetAudioInputSource (HCHANNEL hChannel,
DWORD * pdwSource 
)
+
+ +

Gets current input audio source of the specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pdwSourceReturns current input audio source.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets current input audio of the specified channel. The definition of pdwSource refers to INPUT_TYPE.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwAudioInput = 0;
6 MWGetAudioInputSource(t_channel, &dwAudioInput);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetAudioInputSourceArray (HCHANNEL hChannel,
DWORD * pdwInputSource,
DWORD * pdwInputCount 
)
+
+ +

Gets the input audio signal types supported by the channel.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[out]pdwInputSourceReturns the input audio signal types supported by the channel. When being set to NULL, pdwInputCount returns the number of audio signal types supported by the channel.
[in,out]pdwInputCountAs an input parameter, it indicates the size of array that pdwInputSource points to. As an output parameter, it returns the number of audio signal types supported by the channel.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwAudioInputCount = 0;
6 xr = MWGetAudioInputSourceArray(hChannel, NULL, &dwAudioInputCount);
7 if (xr == MW_SUCCEEDED && dwAudioInputCount > 0) {
8  DWORD* pAudioInput = new DWORD[dwAudioInputCount];
9  xr=MWGetAudioInputSourceArray(hChannel,pAudioInput,&dwAudioInputCount);
10  if (xr == MW_SUCCEEDED) {
11  char szInputName[16] = { 0 };
12  for (DWORD i = 0; i < dwAudioInputCount; i++) {
13  GetAudioInputName(pAudioInput[i], szInputName, 16);
14 ...
15  }
16  }
17  delete[] pAudioInput;
18 }
19 ...
20 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetAudioSignalStatus (HCHANNEL hChannel,
MWCAP_AUDIO_SIGNAL_STATUSpSignalStatus 
)
+
+ +

Gets the audio signal status of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pSignalStatusA pointer to struct MWCAP_AUDIO_SIGNAL_STATUS, which returns the audio signal status.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the audio signal status of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_AUDIO_SIGNAL_STATUS t_audio_status;
6 MWGetAudioSignalStatus(t_channel, &t_audio_status);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetAudioVolume (HCHANNEL hChannel,
MWCAP_AUDIO_NODE audioNode,
MWCAP_AUDIO_VOLUMEpVolume 
)
+
+ +

Gets the volume value of audio capture device.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[in]audioNodeAudio device type
[out]pVolumeReturns the volume of audio capture device
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets volume of audio capture device.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_AUDIO_VOLUME t_volume;
6 MWGetAudioVolume(t_channel, MWCAP_AUDIO_CAPTURE_NODE_DEFAULT, &t_volume);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetAVInputSourceLink (HCHANNEL hChannel,
BOOLEAN * pbLink 
)
+
+ +

Gets whether the input audio input source is related to video input source.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pbLinkReturns whether the audio input source is related to the video input source
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets whether the audio input source is linked to video according to the channel handle. If it is TRUE, audio link video source is enabled by default. Which means when there are multiple input sources, the video input source will automate link its audio. If it returns FALSE, the video input would not match probably, you can use MWSetVideoInputSource and MWSetAudioInputSource to set the related link state.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_b_link;
6 MWGetAVInputSourceLink(t_channel,&t_b_link);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + +
int LIBMWCAPTURE_API MWGetChannelCount ()
+
+ +

Gets the total number of channels.

+
Returns
The total number of channels
+

Usage:
+

1 MWRefreshDevice();
2 int t_n_channel_count=MWGetChannelCount();
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetChannelInfo (HCHANNEL hChannel,
MWCAP_CHANNEL_INFOpChannelInfo 
)
+
+ +

Gets channel information.

+
Parameters
+ + + +
[in]hChannelThe Channel handle
[out]pChannelInfoChannel information
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_CHANNEL_INFO t_info;
6 MWGetChannelInfo(t_channel,&t_info);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetChannelInfoByIndex (int nIndex,
MWCAP_CHANNEL_INFOpChannelInfo 
)
+
+ +

Gets the channel info by its index.

+
Parameters
+ + + +
[in]nIndexChannel index, ranges from 0 to (MWGetChannelCount() - 1).
[out]pChannelInfoChannel infomation
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 MWCAP_CHANNEL_INFO t_info;
2 MWGetChannelInfoByIndex(k,&t_info);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoResolutions (HCHANNEL hChannel,
MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAYpaCustomResolutions 
)
+
+ +

Gets the custom resolutions in vga timing of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]paCustomResolutionsCustom resolution array
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the custom resolutions in vga timing of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY t_resolution;
6 MWGetCustomVideoResolutions(t_channel, &t_resolution);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoTimings (HCHANNEL hChannel,
MWCAP_VIDEO_CUSTOM_TIMING_ARRAYpaCustomTimings 
)
+
+ +

Gets the custom vga timing of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]paCustomTimingsCustom vga timing array
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the custom vga timing of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CUSTOM_TIMING_ARRAY t_timing;
6 MWGetCustomVideoTimings(t_channel, &t_timing);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetDevicePath (int nIndex,
char * pDevicePath 
)
+
+ +

Gets the instance path of capture device based on the index.

+
Parameters
+ + + +
[in]nIndexChannel index, from 0 to (MWGetChannelCount() - 1)
[out]pDevicePathPath of the device
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the instance path of capture device on its index
+

1 char path[128];
2 MWGetDevicePath(k,path);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetEDID (HCHANNEL hChannel,
BYTE * pbyData,
ULONG * pulSize 
)
+
+ +

Gets the EDID of specified channel.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[out]pbyDataReturns EDID
[in,out]pulSizeAs input parameter, it indicates the memory size that pbyData points to. As output parameter, it returns the data length of EDID.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the EDID of specified channel.
+EDID is supplied by HDMI capture device. It is invalid for other capture devices.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 ULONG ulSize = 256;
6 BYTE byData[256];
7 MWGetEDID(t_channel, byData, &ulSize);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetFamilyInfo (HCHANNEL hChannel,
LPVOID pFamilyInfo,
DWORD dwSize 
)
+
+ +

Gets attributions of product family which the capture device belongs to.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[out]pFamilyInfoReturns attributions of product family which the capture device belongs to.
[in]dwSizeThe size of the struct which pFamilyInfo points to.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets attributions of product family which the capture device belongs to, according to its channel handle.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 //Pro:
6 MWCAP_PRO_CAPTURE_INFO t_pro_info;
7 MWGetFamilyInfo(t_channel,&t_pro_info,sizeof(MWCAP_PRO_CAPTURE_INFO));
8 //Eco:
9 MWCAP_ECO_CAPTURE_INFO t_eco_info;
10 MWGetFamilyInfo(t_channel,&t_t_eco_info,sizeof(MWCAP_ECO_CAPTURE_INFO));
11 //USB:
12 MWUSBCAP_CAPTURE_INFO t_usb_info;
13 MWGetFamilyInfo(t_channel,&t_usb_info,sizeof(MWUSBCAP_CAPTURE_INFO));
14 ...
15 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetFamilyInfoByIndex (int nIndex,
LPVOID pFamilyInfo,
DWORD dwSize 
)
+
+ +

Gets the product family based on the index.

+
Parameters
+ + + + +
[in]nIndexChannel index, from 0 to (MWGetChannelCount() - 1)
[out]pFamilyInfoA pointer to the struct of MWCAP_PRO_CAPTURE_INFO, MWCAP_ECO_CAPTURE_INFO or MWUSBCAP_CAPTURE_INFO that returns the product family of your device.
[in]dwSizeThe size of the struct that the pFamilyInfo points to.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the product family of the device based on the index.
+It is supported by the Pro/Eco/USB family.
+Code for Pro capture family:
+

1 MWCAP_PRO_CAPTURE_INFO t_pro_info;
2 MWGetFamilyInfoByIndex(k,&t_pro_info,sizeof(MWCAP_PRO_CAPTURE_INFO));

Code for Eco capture family:
+

1 MWCAP_ECO_CAPTURE_INFO t_eco_info;
2 MWGetFamilyInfoByIndex(k,&t_t_eco_info,sizeof(MWCAP_ECO_CAPTURE_INFO));

Code for USB capture family:
+

1 MWUSBCAP_CAPTURE_INFO t_usb_info;
2 MWGetFamilyInfoByIndex(k,&t_usb_info,sizeof(MWUSBCAP_CAPTURE_INFO));
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetFirmwareStorageInfo (HCHANNEL hChannel,
MWCAP_FIRMWARE_STORAGEpFirmwareStorageInfo 
)
+
+ +

Gets firmware storage information.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[out]pFirmwareStorageInfoA pointer to MWCAP_FIRMWARE_STORAGE, which returns firmware storage information
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets firmware storage information of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_FIRMWARE_STORAGE t_storage_info;
6 MWGetFirmwareStorageInfo(t_channel,& t_storage_info);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetHDMIInfoFramePacket (HCHANNEL hChannel,
MWCAP_HDMI_INFOFRAME_ID id,
HDMI_INFOFRAME_PACKETpPacket 
)
+
+ +

Gets HDMI InfoFrame data.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[in]idHDMI InfoFrame ID
[out]pPacketA pointer to struct HDMI_INFOFRAME_PACKET, which returns HDMI InfoFrame data.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets data of HDMI InfoFrame.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwValidFlag = 0;
6 MWGetHDMIInfoFrameValidFlag(t_channel, &dwValidFlag);
7 HDMI_INFOFRAME_PACKET packet;
8 if (dwValidFlag & MWCAP_HDMI_INFOFRAME_MASK_AVI) {
9  xr= MWGetHDMIInfoFramePacket(t_channel, MWCAP_HDMI_INFOFRAME_ID_AVI, &packet);
10 }
11 else if(dwValidFlag & MWCAP_HDMI_INFOFRAME_MASK_AUDIO){
12  ...
13 }
14 ...
15 ...
16 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetHDMIInfoFrameValidFlag (HCHANNEL hChannel,
DWORD * pdwValidFlag 
)
+
+ +

Gets valid flag of HDMI InfoFrame.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pdwValidFlagReturns valid flag of HDMI InfoFrame
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets valid flag of HDMI InfoFrame. Only supported by HDMI capture devices, other devices are not supported.
+The value of pdwValidFlag refers to MWCAP_HDMI_INFOFRAME_MASK.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwValidFlag = 0;
6 MWGetHDMIInfoFrameValidFlag(t_channel, &dwValidFlag);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetInputSourceScan (HCHANNEL hChannel,
BOOLEAN * pbScan 
)
+
+ +

Gets the scan state of input source.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pbScanThe return value indicates whether it is in scanning. 1 indicates true, AutoScan; 0 indicates false, not Autoscan.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the scan state of input source. That is whether the input source is automatically scanned. If multiple sources are connected, the device will automatically capture the valid one.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_b_scan;
6 MWGetInputSourceScan(t_channel,&t_b_scan);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetInputSourceScanState (HCHANNEL hChannel,
BOOLEAN * pbInputSourceScanning 
)
+
+ +

Gets whether to scan the input signal source of specified channel automatically.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pbInputSourceScanningWhether to scan the input signal resource
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets whether to scan the input signal resources of specified channel automatically.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_b_scan;
6 MWGetInputSourceScanState(t_channel, &t_b_scan);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetInputSpecificStatus (HCHANNEL hChannel,
MWCAP_INPUT_SPECIFIC_STATUSpInputStatus 
)
+
+ +

Gets the specific status of input signal.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pInputStatusA pointer to struct MWCAP_INPUT_SPECIFIC_STATUS, which returns the input signal state.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the detailed state of specified input source.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_INPUT_SPECIFIC_STATUS t_status;
6 MWGetInputSpecificStatus(t_channel, &t_status);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetPreferredVideoTimings (HCHANNEL hChannel,
MWCAP_VIDEO_TIMING_ARRAYpaTimings 
)
+
+ +

Gets the preffered vga timing array of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]paTimingsTiming array
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the preffered vga timing array of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_TIMING_ARRAY t_array;
6 MWGetPreferredVideoTimings(t_channel, &t_array);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVersion (BYTE * pbyMaj,
BYTE * pbyMin,
WORD * pwBuild 
)
+
+ +

Gets the version number of SDK.

+
Parameters
+ + + + +
[out]pbyMajMajor version number
[out]pbyMinMinor version number
[out]pwBuildBuild version number
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
Note
Always returns MW_SUCCEEDED, but the specified version number would not be filled in if an invalid value is input.
+

Usage:
+Calls the API wherever you need, even before the MWCaptureInitInstance().
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoAutoHAlign (HCHANNEL hChannel,
BOOLEAN * pbAutoHAlign 
)
+
+ +

Gets whether to adjust horizontal alignment of the vga timing automatically.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pbAutoHAlignWhether to adjust horizontal automatically
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets whether to adjust horizontal alignment of the vga timing automatically.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_auto_h=FALSE;
6 MWGetVideoAutoHAlign(t_channel, &t_auto_h);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaps (HCHANNEL hChannel,
MWCAP_VIDEO_CAPSpVideoCaps 
)
+
+ +

Gets video capture capability of the specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pVideoCapsA pointer to struct MWCAP_VIDEO_CAPS, which returns video capture capability of the channel
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CAPS t_caps;
6 MWGetVideoCaps(t_channel,&t_caps);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureConnectionFormat (HCHANNEL hChannel,
MWCAP_VIDEO_CONNECTION_FORMATpConnFormat 
)
+
+ +

Gets the connection format of capture pin.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]paConnectionFormatConnection format
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CONNECTION_FORMAT t_format;
6 MWGetVideoCaptureConnectionFormat(t_channel, &t_format);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureProcessSettings (HCHANNEL hChannel,
MWCAP_VIDEO_PROCESS_SETTINGSpaProcessSettings 
)
+
+ +

Gets the video process settings of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]paProcessSettingsVideo process settings
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the video process parameters of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_PROCESS_SETTINGS t_b_setting;
6 MWGetVideoCaptureProcessSettings(t_channel, &t_b_setting);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportColorFormat (HCHANNEL hChannel,
DWORD * pColorFourcc,
int * nCount 
)
+
+ +

Uses v4l2 to get the device supported color spaces.

+
Parameters
+ + + + +
[in]hChannelThe opened channel handle
[out]pColorFourccReturns the device supported color spaces. For details, see MWFOURCC.h. When being set to NULL, the returned value is the number of device supported color spaces.
[out]nCountThe number of color formats supported by the capture device.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets capture formats supported by devices.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 int t_n_count=0;
6 MWGetVideoCaptureSupportFormat(t_channel,NULL,&t_n_count);
7 if(t_n_count>0){
8  DWORD* t_p_format=new DWORD[t_n_count];
9  MWGetVideoCaptureSupportColorFormat(t_channel,t_p_format,&t_n_count);
10 }
11 ...
12 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportListResolution (HCHANNEL hChannel,
MWCAP_VIDEO_RESOLUTION_LISTpList 
)
+
+ +

Gets resolutions supported by devices when the return mode of MWGetVideoCaptureSupportResolutionMode is MWCAP_VIDEO_RESOLUTION_MODE_LIST.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[out]pListSupported discrete resolution values
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 int t_n_count=0;
6 MWCAP_VIDEO_RESOLUTION_MODE t_mode;
7 MWGetVideoCaptureSupportResolutionMode(t_channel,&t_mode,&t_n_count);
8 if(t_mode == MWCAP_VIDEO_RESOLUTION_MODE_LIST){
9  MWCAP_VIDEO_RESOLUTION_LIST* t_p_list = new MWCAP_VIDEO_RESOLUTION_LIST[t_n_count];
10  MWGetVideoCaptureSupportListResolution(t_channel,t_p_list);
11  ...
12 }
13 ...
14 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportRangeResolution (HCHANNEL hChannel,
MWCAP_VIDEO_RESOLUTION_RANGEpRange 
)
+
+ +

Gets resolution range supported by the device, when the return mode of MWGetVideoCaptureSupportResolutionMode is MWCAP_VIDEO_RESOLUTION_MODE_RANGE.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[out]pRangeSupported resolution range
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 int t_n_count=0;
6 MWCAP_VIDEO_RESOLUTION_MODE t_mode;
7 MWGetVideoCaptureSupportResolutionMode(t_channel,&t_mode,&t_n_count);
8 if(t_mode == MWCAP_VIDEO_RESOLUTION_MODE_RANGE){
9  MWCAP_VIDEO_RESOLUTION_RANGE t_range;
10  MWGetVideoCaptureSupportRangeResolution(hChannel,&t_range);
11  ...
12 }
13 ...
14 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureSupportResolutionMode (HCHANNEL hChannel,
MWCAP_VIDEO_RESOLUTION_MODEpMode,
int * pCount 
)
+
+ +

Gets resolution mode supported by devices, including MWCAP_VIDEO_RESOLUTION_MODE_LIST when the resolutions are discrete values, and MWCAP_VIDEO_RESOLUTION_MODE_RANGE when the resolutions are continuous values.

+
Parameters
+ + + + +
[in]hChannelThe opened channel handle
[out]pModeReturns the device supported resolution mode: MWCAP_VIDEO_RESOLUTION_MODE_LIST, MWCAP_VIDEO_RESOLUTION_MODE_RANGE.
[out]pCountOnly available when the mode is MWCAP_VIDEO_RESOLUTION_MODE_LIST, indicates the device supported number of resolutions.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 int t_n_count=0;
6 MWCAP_VIDEO_RESOLUTION_MODE t_mode;
7 MWGetVideoCaptureSupportResolutionMode(t_channel,&t_mode,&t_n_count);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputAspectRatio (HCHANNEL hChannel,
int * pnAspectX,
int * pnAspectY 
)
+
+ +

Gets aspect ratio of input video source.

+
Parameters
+ + + + +
[in]hChannelThe opened channel handle
[out]pnAspectXThe returned width of aspect ratio
[out]pnAspectYThe returned height of aspect ratio
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets aspect ratio of specified input video source.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 int t_aspect_x = 0;
6 int t_aspect_y = 0;
7 MWGetVideoInputAspectRatio(t_channel, &t_aspect_x, &t_aspect_y);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputColorFormat (HCHANNEL hChannel,
MWCAP_VIDEO_COLOR_FORMATpColorFormat 
)
+
+ +

Gets color format of input video.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[out]pColorFormatA pointer to MWCAP_VIDEO_COLOR_FORMAT, which returns color format value
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets color format of specified input channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_COLOR_FORMAT t_colorformat;
6 MWGetVideoInputColorFormat (t_channel,&t_colorformat);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputQuantizationRange (HCHANNEL hChannel,
MWCAP_VIDEO_QUANTIZATION_RANGEpQuantRange 
)
+
+ +

Gets quantization range of input video.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[out]pQuantRangeA pointer to MWCAP_VIDEO_QUANTIZATION_RANGE, which returns the quantization range value
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets quantization range of specified input channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_QUANTIZATION_RANGE t_quantrange;
6 MWGetVideoInputQuantizationRange(t_channel,&t_quantrange);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputSource (HCHANNEL hChannel,
DWORD * pdwSource 
)
+
+ +

Gets current video input source of the channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pdwSourceReturns current video input source
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets current video input source of the channel.
+The definition of pdwSource refers to MWCAP_VIDEO_INPUT_TYPE.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwVideoInput = 0;
6 MWGetVideoInputSource(t_channel, &dwVideoInput);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoInputSourceArray (HCHANNEL hChannel,
DWORD * pdwInputSource,
DWORD * pdwInputCount 
)
+
+ +

Gets the input video signal types supported by the channel.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[out]pdwInputSourceReturns the input video signal types supported by the channel. When being set to NULL, pdwInputCount returns the number of video signal types supported by the channel.
[in,out]pdwInputCountAs an input parameter, it indicates the size of array that pdwInputSource points to. As an output parameter, it returns the number of video signal types supported by the channel.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1  .
2 char path[128];
3 MWGetDevicePath(k,path);
4 HCHANNEL t_channel=MWOpenChannelByPath(path);
5 ...
6 DWORD dwVideoInputCount = 0;
7 MW_RESULT xr = MWGetVideoInputSourceArray(hChannel, NULL, &dwVideoInputCount);
8 if (xr == MW_SUCCEEDED && dwVideoInputCount > 0) {
9  DWORD* pVideoInput = new DWORD[dwVideoInputCount];
10  xr=MWGetVideoInputSourceArray(hChannel,pVideoInput, &dwVideoInputCount);
11  if (xr == MW_SUCCEEDED) {
12  char szInputName[16] = { 0 };
13  for (DWORD i = 0; i < dwVideoInputCount; i++) {
14  GetVideoInputName(pVideoInput[i], szInputName, 16);
15  printf("[%d] %s\n", i, szInputName);
16  }
17  }
18  delete[] pVideoInput;
19 }
20 ...
21 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoProcParam (HANDLE hVideo,
MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType,
long * plParamValue 
)
+
+ +

Gets current video processing settings.

+
Parameters
+ + + + +
[in]hVideoOpened video capture channel handle
[in]videoProcParamTypeVideo processing parameters, including brightness, contrast, hue, saturation.
[out]plParamValueThe returned default value
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 static void OnVideoCaptureCallback(BYTE *pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hVideo=NULL;
12 m_hVideo= MWCreateVideoCapture(t_channel,1920, 1080, MWFOURCC_YUY2, 166667, OnVideoCaptureCallback, this);
13 ...
14 long t_l_val=0;
15 MWGetVideoProcParam(m_hVideo,MWCAP_VIDEO_PROC_BRIGHTNESS,&t_l_val);
16 ...
17 MWDestoryVideoCapture (m_hVideo);
18 ...
19 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoProcParamRange (HANDLE hVideo,
MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType,
long * plParamValueMin,
long * plParamValueMax,
long * plParamValueDef 
)
+
+ +

Gets range of video processing parameters.

+
Parameters
+ + + + + + +
[in]hVideoThe opened video capture handle
[in]videoProcParamTypeVideo processing parameter type, including brightness, contrast, hue, saturation.
[out]plParamValueMinThe returned minimum value
[out]plParamValueMaxThe returned maximum value
[out]plParamValueDefThe returned default value
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 static void OnVideoCaptureCallback(BYTE *pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hVideo=NULL;
12 m_hVideo= MWCreateVideoCapture(t_channel,1920, 1080, MWFOURCC_YUY2, 166667, OnVideoCaptureCallback, this);
13 ...
14 long t_l_min=0;
15 long t_l_max=0;
16 long t_l_def=0;
17 MWGetVideoProcParamRange(m_hVideo,MWCAP_VIDEO_PROC_BRIGHTNESS,&t_l_min,&t_l_max,&t_l_def);
18 ...
19 MWDestoryVideoCapture (m_hVideo);
20 ...
21 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoSamplingPhase (HCHANNEL hChannel,
BYTE * puSamplingPhase 
)
+
+ +

Gets the phase of the specified input vga timing.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[out]puSamplingPhasePhase
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the phase of the specified input vga timing.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BYTE t_phase=0;
6 MWGetVideoSamplingPhase(t_channel, &t_phase);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoSamplingPhaseAutoAdjust (HCHANNEL hChannel,
BOOLEAN * pbAutoSamplingPhase 
)
+
+ +

Gets whether to adjust the phase of the specified input vga timing automatically.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pbAutoSamplingPhaseReturns whether to automatically adjust the phase of vga timing sampling
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets whether to adjust the phase of the specified vga timing automatically.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_auto=FALSE;
6 MWGetVideoSamplingPhaseAutoAdjust(t_channel, &t_auto);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoSignalStatus (HCHANNEL hChannel,
MWCAP_VIDEO_SIGNAL_STATUSpSignalStatus 
)
+
+ +

Gets video signal status of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pSignalStatusA pointer to struct MWCAP_VIDEO_SIGNAL_STATUS, which returns video signal status.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the video signal status of specified channel.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_SIGNAL_STATUS t_video_status;
6 MWGetVideoSignalStatus(t_channel, &t_video_status);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
HCHANNEL LIBMWCAPTURE_API MWOpenChannelByPath (const char * pszDevicePath)
+
+ +

Opens capture channel by device instance path.

+
Parameters
+ + +
[in]pszDevicePathDevice instance path
+
+
+
Returns
Returns channel handle if the API call succeeded, otherwise returns NULL.
+

Usage:
+Opens capture channel according to device instance path. Gets ready for work.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWReadFirmwareData (HCHANNEL hChannel,
DWORD cbOffset,
BYTE * pbyData,
DWORD cbToRead,
DWORD * pcbRead 
)
+
+ +

Read firmware data from specified channel.

+
Parameters
+ + + + + + +
[in]hChannelThe opened channel handle
[in]cbOffsetThe starting position of the data to read
[out]pbyDataReturns the read data
[in]cbToReadThe data length to read
[out]pcbReadReturns the actual length of the read data
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Reads the firmware data from specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_FIRMWARE_STORAGE t_storage_info;
6 MWGetFirmwareStorageInfo(t_channel,& t_storage_info);
7 ...
8 MWReadFirmwareData(t_channel,info.cbHeaderOffset+sizeof(MW_FIRMWARE_INFO_HEADER), (BYTE*)header.aSectionHeaders, cbSectionHeaders, &cbRead)
9 ...
10 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWRefreshDevice ()
+
+ +

Refreshes device list.

+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Calls the API to refresh device list when the connected devices changed.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetAudioInputSource (HCHANNEL hChannel,
DWORD dwSource 
)
+
+ +

Sets current audio input source of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]dwSourceSets current audio input source
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets current audio input source of specified channel.
+The definition of dwSource refers to INPUT_TYPE.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwAudioInput =INPUT_TYPE(MWCAP_AUDIO_INPUT_TYPE_HDMI, 0);
6 MWSetAudioInputSource(hChannel, dwAudioInput);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetAudioVolume (HCHANNEL hChannel,
MWCAP_AUDIO_NODE audioNode,
MWCAP_AUDIO_VOLUMEpVolume 
)
+
+ +

Sets the volume of audio capture device.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[in]audioNodeAudio device type
[in]pVolumeThe volume of audio capture device
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the volume of audio capture device.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_AUDIO_VOLUME t_volume;
6 MWGetAudioVolume(t_channel, MWCAP_AUDIO_CAPTURE_NODE_DEFAULT, &t_volume);
7 ...
8 for(int i=0;i<MWCAP_MAX_NUM_AUDIO_CHANNEL;i++){
9  t_volume.asVolume[i]=t_volume.sVolumeMax;
10 }
11 MWSetAudioVolume(t_channel, MWCAP_AUDIO_CAPTURE_NODE_DEFAULT, &t_volume);
12 ...
13 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetAVInputSourceLink (HCHANNEL hChannel,
BOOLEAN bLink 
)
+
+ +

Sets whether the input video source is linked to its audio automatically.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]bLinkSets whether the audio input source link the video input source
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets whether the audio input source link the video input source automatically.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_b_link;
6 MWSetAVInputSourceLink(t_channel,t_b_link);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoResolutions (HCHANNEL hChannel,
MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAYpaCustomResolutions 
)
+
+ +

Sets the custom resolutions in vga timing of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]paCustomResolutionsCustom resolution array
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the custom resolutions in vga timing of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CUSTOM_RESOLUTION_ARRAY t_resolution;
6 t_resolution.byNumCustomResolutions=8;
7 for(int i=0;i<8;i++){
8  t_resolution.aCustomResolutions[i].cx=...;
9  t_resolution.aCustomResolutions[i].cy=...;
10 }
11 MWSetCustomVideoResolutions(t_channel, &t_resolution);
12 ...
13 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoTiming (HCHANNEL hChannel,
MWCAP_VIDEO_CUSTOM_TIMINGpCustomTiming 
)
+
+ +

Sets the custom vga timing of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]pCustomTimingCustom timing
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the custom vga timing of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CUSTOM_TIMING t_timing;
6 //set t_timing
7 ...
8 MWSetCustomVideoTiming(t_channel, &t_timing);
9 ...
10 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetCustomVideoTimings (HCHANNEL hChannel,
MWCAP_VIDEO_CUSTOM_TIMING_ARRAYpaCustomTimings 
)
+
+ +

Sets the custom vga timing array of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]paCustomTimingsCustom timings array
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the custom vga timing array of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_CUSTOM_TIMING_ARRAY t_timing;
6 t_timing.byNumCustomTimings=8;
7 for(int i=0;i<8;i++){
8  T_timing.aCustomTimings[i]=...;
9 ...
10 }
11 MWSetCustomVideoTimings(t_channel, &t_timing);
12 ...
13 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetEDID (HCHANNEL hChannel,
BYTE * pbyData,
ULONG ulSize 
)
+
+ +

Sets EDID of specified channel.

+
Parameters
+ + + + +
[in]hChannelChannel handle
[in]pbyDataNew EDID
[in]ulSizeData length of EDID
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+EDID is supplied by HDMI capture device. The API is invalid for other capture devices when being called.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 ULONG ulSize = 256;
6 BYTE byData[256];
7 MWGetEDID(t_channel, byData, &ulSize);
8 ...
9 MWSetEDID(t_channel,byData,ulSize);
10 ...
11 MWCloseChannel(t_channel);

Make sure you are familiar with EDID when you use this API. Otherwise we do not recommend you to use it.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetInputSourceScan (HCHANNEL hChannel,
BOOLEAN bScan 
)
+
+ +

Sets the scan state of input source.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]bScanIndicates the scanned states. 1 indicates true, AutoScan; 0 indicates false, not Autoscans.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets whether to automatically scan the input interface captured channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_b_scan;
6 MWSetInputSourceScan(t_channel,t_b_scan);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetLEDMode (HCHANNEL hChannel,
DWORD dwMode 
)
+
+ +

Sets LED mode.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[in]dwModeLED mode. For details, see MWCAP_LED_MODE.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets LED flash mode of specified channel.
+For detailed information of dwMode value, see MWCAP_LED_MODE.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD t_dw_mode=MWCAP_LED_DBL_BLINK;
6 MWSetLEDMode(t_channel,t_dw_mode);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetPostReconfig (HCHANNEL hChannel,
DWORD dwDelayMS 
)
+
+ +

Sends instructions for rereading configurations to delay the execution.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]dwDelayMSDelay time in milliseconds
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Rereads configurations
+Be cautious when using it.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoAutoHAlign (HCHANNEL hChannel,
BOOLEAN bAutoHAlign 
)
+
+ +

Sets whether to adjust horizontal alignment of the vga timing automatically.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]bAutoHAlignWhether to adjust horizontal alignment of the vga timing automatically
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets whether to adjust horizontal alignment of the vga timing automatically.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_auto_h=FALSE;
6 MWSetVideoAutoHAlign(t_channel, t_auto_h);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoCaptureProcessSettings (HCHANNEL hChannel,
MWCAP_VIDEO_PROCESS_SETTINGSpaProcessSettings 
)
+
+ +

Sets the video process parameters of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]paProcessSettingsVideo process parameters
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the video process parameters of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_PROCESS_SETTINGS t_b_setting;
6 t_b_setting.xx=...;
7 ...
8 ...
9 MWSetVideoCaptureProcessSettings(t_channel, &t_b_setting);
10 ...
11 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputAspectRatio (HCHANNEL hChannel,
int nAspectX,
int nAspectY 
)
+
+ +

Sets aspect ratio of input video source.

+
Parameters
+ + + + +
[in]hChannelThe opened channel handle
[in]nAspectXwidth
[in]nAspectYHeight
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets aspect ratio of specified input video source. It works with the other video processing parameters.

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 int t_aspect_x = 4;
6 int t_aspect_y = 3;
7 MWSetVideoInputAspectRatio(t_channel, t_aspect_x, t_aspect_y);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputColorFormat (HCHANNEL hChannel,
MWCAP_VIDEO_COLOR_FORMAT colorFormat 
)
+
+ +

Sets color format of input video.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[in]colorFormatColor format
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets color format of specified input channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_COLOR_FORMAT t_colorformat;
6 t_colorformat=MWCAP_VIDEO_COLOR_FORMAT_YUV709;
7 MWSetVideoInputColorFormat (t_channel, t_colorformat);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputQuantizationRange (HCHANNEL hChannel,
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange 
)
+
+ +

Sets quantization range of input video.

+
Parameters
+ + + +
[in]hChannelThe opened channel handle
[in]quantRangeQuantization range
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets quantization range of specified input channel
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_QUANTIZATION_RANGE t_quantrange;
6 t_quantrange=MWCAP_VIDEO_QUANTIZATION_LIMITED
7 MWSetVideoInputQuantizationRange(t_channel,t_quantrange);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoInputSource (HCHANNEL hChannel,
DWORD dwSource 
)
+
+ +

Sets the video input source of the specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]dwSourceSets current video input source
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the video input source of the specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 DWORD dwVideoInput = 0;
6 dwVideoInput=INPUT_SOURCE(MWCAP_VIDEO_INPUT_TYPE_HDMI, 0);
7 MWSetVideoInputSource(t_channel, &dwVideoInput);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoProcParam (HANDLE hVideo,
MWCAP_VIDEO_PROC_PARAM_TYPE videoProcParamType,
long lParamValue 
)
+
+ +

Sets the specified video processing parameters.

+
Parameters
+ + + + +
[in]hVideoThe opened video channel handle
[in]videoProcParamTypeVideo processing parameter type, including brightness, contrast, hue, saturation.
[in]lParamValueThe set value, which should be within the range of parameters.
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 static void OnVideoCaptureCallback(BYTE *pbFrame, int cbFrame, UINT64 u64TimeStamp, void* pParam)
2 {
3 ...
4 }
5 ...
6 ...
7 char path[128];
8 MWGetDevicePath(k,path);
9 HCHANNEL t_channel=MWOpenChannelByPath(path);
10 ...
11 HANDEL m_hVideo=NULL;
12 m_hVideo= MWCreateVideoCapture(t_channel,1920, 1080, MWFOURCC_YUY2, 166667, OnVideoCaptureCallback, this);
13 ...
14 long t_l_min=0;
15 long t_l_max=0;
16 long t_l_def=0;
17 MWGetVideoProcParamRange(m_hVideo,MWCAP_VIDEO_PROC_BRIGHTNESS,&t_l_min,&t_l_max,&t_l_def);
18 long t_l_val=0;
19 MWGetVideoProcParam(m_hVideo,MWCAP_VIDEO_PROC_BRIGHTNESS,&t_l_val);
20 long t_l_setval = t_l_max;
21 MWSetVideoProcParam(m_hVideo,MWCAP_VIDEO_PROC_BRIGHTNESS,t_l_setval);
22 ...
23 MWDestoryVideoCapture (m_hVideo);
24 ...
25 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoSamplingPhase (HCHANNEL hChannel,
BYTE puSamplingPhase 
)
+
+ +

Sets the phase of the specified input vga timing.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]puSamplingPhasePhase
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the phase of the specified input vga timing.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BYTE t_phase=0;
6 MWSetVideoSamplingPhase(t_channel, t_phase);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoSamplingPhaseAutoAdjust (HCHANNEL hChannel,
BOOLEAN bAutoSamplingPhase 
)
+
+ +

Sets whether to automatically adjust the phase of vga timing sampling.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]bAutoSamplingPhaseWhether to adjust the phase of the specified vga timing automatically
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets whether to automatically adjust the phase of vga timing sampling.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 BOOLEAN t_auto=FALSE;
6 MWSetVideoSamplingPhaseAutoAdjust(t_channel,t_auto);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoTiming (HCHANNEL hChannel,
MWCAP_VIDEO_TIMINGpTiming 
)
+
+ +

Sets the vga timing of specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]pTimingTiming
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the vga timing of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_VIDEO_TIMING_ARRAY t_array;
6 MWGetPreferredVideoTimings(t_channel, &t_array);
7 MWSetVideoTiming(t_channel,t_array.aTimings[0]);
8 ...
9 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWWriteFirmwareData (HCHANNEL hChannel,
DWORD cbOffset,
BYTE * pbyData,
DWORD cbData 
)
+
+ +

Writes firmware data to specified channel.

+
Parameters
+ + + + + +
[in]hChannelThe opened channel handle
[in]cbOffsetThe starting position of the data to write
[in]pbyDataThe data to write
[in]cbDataThe data length to write
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Writes firmware data to specified channel(device). We do not recommend you to call this API.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_FIRMWARE_STORAGE t_storage_info;
6 MWGetFirmwareStorageInfo(t_channel,& t_storage_info);
7 ...
8 MWWriteFirmwareData(t_channel, info.cbHeaderOffset, (BYTE*)firmware.GetHead(), firmware.GetHeadLen())
9 ...
10 MWCloseChannel(t_channel);
+
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__ecocapture.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__ecocapture.html new file mode 100644 index 00000000..c1629817 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__ecocapture.html @@ -0,0 +1,291 @@ + + + + + + + + + Eco Capture Family Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Eco Capture Family Functions
+
+
+ + + + + + + + + + + + + + + + + +

+Functions

MW_RESULT LIBMWCAPTURE_API MWStartVideoEcoCapture (HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_OPEN *pEcoCaptureOpen)
 Starts video capturing for Eco Capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoEcoCaptureSettings (HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_SETTINGS *pSettings)
 Sets capture parameters for Eco capture card. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureSetVideoEcoFrame (HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_FRAME *pFrame)
 Sets storage frames for Eco to capture video frames. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoEcoCaptureStatus (HCHANNEL hChannel, MWCAP_VIDEO_ECO_CAPTURE_STATUS *pStatus)
 Gets status of Eco capture card, gets captured video frames. More...
 
MW_RESULT LIBMWCAPTURE_API MWStopVideoEcoCapture (HCHANNEL hChannel)
 Stops Eco capture. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureSetVideoEcoFrame (HCHANNEL hChannel,
MWCAP_VIDEO_ECO_CAPTURE_FRAMEpFrame 
)
+
+ +

Sets storage frames for Eco to capture video frames.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]pFrameStorage frames of Eco to capture video frame
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+It always works with MWStartVideoEcoCapture.
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoEcoCaptureStatus (HCHANNEL hChannel,
MWCAP_VIDEO_ECO_CAPTURE_STATUSpStatus 
)
+
+ +

Gets status of Eco capture card, gets captured video frames.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]pStatusEco capture status
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+It always works with MWStartVideoEcoCapture
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoEcoCaptureSettings (HCHANNEL hChannel,
MWCAP_VIDEO_ECO_CAPTURE_SETTINGSpSettings 
)
+
+ +

Sets capture parameters for Eco capture card.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]pSettingsEco capture parameters
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3  ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_ECO_CAPTURE_SETTINGS t_setting;
7 t_setting.xx=...;
8 ...
9 MWSetVideoEcoCaptureSettings(hChannel ,& t_setting);
10 ...
11 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWStartVideoEcoCapture (HCHANNEL hChannel,
MWCAP_VIDEO_ECO_CAPTURE_OPENpEcoCaptureOpen 
)
+
+ +

Starts video capturing for Eco Capture device.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]pEcoCaptureOpenEco video capture parameters
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

+ +
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWStopVideoEcoCapture (HCHANNEL hChannel)
+
+ +

Stops Eco capture.

+
Parameters
+ + +
[in]hChannelOpened channel handle
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+It always works with MWStartVideoEcoCapture
+
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__procapture.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__procapture.html new file mode 100644 index 00000000..62c9f7d8 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__procapture.html @@ -0,0 +1,2840 @@ + + + + + + + + + Pro Capture Family Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Pro Capture Family Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

MW_RESULT LIBMWCAPTURE_API MWStartVideoCapture (HCHANNEL hChannel, MWHANDLE hEvent)
 Starts video capture. More...
 
MW_RESULT LIBMWCAPTURE_API MWStopVideoCapture (HCHANNEL hChannel)
 Stops the video capture. More...
 
MW_RESULT LIBMWCAPTURE_API MWPinVideoBuffer (HCHANNEL hChannel, MWCAP_PTR pbFrame, DWORD cbFrame)
 Locks a segment of virtual memory to reduce CPU load when capturing video data to that memory. More...
 
MW_RESULT LIBMWCAPTURE_API MWUnpinVideoBuffer (HCHANNEL hChannel, LPBYTE pbFrame)
 Unlocks a segment of virtual memory. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToVirtualAddress (HCHANNEL hChannel, int iFrame, MWCAP_PTR pbFrame, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy)
 Captures and saves video frames to virtual memory. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToPhysicalAddress (HCHANNEL hChannel, int iFrame, LARGE_INTEGER llFrameAddress, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy)
 Stores captured video frames to physical addresses. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameWithOSDToVirtualAddress (HCHANNEL hChannel, int iFrame, MWCAP_PTR pbFrame, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects)
 Captures video frames to virtual memory, and adds OSD. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameWithOSDToPhysicalAddress (HCHANNEL hChannel, int iFrame, LARGE_INTEGER llFrameAddress, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects)
 Saves the captured video frame to physical memory and adds OSD. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToVirtualAddressEx (HCHANNEL hChannel, int iFrame, LPBYTE pbFrame, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, DWORD dwProcessSwitchs, int cyParitalNotify, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects, SHORT sContrast, SHORT sBrightness, SHORT sSaturation, SHORT sHue, MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode, MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode, const RECT *pRectSrc, const RECT *pRectDest, int nAspectX, int nAspectY, MWCAP_VIDEO_COLOR_FORMAT colorFormat, MWCAP_VIDEO_QUANTIZATION_RANGE quantRange, MWCAP_VIDEO_SATURATION_RANGE satRange)
 Save captured video frames to virtual memory. It is the extended MWCaptureVideoFrameToVirtualAddress. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToPhysicalAddressEx (HCHANNEL hChannel, int iFrame, LARGE_INTEGER llFrameAddress, DWORD cbFrame, DWORD cbStride, BOOLEAN bBottomUp, MWCAP_PTR64 pvContext, DWORD dwFOURCC, int cx, int cy, DWORD dwProcessSwitchs, int cyParitalNotify, HOSD hOSDImage, const RECT *pOSDRects, int cOSDRects, SHORT sContrast, SHORT sBrightness, SHORT sSaturation, SHORT sHue, MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode, MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode, const RECT *pRectSrc, const RECT *pRectDest, int nAspectX, int nAspectY, MWCAP_VIDEO_COLOR_FORMAT colorFormat, MWCAP_VIDEO_QUANTIZATION_RANGE quantRange, MWCAP_VIDEO_SATURATION_RANGE satRange)
 Captures video frames and saves to physical memory. And is the extended version of MWCaptureVideoFrameToPhysicalAddress. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoBufferInfo (HCHANNEL hChannel, MWCAP_VIDEO_BUFFER_INFO *pVideoBufferInfo)
 Gets video bufferring information. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoFrameInfo (HCHANNEL hChannel, BYTE i, MWCAP_VIDEO_FRAME_INFO *pVideoFrameInfo)
 Gets video frame information. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureStatus (HCHANNEL hChannel, MWCAP_VIDEO_CAPTURE_STATUS *pStatus)
 Gets video capture state, and frees up system storage. More...
 
HOSD LIBMWCAPTURE_API MWCreateImage (HCHANNEL hChannel, int cx, int cy)
 Creates OSD image. More...
 
MW_RESULT LIBMWCAPTURE_API MWOpenImage (HCHANNEL hChannel, HOSD hImage, LONG *plRet)
 Opens OSD images. More...
 
MW_RESULT LIBMWCAPTURE_API MWCloseImage (HCHANNEL hChannel, HOSD hImage, LONG *plRet)
 Turns off the OSD image. More...
 
MW_RESULT LIBMWCAPTURE_API MWUploadImageFromVirtualAddress (HCHANNEL hChannel, HOSD hImage, MWCAP_VIDEO_COLOR_FORMAT cfDest, MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest, MWCAP_VIDEO_SATURATION_RANGE satRangeDest, WORD xDest, WORD yDest, WORD cxDest, WORD cyDest, MWCAP_PTR64 pvSrcFrame, DWORD cbSrcFrame, DWORD cbSrcStride, WORD cxSrc, WORD cySrc, BOOLEAN bSrcBottomUp, BOOLEAN bSrcPixelAlpha, BOOLEAN bSrcPixelXBGR)
 Uploads images from virtual memory to capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUploadImageFromPhysicalAddress (HCHANNEL hChannel, HOSD hImage, MWCAP_VIDEO_COLOR_FORMAT cfDest, MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest, MWCAP_VIDEO_SATURATION_RANGE satRangeDest, WORD xDest, WORD yDest, WORD cxDest, WORD cyDest, LARGE_INTEGER llSrcFrameAddress, DWORD cbSrcFrame, DWORD cbSrcStride, WORD cxSrc, WORD cySrc, BOOLEAN bSrcBottomUp, BOOLEAN bSrcPixelAlpha, BOOLEAN bSrcPixelXBGR)
 Uploads an image from physical memory to capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoTimingsCount (HCHANNEL hChannel, DWORD *dwCount)
 Gets number of custom video timings. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoResolutionsCount (HCHANNEL hChannel, DWORD *dwCount)
 Gets number of custom video resolutions. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetStreamCount (HCHANNEL hChannel, int *pnCount)
 Gets the number of streams according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetStreamInfos (HCHANNEL hChannel, MWCAP_STREAM_INFO *pStreamInfos, int *pnCount)
 Gets the informations of streams according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetCtrlStreamID (HCHANNEL hChannel, int nCrtlID)
 Sets the ID of controlled stream according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureOSDSettings (HCHANNEL hChannel, MWCAP_VIDEO_OSD_SETTINGS *paOSDSettings)
 Gets OSD settings. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoCaptureOSDSettings (HCHANNEL hChannel, MWCAP_VIDEO_OSD_SETTINGS *paOSDSettings)
 Sets OSD configurations. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoOSDImage (HCHANNEL hChannel, MWCAP_VIDEO_OSD_IMAGE *pOSDImage)
 Gets OSD according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoOSDImage (HCHANNEL hChannel, MWCAP_VIDEO_OSD_IMAGE OSDImage)
 Sets OSD according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoBrightness (HCHANNEL hChannel, int *pnBrightness)
 Gets the brightness of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoBrightness (HCHANNEL hChannel, int nBrightness)
 Sets the brightness of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoContrast (HCHANNEL hChannel, int *pnContrast)
 Gets the contrast of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoContrast (HCHANNEL hChannel, int nContrast)
 Sets the contrast of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoHue (HCHANNEL hChannel, int *pnHue)
 Gets the hue of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoHue (HCHANNEL hChannel, int nHue)
 Sets the hue of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetVideoSaturation (HCHANNEL hChannel, int *pnSaturation)
 Gets the saturation of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetVideoSaturation (HCHANNEL hChannel, int nSaturation)
 Sets the saturation of video captured according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWSaveSettingsAsPreset (HCHANNEL hChannel)
 Saves the presetting configurations of video capture according to channel handle. More...
 
MW_RESULT LIBMWCAPTURE_API MWReloadPreset (HCHANNEL hChannel)
 Reloads the presetting configurations of video capture according to channel handle. More...
 
MWCAP_PTR LIBMWCAPTURE_API MWCreateEvent ()
 Creates events. More...
 
MW_RESULT LIBMWCAPTURE_API MWCloseEvent (MWCAP_PTR hEvent)
 Destroys the event. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetEvent (MWCAP_PTR hEvent)
 Triggers the event. More...
 
MW_RESULT LIBMWCAPTURE_API MWClearEvent (MWCAP_PTR hEvent)
 Resets the event. More...
 
BOOLEAN LIBMWCAPTURE_API MWIsSetEvent (MWCAP_PTR hEvent)
 Querys whether the event is triggered. More...
 
int LIBMWCAPTURE_API MWTryWaitEvent (MWCAP_PTR hEvent)
 Waits for the event. More...
 
int LIBMWCAPTURE_API MWWaitEvent (MWCAP_PTR hEvent, int nTimeout)
 Waits for the event. More...
 
DWORD LIBMWCAPTURE_API MWMultiWaitEvent (MWCAP_PTR *hEvents, int nCount, int nTimeout)
 Waits for the events. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToPhysicalAddress (HCHANNEL hChannel,
int iFrame,
LARGE_INTEGER llFrameAddress,
DWORD cbFrame,
DWORD cbStride,
BOOLEAN bBottomUp,
MWCAP_PTR64 pvContext,
DWORD dwFOURCC,
int cx,
int cy 
)
+
+ +

Stores captured video frames to physical addresses.

+
Parameters
+ + + + + + + + + + + +
[in]hChannelchannel handle that has started video capturing
[in]iFrameVideo frame number to be captured
[in]llFrameAddressPhysical addresses that store the captured video frames
[in]cbFrameByte length of memory that stores the captured data
[in]cbStrideStep of memory that stores the captured data
[in]bBottomUpWhether to store the captured video frames from bottom to top
[in]pvContextCustom context pointer
[in]dwFOURCCColor format of captured video frames, see MWFOURCC.h.
[in]cxWidth of captured video frames
[in]cyHeight of captured video frames
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
Note

+Be cautious when using it.
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToPhysicalAddressEx (HCHANNEL hChannel,
int iFrame,
LARGE_INTEGER llFrameAddress,
DWORD cbFrame,
DWORD cbStride,
BOOLEAN bBottomUp,
MWCAP_PTR64 pvContext,
DWORD dwFOURCC,
int cx,
int cy,
DWORD dwProcessSwitchs,
int cyParitalNotify,
HOSD hOSDImage,
const RECTpOSDRects,
int cOSDRects,
SHORT sContrast,
SHORT sBrightness,
SHORT sSaturation,
SHORT sHue,
MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode,
MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode,
const RECTpRectSrc,
const RECTpRectDest,
int nAspectX,
int nAspectY,
MWCAP_VIDEO_COLOR_FORMAT colorFormat,
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange,
MWCAP_VIDEO_SATURATION_RANGE satRange 
)
+
+ +

Captures video frames and saves to physical memory. And is the extended version of MWCaptureVideoFrameToPhysicalAddress.

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[in]hChannelchannel handle that has started video capturing
[in]iFrameVideo frame number to be captured
[in]llFrameAddressPhysical addresses that store the captured video frames
[in]cbFrameByte length of memory that stores the captured data
[in]cbStrideStep of memory that stores the captured data
[in]bBottomUpWhether to store the captured video frames from bottom to top
[in]pvContextCustom context pointer
[in]dwFOURCCColor format of captured video frames, see MWFOURCC.h.
[in]cxwidth of captured video frames
[in]cyHeight of captured video frames
[in]dwProcessSwitchsMask of video processing refers to MWCAP_VIDEO_PROCESS_xx
[in]cyParitalNotifyThe number of lines when capturing by lines
[in]hOSDImageOSD image handle which is got by using MWCreateImage(HCHANNEL hChannel,int cx,int cy)
[in]pOSDRectsTarget areas of OSD image
[in]cOSDRectsNumber of OSD image target areas
[in]sContrastContrast
[in]sBrightnessBrightness
[in]sSaturationSaturation
[in]sHueHue
[in]deinterlaceModeDeinterlace Mode
[in]aspectRatioConvertModeAspect Ratio Convert Mode
[in]pRectSrcThe source area of the image to capture
[in]pRectDestThe destination area of the image to capture
[in]nAspectXWidth of the aspect ratio
[in]nAspectYHeight of the aspect ratio
[in]colorFormatColor Format
[in]quantRangeQuantization Range
[in]satRangeSaturation Range
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Be cautious when using it.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToVirtualAddress (HCHANNEL hChannel,
int iFrame,
MWCAP_PTR pbFrame,
DWORD cbFrame,
DWORD cbStride,
BOOLEAN bBottomUp,
MWCAP_PTR64 pvContext,
DWORD dwFOURCC,
int cx,
int cy 
)
+
+ +

Captures and saves video frames to virtual memory.

+
Parameters
+ + + + + + + + + + + +
[in]hChannelchannel handle that has started video capturing
[in]iFrameVideo frame number to be captured
[out]pbFrameStores virtual memory pointers for captured data
[in]cbFrameByte length of memory that stores the captured data
[in]cbStrideStep of memory that stores the captured data
[in]bBottomUpWhether to store the captured video frames from bottom to top
[in]pvContextCustom context pointer
[in]dwFOURCCColor format of captured video frames, see MWFOURCC.h.
[in]cxWidth of captured video frames
[in]cyHeight of captured video frames
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Related function(s): MWRegisterNotify
+ MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameToVirtualAddressEx (HCHANNEL hChannel,
int iFrame,
LPBYTE pbFrame,
DWORD cbFrame,
DWORD cbStride,
BOOLEAN bBottomUp,
MWCAP_PTR64 pvContext,
DWORD dwFOURCC,
int cx,
int cy,
DWORD dwProcessSwitchs,
int cyParitalNotify,
HOSD hOSDImage,
const RECTpOSDRects,
int cOSDRects,
SHORT sContrast,
SHORT sBrightness,
SHORT sSaturation,
SHORT sHue,
MWCAP_VIDEO_DEINTERLACE_MODE deinterlaceMode,
MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE aspectRatioConvertMode,
const RECTpRectSrc,
const RECTpRectDest,
int nAspectX,
int nAspectY,
MWCAP_VIDEO_COLOR_FORMAT colorFormat,
MWCAP_VIDEO_QUANTIZATION_RANGE quantRange,
MWCAP_VIDEO_SATURATION_RANGE satRange 
)
+
+ +

Save captured video frames to virtual memory. It is the extended MWCaptureVideoFrameToVirtualAddress.

+
Parameters
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
[in]hChannelchannel handle that has started video capturing
[in]iFrameVideo frame number to be captured
[out]pbFrameVirtual addresses that store the captured video frames
[in]cbFrameByte length of memory that stores the captured data
[in]cbStrideStep of memory that stores the captured data
[in]bBottomUpWhether to store the captured video frames from bottom to top
[in]pvContextCustom context pointer
[in]dwFOURCCColor format of captured video frames, see MWFOURCC.h.
[in]cxwidth of captured video frames
[in]cyHeight of captured video frames
[in]dwProcessSwitchsImage processing mask. Refers to MWCAP_VIDEO_PROCESS_xx
[in]cyParitalNotifyNumber of rows captured by lines
[in]hOSDImageOSD image handle which is got by using MWCreateImage.
[in]pOSDRectsTarget areas of OSD image
[in]cOSDRectsNumber of OSD image target areas
[in]sContrastContrast
[in]sBrightnessBrightness
[in]sSaturationSaturation
[in]sHueHue
[in]deinterlaceModeDeinterlace Mode
[in]aspectRatioConvertModeAspect Ratio Convert Mode
[in]pRectSrcThe source area of the image to capture
[in]pRectDestThe destination area of the image to capture
[in]nAspectXWidth of the aspect ratio
[in]nAspectYHeight of the aspect ratio
[in]colorFormatColor Format
[in]quantRangeQuantization Range
[in]satRangeSaturation Range
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Captures video frames and saves the data to virtual memory. The extended version of MWCaptureVideoFrameToVirtualAddress but has more parameters for controlling.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MW_RESULT xr;
6 HOSD hOSD = MWCreateImage(t_channel, CAPTURE_WIDTH, CAPTURE_HEIGHT);
7 ...
8 xr = MWStartVideoCapture(t_channel, hCaptureEvent);
9 ...
10 HNOTIFY hNotify = MWRegisterNotify(t_channel, hNotifyEvent, MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED);
11 ...
12 MWWaitEvent(hNotifyEvent, INFINITE);
13 xr = MWGetNotifyStatus(t_channel, hNotify, &ullStatusBits);
14 MWCAP_VIDEO_BUFFER_INFO videoBufferInfo;
15 xr = MWGetVideoBufferInfo(t_channel, &videoBufferInfo);
16 MWCAP_VIDEO_FRAME_INFO videoFrameInfo;
17 xr = MWGetVideoFrameInfo(t_channel, videoBufferInfo.iNewestBufferedFullFrame, &videoFrameInfo);
18 xr =MWCaptureVideoFrameToVirtualAddressEx(t_channel,
19  MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED,
20  m_p_buffer,m_cb_buffer,t_n_stride,FALSE,NULL,m_dw_fourcc,t_n_width,t_n_height,
21  0,0,NULL,NULL,0,100,0,100,0,MWCAP_VIDEO_DEINTERLACE_BLEND,
22  MWCAP_VIDEO_ASPECT_RATIO_IGNORE,NULL,NULL,
23  0,0,MWCAP_VIDEO_COLOR_FORMAT_UNKNOWN,
24  MWCAP_VIDEO_QUANTIZATION_UNKNOWN,
25  MWCAP_VIDEO_SATURATION_UNKNOWN);
26 MWCAP_VIDEO_CAPTURE_STATUS captureStatus;
27 xr = MWGetVideoCaptureStatus(t_channel, &captureStatus);
28 ...
29 xr = MWUnregisterNotify(t_channel, hNotify);
30 xr = MWStopVideoCapture(t_channel);
31 ...
32 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameWithOSDToPhysicalAddress (HCHANNEL hChannel,
int iFrame,
LARGE_INTEGER llFrameAddress,
DWORD cbFrame,
DWORD cbStride,
BOOLEAN bBottomUp,
MWCAP_PTR64 pvContext,
DWORD dwFOURCC,
int cx,
int cy,
HOSD hOSDImage,
const RECTpOSDRects,
int cOSDRects 
)
+
+ +

Saves the captured video frame to physical memory and adds OSD.

+
Parameters
+ + + + + + + + + + + + + + +
[in]hChannelchannel handle that has started video capturing
[in]iFrameVideo frame number to be captured
[in]llFrameAddressPhysical addresses that store the captured video frames
[in]cbFrameByte length of memory that stores the captured data
[in]cbStrideStep of memory that stores the captured data
[in]bBottomUpWhether to store the captured video frames from bottom to top
[in]pvContextCustom context pointer
[in]dwFOURCCColor format of captured video frames, see MWFOURCC.h.
[in]cxwidth of captured video frames
[in]cyHeight of captured video frames
[in]hOSDImagehandle of OSD image which is got by using MWCreateImage.
[in]pOSDRectsTarget areas of OSD image
[in]cOSDRectsNumber of OSD image target areas
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Be cautious when using it.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureVideoFrameWithOSDToVirtualAddress (HCHANNEL hChannel,
int iFrame,
MWCAP_PTR pbFrame,
DWORD cbFrame,
DWORD cbStride,
BOOLEAN bBottomUp,
MWCAP_PTR64 pvContext,
DWORD dwFOURCC,
int cx,
int cy,
HOSD hOSDImage,
const RECTpOSDRects,
int cOSDRects 
)
+
+ +

Captures video frames to virtual memory, and adds OSD.

+
Parameters
+ + + + + + + + + + + + + + +
[in]hChannelchannel handle that has started video capturing
[in]iFrameVideo frame number to be captured
[out]pbFramevirtual addresses that store the captured video frames
[in]cbFrameByte length of memory that stores the captured data
[in]cbStrideStep of memory that stores the captured data
[in]bBottomUpWhether to store the captured video frames from bottom to top
[in]pvContextCustom context pointer
[in]dwFOURCCColor format of captured video frames, see MWFOURCC.h.
[in]cxWidth of captured video frames
[in]cyHeight of captured video frames
[in]hOSDImageHandle of OSD image which is got by using MWCreateImage
[in]pOSDRectsTarget areas of OSD image
[in]cOSDRectsNumber of OSD image target areas
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Saves the captured video frame to virtual memory, and adds OSD.
+

1 MWHANDLE path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MW_RESULT xr;
6 HOSD hOSD = MWCreateImage(t_channel, CAPTURE_WIDTH, CAPTURE_HEIGHT);
7 ...
8 xr = MWStartVideoCapture(t_channel, hCaptureEvent);
9 ...
10 HNOTIFY hNotify = MWRegisterNotify(t_channel, hNotifyEvent, MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED);
11 ...
12 MWWaitEvent(hNotifyEvent, INFINITE);
13 xr = MWGetNotifyStatus(t_channel, hNotify, &ullStatusBits);
14 MWCAP_VIDEO_BUFFER_INFO videoBufferInfo;
15 xr = MWGetVideoBufferInfo(t_channel, &videoBufferInfo);
16 MWCAP_VIDEO_FRAME_INFO videoFrameInfo;
17 xr = MWGetVideoFrameInfo(t_channel, videoBufferInfo.iNewestBufferedFullFrame, &videoFrameInfo);
18 xr=MWCaptureVideoFrameWithOSDToVirtualAddress(t_channel, MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED, byBuffer, dwFrameSize, cbStride, FALSE, NULL, CAPTURE_COLOR, CAPTURE_WIDTH, CAPTURE_HEIGHT, hOSD, aOSDRects, 1);
19 MWWaitEvent(hCaptureEvent, INFINITE);
20 MWCAP_VIDEO_CAPTURE_STATUS captureStatus;
21 xr = MWGetVideoCaptureStatus(t_channel, &captureStatus);
22 ...
23 xr = MWUnregisterNotify(t_channel, hNotify);
24 xr = MWStopVideoCapture(t_channel);
25 ...
26 MWCloseImage(t_channel, hOSD, &lRet);
27 ...
28 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWClearEvent (MWCAP_PTR hEvent)
+
+ +

Resets the event.

+
Parameters
+ + +
[in]hEventEvent
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCloseEvent (MWCAP_PTR hEvent)
+
+ +

Destroys the event.

+
Parameters
+ + +
[in]hEventEvent handle
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCloseImage (HCHANNEL hChannel,
HOSD hImage,
LONG * plRet 
)
+
+ +

Turns off the OSD image.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]hImageImage handle
[out]plRetReturns counts of the image being called
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Turns off the OSD image and frees the OSD occupied resources.
+Related function(s): MWOpenImage
+ Using MWCreateImage needs to call MWCloseImage.
+ Using MWOpenImage needs to call MWCloseImage.
+

+ +
+
+ +
+
+ + + + + + + +
MWCAP_PTR LIBMWCAPTURE_API MWCreateEvent ()
+
+ +

Creates events.

+
Returns
Returns event handle if succeeded, otherwise return 0
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
HOSD LIBMWCAPTURE_API MWCreateImage (HCHANNEL hChannel,
int cx,
int cy 
)
+
+ +

Creates OSD image.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]cxWidth of image
[in]cyHeight of image
+
+
+
Returns
Returns image handle if succeeded, otherwise returns NULL.
+
+

Usage:
+Creates OSD image.
+Related function(s): MWCaptureVideoFrameWithOSDToVirtualAddress
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoResolutionsCount (HCHANNEL hChannel,
DWORD * dwCount 
)
+
+ +

Gets number of custom video resolutions.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]dwCountNumber of custom video resolutions
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 DWORD t_dw_count;
7 MWGetCustomVideoResolutionsCount(hChannel, &t_dw_count);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetCustomVideoTimingsCount (HCHANNEL hChannel,
DWORD * dwCount 
)
+
+ +

Gets number of custom video timings.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]dwCountNumber of custom video timings
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 DWORD t_dw_count;
7 MWGetCustomVideoTimingsCount(hChannel, &t_dw_count);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetStreamCount (HCHANNEL hChannel,
int * pnCount 
)
+
+ +

Gets the number of streams according to channel handle.

+
Parameters
+ + + +
[in]hChannelchannel handle
[in]pnCountthe number of streams
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetStreamInfos (HCHANNEL hChannel,
MWCAP_STREAM_INFOpStreamInfos,
int * pnCount 
)
+
+ +

Gets the informations of streams according to channel handle.

+
Parameters
+ + + + +
[in]hChannelchannel handle
[in]pStreamInfosinformation of streams
[in]pnCountthe number of streams
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoBrightness (HCHANNEL hChannel,
int * pnBrightness 
)
+
+ +

Gets the brightness of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pnBrightnessBrightness of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoBufferInfo (HCHANNEL hChannel,
MWCAP_VIDEO_BUFFER_INFOpVideoBufferInfo 
)
+
+ +

Gets video bufferring information.

+
Parameters
+ + + +
[in]hChannelchannel handle that has started video capturing
[out]pVideoBufferInfoVideo bufferring information
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets video buffer on-board storage information that gives you the current number of video buffer frames and the frame id being cached.
+Related function(s): MWRegisterNotify
+ MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureOSDSettings (HCHANNEL hChannel,
MWCAP_VIDEO_OSD_SETTINGSpaOSDSettings 
)
+
+ +

Gets OSD settings.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]paOSDSettingsOSD settings
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Only png and rgba images are supported.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OSD_SETTINGS t_osd_setting;
7  MWGetVideoCaptureOSDSettings(hChannel, &t_osd_setting);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoCaptureStatus (HCHANNEL hChannel,
MWCAP_VIDEO_CAPTURE_STATUSpStatus 
)
+
+ +

Gets video capture state, and frees up system storage.

+
Parameters
+ + + +
[in]hChannelchannel handle that has started video capturing
[out]pStatusReturns video capture state
+
+
+
Returns
Function return values are as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets video capture state. After the capture function call is completed, call the function, which gets the capture state while cleaning up the occupied system storage.
+Related function(s): MWRegisterNotify
+ MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoContrast (HCHANNEL hChannel,
int * pnContrast 
)
+
+ +

Gets the contrast of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pnContrastContrast of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoFrameInfo (HCHANNEL hChannel,
BYTE i,
MWCAP_VIDEO_FRAME_INFOpVideoFrameInfo 
)
+
+ +

Gets video frame information.

+
Parameters
+ + + + +
[in]hChannelVideo channel handle that has started video capturing
[in]iVideo frame index
[out]pVideoFrameInfoReturns video frame information
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets video frame information, including bufferring start and end time with time code.
+Related function(s): MWRegisterNotify
+ MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoHue (HCHANNEL hChannel,
int * pnHue 
)
+
+ +

Gets the hue of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]pnHueHue of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoOSDImage (HCHANNEL hChannel,
MWCAP_VIDEO_OSD_IMAGEpOSDImage 
)
+
+ +

Gets OSD according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pOSDImageOSD image
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetVideoSaturation (HCHANNEL hChannel,
int * pnSaturation 
)
+
+ +

Gets the saturation of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[out]pnSaturationSaturation of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + +
BOOLEAN LIBMWCAPTURE_API MWIsSetEvent (MWCAP_PTR hEvent)
+
+ +

Querys whether the event is triggered.

+
Parameters
+ + +
[in]hEventEvent
+
+
+
Returns
Returns TRUE if succeeded, otherwise returns FALSE
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
DWORD LIBMWCAPTURE_API MWMultiWaitEvent (MWCAP_PTR * hEvents,
int nCount,
int nTimeout 
)
+
+ +

Waits for the events.

+
Parameters
+ + + + +
[in]hEventsEvents
[in]nCountThe number of event objects
[in]nTimeoutTimeout period
+
+
+
Returns
Returns event flag if succeeded
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWOpenImage (HCHANNEL hChannel,
HOSD hImage,
LONG * plRet 
)
+
+ +

Opens OSD images.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]hImageImage handle
[out]plRetReturns counts of the image being called
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Opens OSD image, and loads it to specified channel.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 HOSD hOSD = NULL;
7 hOSD =MWCreateImage(hChannel, 1920, 1080);
8 ...
9 HCHANNEL hChannel1 = MWOpenChannelByPath(pDevicePath);
10 ...
11 LONG lRet = 0;
12 mr = MWOpenImage(hChannel1, hOSD, &lRet);
13 ...
14 mr = MWCloseImage(hChannel1, hOSD, &lRet);
15 mr = MWCloseImage(hChannel, hOSD, &lRet);
16 ...
17 MWCloseChannel(hChannel1);
18 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWPinVideoBuffer (HCHANNEL hChannel,
MWCAP_PTR pbFrame,
DWORD cbFrame 
)
+
+ +

Locks a segment of virtual memory to reduce CPU load when capturing video data to that memory.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]pbFrameVirtual memory address
[in]cbFrameVirtual memory size
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Locks a segment of virtual memory to reduce the CPU usage when storing the captured video clips to that memory.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MW_RESULT xr;
6 xr = MWPinVideoBuffer(t_channel, byBuffer, dwFrameSize)
7 ...
8 xr = MWStartVideoCapture(t_channel, hCaptureEvent);
9 ...
10 ...
11 xr = MWStopVideoCapture(t_channel);
12 xr = MWUnpinVideoBuffer(t_channel, byBuffer);
13 ...
14 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWReloadPreset (HCHANNEL hChannel)
+
+ +

Reloads the presetting configurations of video capture according to channel handle.

+
Parameters
+ + +
[in]hChannelChannel handle
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSaveSettingsAsPreset (HCHANNEL hChannel)
+
+ +

Saves the presetting configurations of video capture according to channel handle.

+
Parameters
+ + +
[in]hChannelChannel handle
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetCtrlStreamID (HCHANNEL hChannel,
int nCrtlID 
)
+
+ +

Sets the ID of controlled stream according to channel handle.

+
Parameters
+ + + +
[in]hChannelchannel handle
[in]nCrtlIDID of controlled stream
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetEvent (MWCAP_PTR hEvent)
+
+ +

Triggers the event.

+
Parameters
+ + +
[in]hEventEvent
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoBrightness (HCHANNEL hChannel,
int nBrightness 
)
+
+ +

Sets the brightness of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]nBrightnessBrightness of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoCaptureOSDSettings (HCHANNEL hChannel,
MWCAP_VIDEO_OSD_SETTINGSpaOSDSettings 
)
+
+ +

Sets OSD configurations.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]paOSDSettingsOSD configurations
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OSD_SETTINGS t_osd_setting;
7 t_osd_setting.xx=...;
8 ...
9 MWSetVideoCaptureOSDSettings(hChannel, &t_osd_setting);
10 ...
11 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoContrast (HCHANNEL hChannel,
int nContrast 
)
+
+ +

Sets the contrast of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]nContrastContrast of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoHue (HCHANNEL hChannel,
int nHue 
)
+
+ +

Sets the hue of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]nHueHue of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoOSDImage (HCHANNEL hChannel,
MWCAP_VIDEO_OSD_IMAGE OSDImage 
)
+
+ +

Sets OSD according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]OSGImageOSD image
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetVideoSaturation (HCHANNEL hChannel,
int nSaturation 
)
+
+ +

Sets the saturation of video captured according to channel handle.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]nSaturationSaturation of video captured
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or MW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWStartVideoCapture (HCHANNEL hChannel,
MWHANDLE hEvent 
)
+
+ +

Starts video capture.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]hEventAn event handle
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+It is used for Pro capture cards.
+Related function(s): MWRegisterNotify
+ MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWStopVideoCapture (HCHANNEL hChannel)
+
+ +

Stops the video capture.

+
Parameters
+ + +
[in]hChannelOpened channel handle
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+ Related function(s): MWRegisterNotify
+ MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + +
int LIBMWCAPTURE_API MWTryWaitEvent (MWCAP_PTR hEvent)
+
+ +

Waits for the event.

+
Parameters
+ + +
[in]hEventEvent
+
+
+
Returns
Returns 1 if succeeded
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUnpinVideoBuffer (HCHANNEL hChannel,
LPBYTE pbFrame 
)
+
+ +

Unlocks a segment of virtual memory.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]pbFrameVirtual memory address
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Unlocks a segment of virtual memory, and works with MWPinVideoBuffer.
+Related function(s): MWPinVideoBuffer
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUploadImageFromPhysicalAddress (HCHANNEL hChannel,
HOSD hImage,
MWCAP_VIDEO_COLOR_FORMAT cfDest,
MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest,
MWCAP_VIDEO_SATURATION_RANGE satRangeDest,
WORD xDest,
WORD yDest,
WORD cxDest,
WORD cyDest,
LARGE_INTEGER llSrcFrameAddress,
DWORD cbSrcFrame,
DWORD cbSrcStride,
WORD cxSrc,
WORD cySrc,
BOOLEAN bSrcBottomUp,
BOOLEAN bSrcPixelAlpha,
BOOLEAN bSrcPixelXBGR 
)
+
+ +

Uploads an image from physical memory to capture device.

+
Parameters
+ + + + + + + + + + + + + + + + + + +
[in]hChannelOpened channel handle
[in]hImageImage handle
[in]cfDestColor format of the target image
[in]quantRangeDestQuantization range of the target image
[in]satRangeDestSaturation range of the target image
[in]xDestHorizontal target position
[in]yDestVertical target position
[in]cxDestTarget width of image
[in]cyDestTarget height of image
[in]llSrcFrameAddressPhysical address that stores the source image
[in]cbSrcFrameData length of source image
[in]cbSrcStrideData step of source image
[in]cxSrcWidth of source image
[in]cySrcHeight of source image
[in]bSrcBottomUpWhether the source image is up-side-down
[in]bSrcPixelAlphaWhether there is an alpha component in the source image
[in]bSrcPixelXBGRWhether the color format of the source image is XBGR
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Uploads an image from physical memory to capture device.
+Be cautious when using it.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUploadImageFromVirtualAddress (HCHANNEL hChannel,
HOSD hImage,
MWCAP_VIDEO_COLOR_FORMAT cfDest,
MWCAP_VIDEO_QUANTIZATION_RANGE quantRangeDest,
MWCAP_VIDEO_SATURATION_RANGE satRangeDest,
WORD xDest,
WORD yDest,
WORD cxDest,
WORD cyDest,
MWCAP_PTR64 pvSrcFrame,
DWORD cbSrcFrame,
DWORD cbSrcStride,
WORD cxSrc,
WORD cySrc,
BOOLEAN bSrcBottomUp,
BOOLEAN bSrcPixelAlpha,
BOOLEAN bSrcPixelXBGR 
)
+
+ +

Uploads images from virtual memory to capture device.

+
Parameters
+ + + + + + + + + + + + + + + + + + +
[in]hChannelOpened channel handle
[in]hImageImage handle
[in]cfDestColor format of the target image
[in]quantRangeDestQuantization range of the target image
[in]satRangeDestSaturation range of the target image
[in]xDestHorizontal target position
[in]yDestVertical target position
[in]cxDestTarget width of image
[in]cyDestTarget height of image
[in]pvSrcFrameSource image
[in]cbSrcFrameData length of source image
[in]cbSrcStrideData step of source image
[in]cxSrcWidth of source image
[in]cySrcHeight of source image
[in]bSrcBottomUpWhether the source image is up-side-down
[in]bSrcPixelAlphaWhether there is an alpha component in the source image
[in]bSrcPixelXBGRWhether the color format of the source image is XBGR
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Uploads images from system memory to capture device.
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int LIBMWCAPTURE_API MWWaitEvent (MWCAP_PTR hEvent,
int nTimeout 
)
+
+ +

Waits for the event.

+
Parameters
+ + + +
[in]hEventEvent
[in]nTimeoutTimeout period
+
+
+
Returns
Returns 1 if succeeded
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__proecocapture.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__proecocapture.html new file mode 100644 index 00000000..2ac8167d --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__proecocapture.html @@ -0,0 +1,745 @@ + + + + + + + + + Pro/Eco Capture Family Universal Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Pro/Eco Capture Family Universal Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

HCHANNEL LIBMWCAPTURE_API MWOpenChannel (int nBoardValue, int nChannelIndex)
 Opens capture channel by the rotary number and channel number. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetDeviceTime (HCHANNEL hChannel, LONGLONG *pllTime)
 Gets time value of capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWSetDeviceTime (HCHANNEL hChannel, LONGLONG llTime)
 Sets time of capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWRegulateDeviceTime (HCHANNEL hChannel, LONGLONG llTime)
 Adjusts time of capture device. More...
 
HTIMER LIBMWCAPTURE_API MWRegisterTimer (HCHANNEL hChannel, MWHANDLE hEvent)
 Registers a timer event object. More...
 
MW_RESULT LIBMWCAPTURE_API MWUnregisterTimer (HCHANNEL hChannel, HTIMER hTimer)
 Unregisters a timer event object. More...
 
MW_RESULT LIBMWCAPTURE_API MWScheduleTimer (HCHANNEL hChannel, HTIMER hTimer, LONGLONG llExpireTime)
 Schedules timer event objects. More...
 
HNOTIFY LIBMWCAPTURE_API MWRegisterNotify (HCHANNEL hChannel, MWHANDLE hEvent, DWORD dwEnableBits)
 Registers an event notification. More...
 
MW_RESULT LIBMWCAPTURE_API MWUnregisterNotify (HCHANNEL hChannel, HNOTIFY hNotify)
 Unregisters an event notification object. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetNotifyStatus (HCHANNEL hChannel, HNOTIFY hNotify, ULONGLONG *pullStatus)
 Gets current notification status. More...
 
MW_RESULT LIBMWCAPTURE_API MWStartAudioCapture (HCHANNEL hChannel)
 Starts audio capturing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWStopAudioCapture (HCHANNEL hChannel)
 Stops audio capturing of specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWCaptureAudioFrame (HCHANNEL hChannel, MWCAP_AUDIO_CAPTURE_FRAME *pAudioCaptureFrame)
 Captures an audio frame. More...
 
MW_RESULT LIBMWCAPTURE_API MWGetTemperature (HCHANNEL hChannel, unsigned int *pnTemp)
 Gets the temperature of capture card. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWCaptureAudioFrame (HCHANNEL hChannel,
MWCAP_AUDIO_CAPTURE_FRAMEpAudioCaptureFrame 
)
+
+ +

Captures an audio frame.

+
Parameters
+ + + +
[in]hChannelChannel handle of opened audio capture
[out]pAudioCaptureFrameReturns an audio frame
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Captures audio frames.
+Related function(s): MWStartAudioCapture
+For LPCM to capture up to 8 channel data, the channel correspondence are 0L, 1L, 2L, 3L, 0R, 1R, 2R, 3R.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetDeviceTime (HCHANNEL hChannel,
LONGLONG * pllTime 
)
+
+ +

Gets time value of capture device.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]pllTimeReturns time value of capture device in 100ns
+
+
+
Returns
Returns MW_RESULT values as follows: + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
Note
Use the same clock for different channels on the same capture device, which plays an important role in audio and video data synchronization and multichannel data synchronization.
+
+

Usage:
+Gets device time, uses the same clock for different channels on the same capture device.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 LONGLONG t_time = 0;
6 MWGetDeviceTime(t_channel, &t_time);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetNotifyStatus (HCHANNEL hChannel,
HNOTIFY hNotify,
ULONGLONG * pullStatus 
)
+
+ +

Gets current notification status.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]hNotifyHandle of registerred notification event object
[out]pullStatusReturns notification status. The value refers to the note of MWRegisterNotify
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+The function is used for Pro capture cards to get notification status.
+Related function(s): MWRegisterNotify
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWGetTemperature (HCHANNEL hChannel,
unsigned int * pnTemp 
)
+
+ +

Gets the temperature of capture card.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[out]pnTempCapture card temperature
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 Unsigned int t_temp;
7 MWGetTemperature(hChannel ,&t_temp);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
HCHANNEL LIBMWCAPTURE_API MWOpenChannel (int nBoardValue,
int nChannelIndex 
)
+
+ +

Opens capture channel by the rotary number and channel number.

+
Parameters
+ + + +
[in]nBoardValueRotary number on the capture device, 0 to f
[in]nChannelIndexChannel index, starts from 0
+
+
+
Returns
If the call succeeds, which returns the channel handle; the call fails, which returns the empty value.
+
Note
If there are 2 devices with the same rotary number, the one with a smaller PCI-e number will be opened.
+The same channel can be opened multiple times at the same time, and the handles that open the same channel are independent of each other and do not affect each other.
+
+

Usage:
+

1 MWCAP_CHANNEL_INFO info;
2 MWGetChannelInfoByIndex(0,&info);
3 HCHANNEL t_channel=MWOpenChannel(info.byBoardIndex,info.byChannelIndex);
4 ...
5 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
HNOTIFY LIBMWCAPTURE_API MWRegisterNotify (HCHANNEL hChannel,
MWHANDLE hEvent,
DWORD dwEnableBits 
)
+
+ +

Registers an event notification.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]hEventAn event handle
[in]dwEnableBitsType mask for notifications
+
+
+
Returns
Returns the handle of the notification event object if succeeded, otherwise returns NULL.
+
Note
dwEnableBits can be set to one or more of the following notification types.
+MWCAP_NOTIFY_xx
+When the notification type you set occurs, the event associated with the notification event object will be set to the signaled state.
+
+

Usage:
+The API is used to trigger Pro capture cards to capture video clips by notification type.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_PTR hNotifyEvent = MWCreateEvent();
6 MWCAP_PTR hCaptureEvent = MWCreateEvent();
7 MW_RESULT xr;
8 xr = MWStartVideoCapture(t_channel, hCaptureEvent);
9 ...
10 HNOTIFY hNotify = MWRegisterNotify(t_channel, hNotifyEvent, MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED);
11 ...
12 MWWaitEvent(hNotifyEvent, INFINITE);
13 xr = MWGetNotifyStatus(t_channel, hNotify, &ullStatusBits);
14 MWCAP_VIDEO_BUFFER_INFO videoBufferInfo;
15 xr = MWGetVideoBufferInfo(t_channel, &videoBufferInfo);
16 MWCAP_VIDEO_FRAME_INFO videoFrameInfo;
17 xr = MWGetVideoFrameInfo(t_channel, videoBufferInfo.iNewestBufferedFullFrame, &videoFrameInfo);
18 xr = MWCaptureVideoFrameToVirtualAddress(t_channel, -1, (LPBYTE)bitmapData.Scan0, bitmapData.Stride * cy, bitmapData.Stride, bBottomUp, NULL, MWFOURCC_BGRA, cx, cy);
19 MWWaitEvent(hCaptureEvent, INFINITE);
20 MWCAP_VIDEO_CAPTURE_STATUS captureStatus;
21 xr = MWGetVideoCaptureStatus(t_channel, &captureStatus);
22 ...
23 xr = MWUnregisterNotify(t_channel, hNotify);
24 xr = MWStopVideoCapture(t_channel);
25 ...
26 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
HTIMER LIBMWCAPTURE_API MWRegisterTimer (HCHANNEL hChannel,
MWHANDLE hEvent 
)
+
+ +

Registers a timer event object.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]hEventEvent handle
+
+
+
Returns
Returns timer handle if succeeded, otherwise returns 0
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWRegulateDeviceTime (HCHANNEL hChannel,
LONGLONG llTime 
)
+
+ +

Adjusts time of capture device.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]llTimeAdjusted time in 100ns.
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
Note
Synchronizes clocks of different devices.
+The difference between this API and MWSetDeviceTime is that the clock value of the capture device will calibrate to the set value in a gradual manner instead of a sudden change for this API. The clock value of the capture device becomes the set time value immediately after MWSetDeviceTime.
+
+

Usage:
+Adjusts device time.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 LONGLONG llStandardTime = 0LL;
6 xr = MWRegulateDeviceTime(t_channel, llStandardTime);
7 ...
8 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWScheduleTimer (HCHANNEL hChannel,
HTIMER hTimer,
LONGLONG llExpireTime 
)
+
+ +

Schedules timer event objects.

+
Parameters
+ + + + +
[in]hChannelOpened channel handle
[in]hTimerScheduled timer event objects
[in]llExpireTimeSets the time value of the scheduled timer event, which is the absolute value of the capture device's clock.
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
Note
When the scheduled time is reached, the event associated with the timer event object will be set to be the signaled state.
+
+

Usage:
+ The API is used for pro capture cards to set the time when the timer event object is triggered.
+Related function(s): MWRegisterTimer
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWSetDeviceTime (HCHANNEL hChannel,
LONGLONG llTime 
)
+
+ +

Sets time of capture device.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]llTimeSets the time value of the capture device clock, which is in 100 nanoseconds
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+
Note
Synchronizes clocks of different devices.
+

Usage:
+Sets the clock of capture device.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 LONGLONG t_time = 0;
6 t_time=...;
7 ...
8 MWSetDeviceTime(t_channel, t_time);
9 ...
10 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWStartAudioCapture (HCHANNEL hChannel)
+
+ +

Starts audio capturing of specified channel.

+
Parameters
+ + +
[in]hChannelOpened channel handle
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Starts audio capturing of specified channel.
+

1 char path[128];
2 MWGetDevicePath(k,path);
3 HCHANNEL t_channel=MWOpenChannelByPath(path);
4 ...
5 MWCAP_PTR hEvent = MWCreateEvent();
6 HNOTIFY hNotify=MWRegisterNotify(t_channel, hEvent, MWCAP_NOTIFY_AUDIO_SIGNAL_CHANGE | MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED);
7 ...
8 xr = MWStartAudioCapture(t_channel);
9 ...
10 MWWaitEvent(hEvent, INFINITE);
11 ULONGLONG ullStatusBits = 0LL;
12 MWGetNotifyStatus(t_channel, hNotify, &ullStatusBits);
13 if (ullStatusBits & MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED) {
14  MWCAP_AUDIO_CAPTURE_FRAME audioFrame;
15  xr = MWCaptureAudioFrame(t_channel, &audioFrame);
16  ...
17 }
18 ...
19 xr = MWUnregisterNotify(t_channel, hNotify);
20 xr = MWStopVideoCapture(t_channel);
21 ...
22 MWCloseChannel(t_channel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWStopAudioCapture (HCHANNEL hChannel)
+
+ +

Stops audio capturing of specified channel.

+
Parameters
+ + +
[in]hChannelchannel handle of opened audio capture
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+ Stops audio capturing of specified channel.
+ The API is used together with MWStartAudioCapture.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUnregisterNotify (HCHANNEL hChannel,
HNOTIFY hNotify 
)
+
+ +

Unregisters an event notification object.

+
Parameters
+ + + +
[in]hChannelChannel handle
[in]hNotifyEvent notification handle
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+The API is used for Pro capture cards to unregister event.
+Related function(s): MWRegisterNotify
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUnregisterTimer (HCHANNEL hChannel,
HTIMER hTimer 
)
+
+ +

Unregisters a timer event object.

+
Parameters
+ + + +
[in]hChannelOpened channel handle
[in]hTimerHandle of timer event object that has been registered
+
+
+
Returns
Returns MW_RESULT, the values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+ The API is used for pro capture cards that specify the capture interval between adjacent video frames.
+Related function(s): MWRegisterTimer(HCHANNEL hChannel, HANDLE hEvent)
+

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__usbcapture.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__usbcapture.html new file mode 100644 index 00000000..483f5ab3 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__functions__usbcapture.html @@ -0,0 +1,1397 @@ + + + + + + + + + USB Capture Family Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
USB Capture Family Functions
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug (LPFN_HOT_PLUG_CALLBACK lpfnCallback, void *pParam)
 Registers hotplug callback function of USB capture device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug ()
 Unregisters hotplug callback function. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable (HUSBCHANNEL hChannel, MWCAP_NOTIFY_ENABLE *pNotify)
 Sets notification types for specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus (HUSBCHANNEL hChannel, uint64_t *pullStatusBit)
 Gets notification status of USB specified channel. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetFirmwareErase (HUSBCHANNEL hChannel, uint32_t cbOffset, uint32_t cbErase)
 Erases firmware data from USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetFirmwareReadAddress (HUSBCHANNEL hChannel, uint32_t *pdwAddress)
 Gets read address of USB device firmware. More...
 
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 interface. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid (HUSBCHANNEL hChannel, bool_t *pbValid)
 Gets whether the loopthrough interface in the USB device is valid. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetAudioVolume (HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
 Gets the volume of USB audio device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetAudioVolume (HUSBCHANNEL hChannel, MWCAP_USB_AUDIO_NODE audioNode, MWCAP_AUDIO_VOLUME *pVolume)
 Sets the volume of USB audio device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFOURCC (HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
 Gets capture formats supported by the USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFOURCC (HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FOURCC *pOutputFourCC)
 Sets capture formats supported by the USB device, 3 at most. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameSize (HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
 Gets resolutions of captured images supported by the USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameSize (HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_SIZE *pFrameSize)
 Sets resolutions supported by the USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval (HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
 Gets capture intervals supported by USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval (HUSBCHANNEL hChannel, MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL *pFrameInterval)
 Sets capture intervals supported by USB device. More...
 
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. More...
 
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. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode (HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
 Gets device name pattern of USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode (HUSBCHANNEL hChannel, MWCAP_DEVICE_NAME_MODE *pNameMode)
 Sets device name pattern of USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions (HUSBCHANNEL hChannel)
 Saves configurations. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions (HUSBCHANNEL hChannel)
 Loads the saved configurations. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions (HUSBCHANNEL hChannel)
 Restores to the default settings. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported (HUSBCHANNEL hChannel, uint32_t *pdwFlag)
 Gets extended Hid interfaces supported by USB device. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode (HUSBCHANNEL hChannel, MWCAP_EDID_MODE *pMode)
 Gets current edid mode. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode (HUSBCHANNEL hChannel, MWCAP_EDID_MODE mode)
 Sets the edid mode. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRate (HCHANNEL hChannel, MWCAP_VIDEO_FRAMERATE *pFramerate, int *nCount)
 Gets frame rates supported by USB device based on v4l. More...
 
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRateEx (HCHANNEL hChannel, MWCAP_VIDEO_FRAMERATE_EX *pFramerate, int *nCount)
 Gets frame rates supported by USB device based on v4l. More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetAudioVolume (HUSBCHANNEL hChannel,
MWCAP_USB_AUDIO_NODE audioNode,
MWCAP_AUDIO_VOLUMEpVolume 
)
+
+ +

Gets the volume of USB audio device.

+
Parameters
+ + + + +
[in]hChannelChannel handle of USB device
[in]audioNodeAudio device
[out]pVolumeVolume of USB audio device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the volume of USB audio device.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_AUDIO_VOLUME t_vol;
7 MWUSBGetAudioVolume(hChannel, MWCAP_USB_AUDIO_EMBEDDED_CAPTURE, &t_vol);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetDeviceNameMode (HUSBCHANNEL hChannel,
MWCAP_DEVICE_NAME_MODE * pNameMode 
)
+
+ +

Gets device name pattern of USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pNameModeDevice name pattern
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_DEVICE_NAME_MODE t_mode;
7 MWUSBGetDeviceNameMode(hChannel, &t_mode);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
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 interface.

+
Parameters
+ + + + +
[in]hChannelChannel handle of USB device
[out]pbyEDIDEDID
[in,out]pcbEDIDAs an input parameter, it indicates the size of the area which is pointed by the pbyEDID. As an output parameter, it indicates the size of the returned EDID.
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets EDID of the loopthrough interface in the USB device, which is only supported by devices with loopthrough interface.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 uint32_t t_cd_edid=256;
7 unsigned char t_hc_edid[256];
8 MWUSBGetEDIDloopthrough(hChannel, t_hc_edid, &t_cd_edid);
9 ...
10 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetEDIDMode (HUSBCHANNEL hChannel,
MWCAP_EDID_MODE * pMode 
)
+
+ +

Gets current edid mode.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pModeThe edid mode of device
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or NW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetExtensionSupported (HUSBCHANNEL hChannel,
uint32_t * pdwFlag 
)
+
+ +

Gets extended Hid interfaces supported by USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pdwFlagFlag of the extended supported Hid interfaces
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+The meaning of the pdwFlag refers to MWCAP_HID_EXTENSION_XX.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 uint32_t t_flag=0;
7 MWUSBGetExtensionSupported(hChannel, &t_flag);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetFirmwareReadAddress (HUSBCHANNEL hChannel,
uint32_t * pdwAddress 
)
+
+ +

Gets read address of USB device firmware.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pdwAddressRead address of firmware
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 uint32_t t_address;
7 MWUSBGetFirmwareReadAddress(hChannel, &t_address);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetLoopThroughValid (HUSBCHANNEL hChannel,
bool_t * pbValid 
)
+
+ +

Gets whether the loopthrough interface in the USB device is valid.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pbValidWhether there is a valid loopthrough interface
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 bool_t t_valid=false;
7 MWUSBGetloopthroughValid(hChannel, &t_valid);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetNotifyStatus (HUSBCHANNEL hChannel,
uint64_t * pullStatusBit 
)
+
+ +

Gets notification status of USB specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pullStatusBitNotification mask
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+ Gets notification status of USB specified channel.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_NOTIFY_ENABLE t_notify;
7 t_notify.bInterrupt=false;
8 t_notify.ullEnableBits=MWCAP_NOTIFY_xxx|MWCAP_NOTIFY_xxx|...;
9 ...
10 MWUSBSetNotifyEnable(hChannel, &t_notify);
11 ...
12 uint64_t t_status=0;
13 MWUSBGetNotifyStatus(hChannel, &t_status);
14 if(t_status & MWCAP_NOTIFY_xxx){
15  ...
16 }
17 ...
18 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
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.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pImageModeThe image pattern showed when there is not a valid input signal
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Gets the image pattern showed when there is not a valid input signal.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_STATUS_IMAGE_MODE t_mode;
7 MWUSBGetStatusImageMode(hChannel, &t_mode);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRate (HCHANNEL hChannel,
MWCAP_VIDEO_FRAMERATEpFramerate,
int * nCount 
)
+
+ +

Gets frame rates supported by USB device based on v4l.

+
Parameters
+ + + + +
[in]hChannelChannel handle of USB device
[out]pFramerateFrame rates supported by USB device. When it is set to NULL, only the number of supported frame rates is returned.
[in,out]nCountAs an input parameter, it indicates the pointer points to the size of pFramerate array. As an output parameter, it indicates the number of capture frame rates supported by USB device.
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 int t_n_count = 0;
7 MWUSBGetVideoCaptureSupportFrameRate(hChannel, NULL, &t_n_count);
8 if(t_n_count > 0){
9  MWCAP_VIDEO_FRAMERATE* t_p_rate=new MWCAP_VIDEO_FRAMERATE[t_n_count];
10  MWUSBGetVideoCaptureSupportFrameRate(hChannel,t_p_rate,&t_n_count);
11 }
12 ...
13 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoCaptureSupportFrameRateEx (HCHANNEL hChannel,
MWCAP_VIDEO_FRAMERATE_EXpFramerate,
int * nCount 
)
+
+ +

Gets frame rates supported by USB device based on v4l.

+
Parameters
+ + + + +
[in]hChannelChannel handle of USB device
[out]pFramerateCapture frame rates supported by USB device
[in,out]nCountAs an input parameter, it indicates the pointer points to the size of pFramerate array. As an output parameter, it indicates the number of capture frame rates supported by USB device.
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 int t_n_count = 0;
7 MWUSBGetVideoCaptureSupportFrameRateEx(hChannel, NULL, &t_n_count);
8 if(t_n_count > 0){
9  MWCAP_VIDEO_FRAMERATE_EX* t_p_rate=new MWCAP_VIDEO_FRAMERATE_EX[t_n_count];
10  MWUSBGetVideoCaptureSupportFrameRateEx(hChannel, t_p_rate, &t_n_count);
11 }
12 ...
13 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFOURCC (HUSBCHANNEL hChannel,
MWCAP_VIDEO_OUTPUT_FOURCCpOutputFourCC 
)
+
+ +

Gets capture formats supported by the USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pOutputFourCCSupported capture formats
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OUTPUT_FOURCC t_fmt;
7 MWUSBGetVideoOutputFOURCC(hChannel, &t_fmt);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameInterval (HUSBCHANNEL hChannel,
MWCAP_VIDEO_OUTPUT_FRAME_INTERVALpFrameInterval 
)
+
+ +

Gets capture intervals supported by USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pFrameIntervalCapture intervals supported by USB device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL t_internal;
7 MWUSBGetVideoOutputFrameInterval(hChannel, &t_internal);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBGetVideoOutputFrameSize (HUSBCHANNEL hChannel,
MWCAP_VIDEO_OUTPUT_FRAME_SIZEpFrameSize 
)
+
+ +

Gets resolutions of captured images supported by the USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]pFrameSizeResolutions of captured images supported by the USB device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OUTPUT_FRAME_SIZE t_fsize;
7 MWUSBGetVideoOutputFrameSize(hChannel ,& t_fsize);
8 ...
9 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBLoadOptions (HUSBCHANNEL hChannel)
+
+ +

Loads the saved configurations.

+
Parameters
+ + +
[in]hChannelChannel handle of USB device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWUSBLoadOptions(hChannel);
7 ...
8 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBRegisterHotPlug (LPFN_HOT_PLUG_CALLBACK lpfnCallback,
void * pParam 
)
+
+ +

Registers hotplug callback function of USB capture device.

+
Parameters
+ + + +
[in]lpfnCallbackCallback function
[in]pParamCallback parameter
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Registers hotplug callback function of USB capture device to notify the plug states of USB capture devices.
+

1 static void HotplugCheckCallback(MWUSBHOT_PLUG_EVETN event, const char *pszDevicePath, void* pParam)
2 {
3  ...
4 }
5 ...
6 MWCaptureInitInstance();
7 ...
8 mr = MWUSBRegisterHotPlug(HotplugCheckCallback, NULL);
9 ...
10 mr = MWUSBUnRegisterHotPlug();
11 ...
12 MWCaptureExitInstance();
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBResetOptions (HUSBCHANNEL hChannel)
+
+ +

Restores to the default settings.

+
Parameters
+ + +
[in]hChannelChannel handle of USB device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWUSBResetOptions(hChannel);
7 ...
8 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSaveOptions (HUSBCHANNEL hChannel)
+
+ +

Saves configurations.

+
Parameters
+ + +
[in]hChannelChannel handle of USB device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+The detailed usage refers to the following functions:
+ MWUSBSetVideoOutputFOURCC
+ MWUSBSetVideoOutputFrameSize
+ MWUSBSetVideoOutputFrameInterval
+ MWUSBSetStatusImageMode
+ MWUSBSetDeviceNameMode
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWUSBSaveOptions(hChannel);
7 ...
8 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetAudioVolume (HUSBCHANNEL hChannel,
MWCAP_USB_AUDIO_NODE audioNode,
MWCAP_AUDIO_VOLUMEpVolume 
)
+
+ +

Sets the volume of USB audio device.

+
Parameters
+ + + + +
[in]hChannelChannel handle of USB device
[in]audioNodeAudio device
[in]pVolumeAudio device volume
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the volume of USB audio device.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_AUDIO_VOLUME t_vol;
7 MWUSBGetAudioVolume(hChannel, MWCAP_USB_AUDIO_EMBEDDED_CAPTURE, &t_vol);
8 t_vol.xx=...;
9 MWUSBSetAudioVolume(hChannel, MWCAP_USB_AUDIO_EMBEDDED_CAPTURE, &t_vol);
10 ...
11 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetDeviceNameMode (HUSBCHANNEL hChannel,
MWCAP_DEVICE_NAME_MODE * pNameMode 
)
+
+ +

Sets device name pattern of USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[in]pNameModeDevice name pattern
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_DEVICE_NAME_MODE t_mode=MWCAP_DEVICE_NAME_SERIAL_NUMBER;
7 MWUSBSetDeviceNameMode(hChannel, &t_mode);
8 ...
9 MWUSBSaveOptions(hChannel);
10 ...
11 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetEDIDMode (HUSBCHANNEL hChannel,
MWCAP_EDID_MODE mode 
)
+
+ +

Sets the edid mode.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[out]modeThe edid mode set to device
+
+
+
Returns
Returns MW_SUCCEED if succeeded, otherwise returns MW_FAILED or NW_INVALID_PARAMS
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetFirmwareErase (HUSBCHANNEL hChannel,
uint32_t cbOffset,
uint32_t cbErase 
)
+
+ +

Erases firmware data from USB device.

+
Parameters
+ + + + +
[in]hChannelChannel handle of USB device
[in]cbOffsetAddress offset
[in]cbEraseErased size
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetNotifyEnable (HUSBCHANNEL hChannel,
MWCAP_NOTIFY_ENABLEpNotify 
)
+
+ +

Sets notification types for specified channel.

+
Parameters
+ + + +
[in]hChannelChannel handle of the USB device
[in]pNotifyNotification
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets notification types for the specified channel.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_NOTIFY_ENABLE t_notify;
7 t_notify.bInterrupt=false;
8 t_notify.ullEnableBits=MWCAP_NOTIFY_xxx|MWCAP_NOTIFY_xxx|...;
9 ...
10 MWUSBSetNotifyEnable(hChannel, &t_notify);
11 ...
12 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
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.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[in]pImageModeThe image pattern showed when there is not a valid input signal
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets the image pattern showed when there is not a valid input signal.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_STATUS_IMAGE_MODE t_mode=MWCAP_STATUS_IMAGE_BLUE;
7 MWUSBSetStatusImageMode(hChannel, &t_mode);
8 ...
9 MWUSBSaveOptions(hChannel);
10 ...
11 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFOURCC (HUSBCHANNEL hChannel,
MWCAP_VIDEO_OUTPUT_FOURCCpOutputFourCC 
)
+
+ +

Sets capture formats supported by the USB device, 3 at most.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[in]pOutputFourCCSupported capture formats
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Sets capture formats supported by the USB device, which is 3 at most. The function must work with MWUSBSaveOptions, and plugs and reconnects the USB device after setting, then the function will work.
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OUTPUT_FOURCC t_fmt;
7 MWUSBGetVideoOutputFOURCC(hChannel ,&t_fmt);
8 t_fmt.xx=...;
9 MWUSBSetVideoOutputFOURCC(hChannel ,&t_fmt);
10 ...
11 MWUSBSaveOptions(hChannel);
12 ...
13 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameInterval (HUSBCHANNEL hChannel,
MWCAP_VIDEO_OUTPUT_FRAME_INTERVALpFrameInterval 
)
+
+ +

Sets capture intervals supported by USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[in]pFrameIntervalCapture intervals
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OUTPUT_FRAME_INTERVAL t_internal;
7 MWUSBGetVideoOutputFrameInterval(hChannel, &t_internal);
8 ...
9 t_internal.xx=...;
10 ...
11 MWUSBSetVideoOutputFrameInterval(hChannel, &t_internal);
12 ...
13 MWUSBSaveOptions(hChannel);
14 ...
15 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBSetVideoOutputFrameSize (HUSBCHANNEL hChannel,
MWCAP_VIDEO_OUTPUT_FRAME_SIZEpFrameSize 
)
+
+ +

Sets resolutions supported by the USB device.

+
Parameters
+ + + +
[in]hChannelChannel handle of USB device
[in]pFrameSizeResolutions supported by the USB device
+
+
+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+

1 char pDevicePath[128] = {0};
2 mr = MWGetDevicePath(i, pDevicePath);
3 ...
4 HCHANNEL hChannel = MWOpenChannelByPath(pDevicePath);
5 ...
6 MWCAP_VIDEO_OUTPUT_FRAME_SIZE t_fsize;
7 MWUSBGetVideoOutputFrameSize(hChannel, &t_fsize);
8 ...
9 t_fsize.xx=...;
10 ...
11 MWUSBSetVideoOutputFrameSize(hChannel, &t_fsize);
12 ...
13 MWUSBSaveOptions(hChannel);
14 ...
15 MWCloseChannel(hChannel);
+
+
+ +
+
+ + + + + + + +
MW_RESULT LIBMWCAPTURE_API MWUSBUnRegisterHotPlug ()
+
+ +

Unregisters hotplug callback function.

+
Returns
Function return values are as follows + + + + + + +
MW_SUCCEEDED Function call succeeded.
MW_FAILED Function call failed.
MW_INVALID_PARAMS Input invalid value(s).
+
+

Usage:
+Unregisters hotplug callback function of USB capture device.
+Refers to MWUSBRegisterHotPlug
+

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__functions.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__functions.html new file mode 100644 index 00000000..45dc1f22 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__functions.html @@ -0,0 +1,54 @@ + + + + + + + + + Hardware Encoder Module Extension Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
Hardware Encoder Module Extension Functions
+
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__variables__enum.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__variables__enum.html new file mode 100644 index 00000000..278abd08 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__variables__enum.html @@ -0,0 +1,54 @@ + + + + + + + + + Hardware Encoder Module Extension Enumeration - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
Hardware Encoder Module Extension Enumeration
+
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__variables__struct.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__variables__struct.html new file mode 100644 index 00000000..3e04a931 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__ex__variables__struct.html @@ -0,0 +1,54 @@ + + + + + + + + + Hardware Encoder Module Extension Structures - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+
+
Hardware Encoder Module Extension Structures
+
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__functions.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__functions.html new file mode 100644 index 00000000..c5fd39c0 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__functions.html @@ -0,0 +1,625 @@ + + + + + + + + + Hardware Encoder Module Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Hardware Encoder Module Functions
+
+
+ + + + + +

+Typedefs

typedef void(* MW_ENCODER_CALLBACK) (void *user_ptr, const uint8_t *p_frame, uint32_t frame_len, mw_venc_frame_info_t *p_frame_info)
 Callback functions. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

mw_venc_status_t mw_venc_init ()
 Initializes mw_venc. More...
 
mw_venc_status_t mw_venc_deinit ()
 Destroys mw_venc. More...
 
int32_t mw_venc_get_gpu_num ()
 Obtains the number of GPUs for hardware video encoding and decoding. More...
 
mw_venc_status_t mw_venc_get_gpu_info_by_index (int32_t index, mw_venc_gpu_info_t *info)
 Obtains hardware information of GPU by index. More...
 
mw_venc_status_t mw_venc_get_default_param (mw_venc_param_t *p_param)
 Gets the default value of encoding parameters. More...
 
uint32_t mw_venc_get_support_platfrom ()
 Gets supported encoding hardware platform. More...
 
mw_venc_handle_t mw_venc_create (mw_venc_platform_t platform, mw_venc_param_t *p_param, MW_ENCODER_CALLBACK frame_callback, void *user_ptr)
 Creates an encoder. More...
 
mw_venc_handle_t mw_venc_create_by_index (int32_t index, mw_venc_param_t *p_param, MW_ENCODER_CALLBACK frame_callback, void *user_ptr)
 Ctreats an encoder. More...
 
mw_venc_status_t mw_venc_put_frame (mw_venc_handle_t handle, uint8_t *p_frame)
 Imports data to encoders. More...
 
mw_venc_status_t mw_venc_put_frame_ex (mw_venc_handle_t handle, uint8_t *p_frame, int64_t pts)
 Imports data to encoders. More...
 
mw_venc_status_t mw_venc_destory (mw_venc_handle_t handle)
 Destroys encoders. More...
 
mw_venc_status_t mw_venc_get_property (mw_venc_handle_t handle, mw_venc_property_t param, void *args)
 Gets encoder parameters. More...
 
mw_venc_status_t mw_venc_set_property (mw_venc_handle_t handle, mw_venc_property_t param, void *args)
 Sets encoder parameters. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* MW_ENCODER_CALLBACK) (void *user_ptr, const uint8_t *p_frame, uint32_t frame_len, mw_venc_frame_info_t *p_frame_info)
+
+ +

Callback functions.

+

out code date.
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
mw_venc_handle_t mw_venc_create (mw_venc_platform_t platform,
mw_venc_param_tp_param,
MW_ENCODER_CALLBACK frame_callback,
void * user_ptr 
)
+
+ +

Creates an encoder.

+
Parameters
+ + + + + +
[in]platformHardware encoding platform
[in]p_paramEncoder parameters
[in]frame_callbackEncoder callback function
[in]user_ptrCallback parameter
+
+
+
Returns
Returns the encoder handle if succeeded, otherwise returns NULL.
+

Usage:
+ The recommended way to call the function is as follows.

1  ....
2  // Callback function
3  void encode_callback(
4  void * user_ptr,
5  const uint8_t * p_frame,
6  uint32_t frame_len,
7  mw_venc_frame_info_t *p_frame_info)
8  {
9  // Processes data
10  }
11  ...
12  mw_venc_init();
13  ...
14  mw_venc_handle_t t_handle = NULL;
15  mw_venc_platform_t t_platfrom = MW_VENC_PLATFORM_UNKNOWN;
16  mw_venc_param_t t_venc_param;
17  mw_venc_status_t t_venc_stat = MW_VENC_STATUS_SUCCESS;
18  mw_venc_get_default_param(&t_venc_param);
19  uint32 t_u32_platfrom = mw_venc_get_support_platfrom();
20  if(t_u32_platfrom & MW_VENC_PLATFORM_AMD){
21  //For AMD
22  t_platfrom = MW_VENC_PLATFORM_AMD;
23  }
24  if(t_u32_platform & MW_VENC_PLATFORM_INTEL){
25  //For Intel
26  t_platfrom = MW_VENC_PLATFORM_INTEL;
27  }
28  if(t_u32_platform & MW_VENC_PLATFORM_NVIDIA){
29  //For Nvidia
30  t_platfrom = MW_VENC_PLATFORM_NVIDIA;
31  }
32  t_venc_param.code_type = MW_VENC_CODE_TYPE_H264;
33  t_venc_param.fourcc = MW_VENC_FOURCC_NV12;
34  t_venc_param.targetusage = MW_VENC_TARGETUSAGE_BALANCED;
35  t_venc_param.rate_control.mode = MW_VENC_RATECONTROL_CBR;
36  t_venc_param.rate_control.target_bitrate = 4096;
37  t_venc_param.width = 1920;
38  t_venc_param.height = 1080;
39  t_venc_param.profile = MW_VENC_PROFILE_H264_MAIN;
40  ...
41  // Creates an encoder
42  t_handle = mw_venc_create(t_platfrom,&t_venc_param,encode_callback,NULL);
43  ...
44  // Inputs data char* t_p_data;
45  t_venc_stat = mw_venc_put_frame(t_handle,t_p_data);
46  ...
47  // Gets parameters of encoder
48  mw_venc_property_t t_property = MW_VENC_PROPERTY_FPS;
49  mw_venc_fps_t t_fps;
50  t_venc_stat = mw_venc_get_property(t_handle,t_property,&t_fps);
51  ...
52  //Modifies parameters of encoder
53  t_fps.num = 30;
54  t_fps.den = 1;
55  t_venc_stat = mw_venc_set_property(t_handle,t_property,&t_fps);
56  ...
57  // Destroys the encoder
58  t_venc_stat = mw_venc_destory(t_handle);
59  t_handle = NULL;
60  ...
61 mw_venc_deinit();
62  ...
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
mw_venc_handle_t mw_venc_create_by_index (int32_t index,
mw_venc_param_tp_param,
MW_ENCODER_CALLBACK frame_callback,
void * user_ptr 
)
+
+ +

Ctreats an encoder.

+
Parameters
+ + + + + +
[in]indexindex of GPU used for hardware encoding
[in]p_paramparameters of the encoder
[in]frame_callbackcallback
[in]user_ptrcallback parameters
+
+
+
Returns
If succeeded, it returns the encoder handle; otherwise, it returns NULL.
+

Usage:
+ The recommended way to call the function is as follows.

1 ....
2 // callback
3 void encode_callback(
4  void * user_ptr,
5  const uint8_t * p_frame,
6  uint32_t frame_len,
7  mw_venc_frame_info_t *p_frame_info)
8 {
9  // Processes data
10 }
11 ...
12 mw_venc_init();
13 ...
14 mw_venc_handle_t t_handle = NULL;
15 mw_venc_platform_t t_platfrom = MW_VENC_PLATFORM_UNKNOWN;
16 mw_venc_param_t t_venc_param;
17 mw_venc_status_t t_venc_stat = MW_VENC_STATUS_SUCCESS;
18 mw_venc_get_default_param(&t_venc_param);
19 int t_n_num = mw_venc_get_gpu_num();
20 int t_n_index = -1;
21 if(t_n_num>0)
22  t_n_index = 0;
23 t_venc_param.code_type = MW_VENC_CODE_TYPE_H264;
24 t_venc_param.fourcc = MW_VENC_FOURCC_NV12;
25 t_venc_param.targetusage = MW_VENC_TARGETUSAGE_BALANCED;
26 t_venc_param.rate_control.mode = MW_VENC_RATECONTROL_CBR;
27 t_venc_param.rate_control.target_bitrate = 4096;
28 t_venc_param.width = 1920;
29 t_venc_param.height = 1080;
30 t_venc_param.profile = MW_VENC_PROFILE_H264_MAIN;
31 ...
32 // Creates an encoder
33 t_handle = mw_venc_create_by_index(t_n_index,&t_venc_param,encode_callback,NULL);
34 ...
35 // Inputs data char* t_p_data;
36 t_venc_stat = mw_venc_put_frame(t_handle,t_p_data);
37 ...
38 // Obtains encoder parameters
39 mw_venc_property_t t_property = MW_VENC_PROPERTY_FPS;
40 mw_venc_fps_t t_fps;
41 t_venc_stat = mw_venc_get_property(t_handle,t_property,&t_fps);
42 ...
43 // Modifys encoder parameters
44 t_fps.num = 30;
45 t_fps.den = 1;
46 t_venc_stat = mw_venc_set_property(t_handle,t_property,&t_fps);
47 ...
48 // Destroys the encoder
49 t_venc_stat = mw_venc_destory(t_handle);
50 t_handle = NULL;
51 ...
52 mw_venc_deinit();
53 ...
+
+
+ +
+
+ + + + + + + +
mw_venc_status_t mw_venc_deinit ()
+
+ +

Destroys mw_venc.

+
Returns
Returns mw_venc_status_t, by default it is MW_VENC_STATUS_SUCCESS.
+

Usage: Refers to mw_venc_init

+ +
+
+ +
+
+ + + + + + + + +
mw_venc_status_t mw_venc_destory (mw_venc_handle_t handle)
+
+ +

Destroys encoders.

+
Parameters
+ + +
[in]handleEncoder handle
+
+
+
Returns
The possible return values of mw_venc_status_t are as follows. + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded.
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
+
+

Usage:
+The usage refers to mw_venc_create mw_venc_create_by_index

+ +
+
+ +
+
+ + + + + + + + +
mw_venc_status_t mw_venc_get_default_param (mw_venc_param_tp_param)
+
+ +

Gets the default value of encoding parameters.

+
Parameters
+ + +
[out]p_paramencoding parameters
+
+
+
Returns
The values of returned mw_venc_status_t are as follows. + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded.
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
+
+

Related type(s):
+mw_venc_param_t
+Sets the default value of the parameters.
+

1 p_param->code_type = MW_VENC_CODE_TYPE_UNKNOWN;
2 p_param->fourcc = MW_VENC_FOURCC_UNKNOWN;
3 p_param->targetusage = MW_VENC_TARGETUSAGE_BALANCED;
4 p_param->rate_control.mode = MW_VENC_RATECONTROL_UNKNOWN;
5 p_param->rate_control.target_bitrate = 0;
6 p_param->rate_control.max_bitrate = 0;
7 p_param->width = 0;
8 p_param->height = 0;
9 p_param->fps.num = 60;
10 p_param->fps.den = 1;
11 p_param->slice_num = 1;
12 p_param->gop_pic_size = 60;
13 p_param->gop_ref_size = 1;
14 p_param->profile = MW_VENC_PROFILE_UNKNOWN;
15 p_param->level = MW_VENC_LEVEL_5_1;
16 p_param->amd_mem_reserved = MW_VENC_AMD_MEM_DX11;
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
mw_venc_status_t mw_venc_get_gpu_info_by_index (int32_t index,
mw_venc_gpu_info_tinfo 
)
+
+ +

Obtains hardware information of GPU by index.

+
Returns
Returns mw_venc_status_t. The possible return values are as follows. + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded.
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
+
+

Related type(s):
+ mw_venc_gpu_info_t Usage:
+

1 mw_venc_status_t t_status = MW_VENC_STATUS_SUCCESS;
2 mw_venc_init();
3 ...
4 int t_n_num = mw_venc_get_gpu_num();
5 ...
6 uint32 t_u32_platforms = mw_venc_get_support_platfrom();
7 for(int i=0;i<t_u32_platforms;i++){
8  mw_venc_gpu_info_t t_gou_info;
9  t_status = mw_venc_get_gpu_info_by_index(i,&t_gpu_info);
10  if(t_status == MW_VENC_STATUS_SUCCESS){
11  // ...
12  }
13 }
14 ...
15 mw_venc_deinit();

Call the function after mw_venc_init

+ +
+
+ +
+
+ + + + + + + +
int32_t mw_venc_get_gpu_num ()
+
+ +

Obtains the number of GPUs for hardware video encoding and decoding.

+
Returns
Returns the number of GPUs for hardware video encoding and decoding
+

Usage: Refers to mw_venc_init Note: Call the function after mw_venc_init

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
mw_venc_status_t mw_venc_get_property (mw_venc_handle_t handle,
mw_venc_property_t param,
void * args 
)
+
+ +

Gets encoder parameters.

+
Parameters
+ + + + +
[in]handleEncoder handle
[in]paramParameter type
[out]argsParameter values
+
+
+
Returns
The possible return values of mw_venc_status_t are as follows. + + + + + + + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded.
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
MW_VENC_STATUS_FAIL Failed to get encoder parameters.
MW_VENC_STATUS_UNSUPPORT Unsupported parameter type.
MW_VENC_STATUS_UNKNOWN_ERROR Failed to get encoder parameters with unknown error.
+
+

Usage:
+The usage refers to mw_venc_create mw_venc_create_by_index

+ +
+
+ +
+
+ + + + + + + +
uint32_t mw_venc_get_support_platfrom ()
+
+ +

Gets supported encoding hardware platform.

+
Returns
Returns mask of supported hardware encoding platform. The detailed information refers to mw_venc_platform_t.
+

Usage:
+The recommended way of calling function:

1 ...
2 mw_venc_init();
3 ...
4 uint32 t_u32_platfrom = mw_venc_get_support_platfrom();
5 if(t_u32_platfrom & MW_VENC_PLATFORM_AMD){
6  //For AMD hardware encoding
7 }
8 if(t_u32_platform & MW_VENC_PLATFORM_INTEL){
9  //For Intel hardware encoding
10 }
11 if(t_u32_platform & MW_VENC_PLATFORM_NVIDIA){
12  //For Nvidia hardware encoding
13 }
14 ...
15 mw_venc_deinit();
16 ...
+
+
+ +
+
+ + + + + + + +
mw_venc_status_t mw_venc_init ()
+
+ +

Initializes mw_venc.

+
Returns
Returns mw_venc_status_t, by default it is MW_VENC_STATUS_SUCCESS.
+

Usage: The suggested API call:

1 // Call the function before other mw_venc modules. It initializes resources for the mw_venc.
2 mw_venc_init();
3 ...
4 int t_n_num = mw_venc_get_gpu_num();
5 ...
6 uint32 t_u32_platforms = mw_venc_get_support_platfrom()
7 ...
8 mw_venc_deinit();
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
mw_venc_status_t mw_venc_put_frame (mw_venc_handle_t handle,
uint8_t * p_frame 
)
+
+ +

Imports data to encoders.

+
Parameters
+ + + +
[in]handleEncoder handle
[in]p_frameFrame data
+
+
+
Returns
The possible return values of mw_venc_status_t are as follows. + + + + + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded.
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
MW_VENC_STATUS_FAIL Function call failed.
MW_VENC_STATUS_UNKNOWN_ERROR Function call failed with unknown errors.
+
+

Usage:
+The usage refers to mw_venc_create
+ mw_venc_create_by_index

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
mw_venc_status_t mw_venc_put_frame_ex (mw_venc_handle_t handle,
uint8_t * p_frame,
int64_t pts 
)
+
+ +

Imports data to encoders.

+
Parameters
+ + + + +
[in]handleEncoder handle
[in]p_frameFrame data
[in]ptstimestamp
+
+
+
Returns
The possible return values of mw_venc_status_t are as follows. + + + + + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
MW_VENC_STATUS_FAIL Function call failed.
MW_VENC_STATUS_UNKNOWN_ERROR Function call failed with unknown errors.
+
+

Usage:
+The usage refers to mw_venc_put_frame

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
mw_venc_status_t mw_venc_set_property (mw_venc_handle_t handle,
mw_venc_property_t param,
void * args 
)
+
+ +

Sets encoder parameters.

+
Parameters
+ + + +
[in]handleEncoder handle [in] param Parameter type
[in]argsParameter values
+
+
+
Returns
The possible return values of mw_venc_status_t are as follows. + + + + + + + + +
MW_VENC_STATUS_SUCCESS Function call succeeded.
MW_VENC_STATUS_INVALID_PARAM Input invalid value(s).
MW_VENC_STATUS_FAIL Function call failed.
MW_VENC_STATUS_UNSUPPORT Unsupported parameter type.
+
+

Usage:
+The usage refers to mw_venc_create mw_venc_create_by_index

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__variables__enum.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__variables__enum.html new file mode 100644 index 00000000..529a45d0 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__variables__enum.html @@ -0,0 +1,951 @@ + + + + + + + + + Hardware Encoder Module Enumeration - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Hardware Encoder Module Enumeration
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef enum mw_venc_frame_type mw_venc_frame_type_t
 mw_venc_frame_type_t More...
 
typedef enum mw_venc_platform mw_venc_platform_t
 mw_venc_platform_t More...
 
typedef enum mw_venc_code_type mw_venc_code_type_t
 mw_venc_code_type_t More...
 
typedef enum mw_venc_targetusage mw_venc_targetusage_t
 mw_venc_targetusage_t More...
 
typedef enum mw_venc_rate_control_mode mw_venc_rate_control_mode_t
 mw_venc_rate_control_mode_t More...
 
typedef enum mw_venc_profile mw_venc_profile_t
 mw_venc_profile_t More...
 
typedef enum mw_venc_level mw_venc_level_t
 mw_venc_level_t More...
 
typedef enum mw_venc_fourcc mw_venc_fourcc_t
 mw_venc_fourcc_t More...
 
typedef enum mw_venc_property mw_venc_property_t
 mw_venc_property_t More...
 
typedef enum mw_venc_status mw_venc_status_t
 mw_venc_status_t More...
 
typedef enum mw_venc_amd_mem_type mw_venc_amd_mem_type_t
 mw_venc_amd_mem_type_t More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  mw_venc_frame_type {
+  MW_VENC_FRAME_TYPE_UNKNOWN, +MW_VENC_FRAME_TYPE_IDR, +MW_VENC_FRAME_TYPE_I, +MW_VENC_FRAME_TYPE_P, +
+  MW_VENC_FRAME_TYPE_B, +MW_VENC_FRAME_TYPE_COUNT +
+ }
 mw_venc_frame_type_t More...
 
enum  mw_venc_platform {
+  MW_VENC_PLATFORM_UNKNOWN =0, +MW_VENC_PLATFORM_AMD =1, +MW_VENC_PLATFORM_INTEL =2, +MW_VENC_PLATFORM_NVIDIA =4, +
+  MW_VENC_PLATFORM_COUNT +
+ }
 mw_venc_platform_t More...
 
enum  mw_venc_code_type {
+  MW_VENC_CODE_TYPE_UNKNOWN, +MW_VENC_CODE_TYPE_AVC, +MW_VENC_CODE_TYPE_HEVC, +MW_VENC_CODE_TYPE_H264 = MW_VENC_CODE_TYPE_AVC, +
+  MW_VENC_CODE_TYPE_H265 = MW_VENC_CODE_TYPE_HEVC, +MW_VENC_CODE_TYPE_COUNT +
+ }
 mw_venc_code_type_t More...
 
enum  mw_venc_targetusage {
+  MW_VENC_TARGETUSAGE_UNKNOWN, +MW_VENC_TARGETUSAGE_BEST_QUALITY, +MW_VENC_TARGETUSAGE_BALANCED, +MW_VENC_TARGETUSAGE_BEST_SPEED, +
+  MW_VENC_TARGETUSAGE_COUNT +
+ }
 mw_venc_targetusage_t More...
 
enum  mw_venc_rate_control_mode {
+  MW_VENC_RATECONTROL_UNKNOWN, +MW_VENC_RATECONTROL_CBR, +MW_VENC_RATECONTROL_VBR, +MW_VENC_RATECONTROL_CQP, +
+  MW_VENC_RATECONTROL_COUNT +
+ }
 mw_venc_rate_control_mode_t More...
 
enum  mw_venc_profile {
+  MW_VENC_PROFILE_UNKNOWN, +MW_VENC_PROFILE_H264_BASELINE, +MW_VENC_PROFILE_H264_MAIN, +MW_VENC_PROFILE_H264_HIGH, +
+  MW_VENC_PROFILE_H265_MAIN, +MW_VENC_PROFILE_COUNT +
+ }
 mw_venc_profile_t More...
 
enum  mw_venc_level {
+  MW_VENC_LEVEL_UNKNOWN, +MW_VENC_LEVEL_2_1, +MW_VENC_LEVEL_3_1, +MW_VENC_LEVEL_4_1, +
+  MW_VENC_LEVEL_5_1, +MW_VENC_LEVEL_5_2, +MW_VENC_LEVEL_6_1, +MW_VENC_LEVEL_6_2, +
+  MW_VENC_LEVEL_COUNT +
+ }
 mw_venc_level_t More...
 
enum  mw_venc_fourcc {
+  MW_VENC_FOURCC_UNKNOWN, +MW_VENC_FOURCC_NV12, +MW_VENC_FOURCC_NV21, +MW_VENC_FOURCC_YV12, +
+  MW_VENC_FOURCC_I420, +MW_VENC_FOURCC_YUY2, +MW_VENC_FOURCC_P010, +MW_VENC_FOURCC_BGRA, +
+  MW_VENC_FOURCC_RGBA, +MW_VENC_FOURCC_ARGB, +MW_VENC_FOURCC_ABGR, +MW_VENC_FOURCC_COUNT +
+ }
 mw_venc_fourcc_t More...
 
enum  mw_venc_property {
+  MW_VENC_PROPERTY_UNKNOWN, +MW_VENC_PROPERTY_RATE_CONTROL, +MW_VENC_PROPERTY_FPS, +MW_VENC_PROPERTY_GOP_SIZE, +
+  MW_VENC_PROPERTY_SLICE_NUM, +MW_VENC_PROPERTY_GOP_REF_SIZE, +MW_VENC_PROPERTY_EXTDATA, +MW_VENC_PROPERTY_FORCE_IDR, +
+  MW_VENC_PROPERTY_COUNT +
+ }
 mw_venc_property_t More...
 
enum  mw_venc_status {
+  MW_VENC_STATUS_SUCCESS, +MW_VENC_STATUS_FAIL, +MW_VENC_STATUS_UNSUPPORT, +MW_VENC_STATUS_BUSY, +
+  MW_VENC_STATUS_INVALID_PARAM, +MW_VENC_STATUS_UNKNOWN_ERROR, +MW_VENC_STATUS_COUNT +
+ }
 mw_venc_status_t More...
 
enum  mw_venc_amd_mem_type {
+  MW_VENC_AMD_MEM_AUTO, +MW_VENC_AMD_MEM_CPU, +MW_VENC_AMD_MEM_DX9, +MW_VENC_AMD_MEM_DX11, +
+  MW_VENC_AMD_MEM_OPENGL, +MW_VENC_AMD_MEM_VULKAN, +MW_VENC_AMD_MEM_COUNT +
+ }
 mw_venc_amd_mem_type_t More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ +

mw_venc_amd_mem_type_t

+

Defines types when encoding with AMD
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_code_type mw_venc_code_type_t
+
+ +

mw_venc_code_type_t

+

Defines code types.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_fourcc mw_venc_fourcc_t
+
+ +

mw_venc_fourcc_t

+

Defines the color format.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_frame_type mw_venc_frame_type_t
+
+ +

mw_venc_frame_type_t

+

Defines the frame types to be encoded.
+Related type(s):
+ mw_venc_frame_info_t
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ MW_ENCODER_CALLBACK

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_level mw_venc_level_t
+
+ +

mw_venc_level_t

+

Defines the video encoding level. The higher the level is, the higher the bitrate, resolution, frame rate are being supported.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_platform mw_venc_platform_t
+
+ +

mw_venc_platform_t

+

Defines the hardware types which is used to do hardware encoding.
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_profile mw_venc_profile_t
+
+ +

mw_venc_profile_t

+

Defines the profile type.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_property mw_venc_property_t
+
+ +

mw_venc_property_t

+

Defines the encoder properties.
+Related function(s):
+ mw_venc_get_property mw_venc_set_property

+ +
+
+ +
+
+ +

mw_venc_rate_control_mode_t

+

Defines the bitrate controlling types.
+Related type(s):
+ mw_venc_param
+ mw_venc_rate_control
+ MW_VENC_PROPERTY_RATE_CONTROL
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_status mw_venc_status_t
+
+ +

mw_venc_status_t

+

Return status of coding APIs

+ +
+
+ +
+
+ + + + +
typedef enum mw_venc_targetusage mw_venc_targetusage_t
+
+ +

mw_venc_targetusage_t

+

Defines the preset of quality and speed mode for your encoder.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum mw_venc_amd_mem_type
+
+ +

mw_venc_amd_mem_type_t

+

Defines types when encoding with AMD
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+

+ + + + + + + + +
Enumerator
MW_VENC_AMD_MEM_AUTO  +

Uses memory determined by system.

+
MW_VENC_AMD_MEM_CPU  +

Uses memory.

+
MW_VENC_AMD_MEM_DX9  +

Uses DX9.

+
MW_VENC_AMD_MEM_DX11  +

Uses DX11.

+
MW_VENC_AMD_MEM_OPENGL  +

Uses OpenGL.

+
MW_VENC_AMD_MEM_VULKAN  +

Uses Vulkan.

+
MW_VENC_AMD_MEM_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_code_type
+
+ +

mw_venc_code_type_t

+

Defines code types.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + + +
Enumerator
MW_VENC_CODE_TYPE_UNKNOWN  +

Unknown.

+
MW_VENC_CODE_TYPE_AVC  +

AVC/H264.

+
MW_VENC_CODE_TYPE_HEVC  +

HEVC/H265.

+
MW_VENC_CODE_TYPE_H264  +

H264.

+
MW_VENC_CODE_TYPE_H265  +

H265.

+
MW_VENC_CODE_TYPE_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_fourcc
+
+ +

mw_venc_fourcc_t

+

Defines the color format.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + + + + + + + + +
Enumerator
MW_VENC_FOURCC_UNKNOWN  +

Unknown.

+
MW_VENC_FOURCC_NV12  +

NV12 equals MWFOURCC_NV12.

+
MW_VENC_FOURCC_NV21  +

NV21 equals MWFOURCC_NV21.

+
MW_VENC_FOURCC_YV12  +

YV12 equals MWFOURCC_YV12.

+
MW_VENC_FOURCC_I420  +

I420 equals MWFOURCC_I420.

+
MW_VENC_FOURCC_YUY2  +

YUY2 equals MWFOURCC_YUY2.

+
MW_VENC_FOURCC_P010  +

P010 equals MWFOURCC_P010.

+
MW_VENC_FOURCC_BGRA  +

BGRA equals MWFOURCC_BGRA.

+
MW_VENC_FOURCC_RGBA  +

RGBA equals MWFOURCC_RGBA.

+
MW_VENC_FOURCC_ARGB  +

ARGB equals MWFOURCC_ARGB.

+
MW_VENC_FOURCC_ABGR  +

ABGR equals MWFOURCC_ABGR.

+
MW_VENC_FOURCC_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_frame_type
+
+ +

mw_venc_frame_type_t

+

Defines the frame types to be encoded.
+Related type(s):
+ mw_venc_frame_info_t
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ MW_ENCODER_CALLBACK

+ + + + + + + +
Enumerator
MW_VENC_FRAME_TYPE_UNKNOWN  +

Unknown frame.

+
MW_VENC_FRAME_TYPE_IDR  +

IDR frame.

+
MW_VENC_FRAME_TYPE_I  +

I-frame.

+
MW_VENC_FRAME_TYPE_P  +

P-frame.

+
MW_VENC_FRAME_TYPE_B  +

B-frame.

+
MW_VENC_FRAME_TYPE_COUNT  +

Number of frame types enumerated.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_level
+
+ +

mw_venc_level_t

+

Defines the video encoding level. The higher the level is, the higher the bitrate, resolution, frame rate are being supported.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + + + + + +
Enumerator
MW_VENC_LEVEL_UNKNOWN  +

Unknown.

+
MW_VENC_LEVEL_2_1  +

Level 2.1.

+
MW_VENC_LEVEL_3_1  +

Level 3.1.

+
MW_VENC_LEVEL_4_1  +

Level 4.1.

+
MW_VENC_LEVEL_5_1  +

Level 5.1.

+
MW_VENC_LEVEL_5_2  +

Level 5.2.

+
MW_VENC_LEVEL_6_1  +

Level 6.1.

+
MW_VENC_LEVEL_6_2  +

Level 6.2.

+
MW_VENC_LEVEL_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_platform
+
+ +

mw_venc_platform_t

+

Defines the hardware types which is used to do hardware encoding.
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + +
Enumerator
MW_VENC_PLATFORM_UNKNOWN  +

Unknown hardware type, the binary value is 0000 0000.

+
MW_VENC_PLATFORM_AMD  +

AMD graphics, the binary value is 0000 0001.

+
MW_VENC_PLATFORM_INTEL  +

Intel graphics, the binary value is 0000 0010.

+
MW_VENC_PLATFORM_NVIDIA  +

Nvidia graphics, the binary value is 0000 0100.

+
MW_VENC_PLATFORM_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_profile
+
+ +

mw_venc_profile_t

+

Defines the profile type.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + + +
Enumerator
MW_VENC_PROFILE_UNKNOWN  +

Unknown.

+
MW_VENC_PROFILE_H264_BASELINE  +

H264 baseline.

+
MW_VENC_PROFILE_H264_MAIN  +

H264 main.

+
MW_VENC_PROFILE_H264_HIGH  +

H264 high.

+
MW_VENC_PROFILE_H265_MAIN  +

H265 main.

+
MW_VENC_PROFILE_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_property
+
+ +

mw_venc_property_t

+

Defines the encoder properties.
+Related function(s):
+ mw_venc_get_property mw_venc_set_property

+ + + + + + + + + + +
Enumerator
MW_VENC_PROPERTY_UNKNOWN  +

Unknown.

+
MW_VENC_PROPERTY_RATE_CONTROL  +

Rate: mw_venc_rate_control_t default MW_VENC_RATECONTROL_CBR 4096k.

+
MW_VENC_PROPERTY_FPS  +

Frame rate: mw_venc_fps_t default 60/1.

+
MW_VENC_PROPERTY_GOP_SIZE  +

GOP: int32_t default 60.

+
MW_VENC_PROPERTY_SLICE_NUM  +

Number of slices: int32_t default 1.

+
MW_VENC_PROPERTY_GOP_REF_SIZE  +

GOP reference size: int32_t defalut 0, if = 1 -> no b-frame.

+
MW_VENC_PROPERTY_EXTDATA  +

Extened data: mw_venc_extdata_t just get vps sps pps.

+
MW_VENC_PROPERTY_FORCE_IDR  +

Force IDR.

+
MW_VENC_PROPERTY_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_rate_control_mode
+
+ +

mw_venc_rate_control_mode_t

+

Defines the bitrate controlling types.
+Related type(s):
+ mw_venc_param
+ mw_venc_rate_control
+ MW_VENC_PROPERTY_RATE_CONTROL
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + +
Enumerator
MW_VENC_RATECONTROL_UNKNOWN  +

Unknown.

+
MW_VENC_RATECONTROL_CBR  +

Constant Bit Rate.

+
MW_VENC_RATECONTROL_VBR  +

Variable Bit Rate.

+
MW_VENC_RATECONTROL_CQP  +

Constant Quantization Parameter.

+
MW_VENC_RATECONTROL_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_status
+
+ +

mw_venc_status_t

+

Return status of coding APIs

+ + + + + + + + +
Enumerator
MW_VENC_STATUS_SUCCESS  +

Success.

+
MW_VENC_STATUS_FAIL  +

Fail.

+
MW_VENC_STATUS_UNSUPPORT  +

Not supported.

+
MW_VENC_STATUS_BUSY  +

Busy.

+
MW_VENC_STATUS_INVALID_PARAM  +

Invalid parameter.

+
MW_VENC_STATUS_UNKNOWN_ERROR  +

Unknown error.

+
MW_VENC_STATUS_COUNT  +

The maximum input value.

+
+ +
+
+ +
+
+ + + + +
enum mw_venc_targetusage
+
+ +

mw_venc_targetusage_t

+

Defines the preset of quality and speed mode for your encoder.
+Related type(s):
+ mw_venc_param
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ + + + + + +
Enumerator
MW_VENC_TARGETUSAGE_UNKNOWN  +

Unknown.

+
MW_VENC_TARGETUSAGE_BEST_QUALITY  +

Quality first.

+
MW_VENC_TARGETUSAGE_BALANCED  +

Balance the coding quality and speed.

+
MW_VENC_TARGETUSAGE_BEST_SPEED  +

Speed first.

+
MW_VENC_TARGETUSAGE_COUNT  +

The maximum input value.

+
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__variables__struct.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__variables__struct.html new file mode 100644 index 00000000..93737e3d --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__hwe__variables__struct.html @@ -0,0 +1,229 @@ + + + + + + + + + Hardware Encoder Module Structures - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Hardware Encoder Module Structures
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Classes

struct  mw_venc_frame_info
 mw_venc_frame_info_t Defines the types infomation of frame to be encoded.
+Related type(s):
+ mw_venc_frame_type_t
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ More...
 
struct  mw_venc_rate_control
 mw_venc_rate_control_t More...
 
struct  mw_venc_fps
 mw_venc_fps_t More...
 
struct  mw_venc_extdata
 mw_venc_extdata_t More...
 
struct  mw_venc_param
 mw_venc_param_t More...
 
struct  mw_venc_gpu_info
 mw_venc_gpu_info_t More...
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef struct mw_venc_frame_info mw_venc_frame_info_t
 mw_venc_frame_info_t Defines the types infomation of frame to be encoded.
+Related type(s):
+ mw_venc_frame_type_t
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+
 
typedef struct mw_venc_rate_control mw_venc_rate_control_t
 mw_venc_rate_control_t More...
 
typedef struct mw_venc_fps mw_venc_fps_t
 mw_venc_fps_t More...
 
typedef struct mw_venc_extdata mw_venc_extdata_t
 mw_venc_extdata_t More...
 
typedef struct mw_venc_param mw_venc_param_t
 mw_venc_param_t More...
 
typedef struct mw_venc_gpu_info mw_venc_gpu_info_t
 mw_venc_gpu_info_t More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct mw_venc_extdata mw_venc_extdata_t
+
+ +

mw_venc_extdata_t

+

Defines the extended encoding data.
+Related type(s):
+ MW_VENC_PROPERTY_EXTDATA
+Related function(s):
+ mw_venc_get_property mw_venc_set_property

+ +
+
+ +
+
+ + + + +
typedef struct mw_venc_fps mw_venc_fps_t
+
+ +

mw_venc_fps_t

+

Sets the frame rate.
+Related type(s):
+ MW_VENC_PROPERTY_FPS
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+ mw_venc_get_property mw_venc_set_property

+ +
+
+ +
+
+ + + + +
typedef struct mw_venc_gpu_info mw_venc_gpu_info_t
+
+ +

mw_venc_gpu_info_t

+

hardware codec information
+ Related type(s):
+ mw_venc_platform_t
+Related function(s):
+ mw_venc_get_gpu_info_by_index
+ mw_venc_create_by_index
+

+ +
+
+ +
+
+ + + + +
typedef struct mw_venc_param mw_venc_param_t
+
+ +

mw_venc_param_t

+

Encoder configurations
+Related type(s):
+ mw_venc_code_type_t
+ mw_venc_fourcc_t
+ mw_venc_targetusage_t
+ mw_venc_rate_control_t
+ mw_venc_fps_t
+ mw_venc_profile_t
+ mw_venc_level_t
+ mw_venc_amd_mem_type_t
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+

+ +
+
+ +
+
+ + + + +
typedef struct mw_venc_rate_control mw_venc_rate_control_t
+
+ +

mw_venc_rate_control_t

+

Defines the parameters of bitrate controlling.
+Related type(s):
+ mw_venc_rate_control_mode_t
+ MW_VENC_PROPERTY_RATE_CONTROL
+Related function(s):
+ mw_venc_create
+ mw_venc_create_ex
+ mw_venc_get_default_param
+ mw_venc_get_property mw_venc_set_property

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__mp4__functions.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__mp4__functions.html new file mode 100644 index 00000000..420939c5 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__mp4__functions.html @@ -0,0 +1,406 @@ + + + + + + + + + Mp4 Muxer Functions - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Mp4 Muxer Functions
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

MW_MP4_API mw_mp4_handle_t mw_mp4_open (const char *p_path)
 
MW_MP4_API mw_mp4_status_t mw_mp4_set_video (mw_mp4_handle_t handle, const mw_mp4_video_info_t *p_info)
 
MW_MP4_API mw_mp4_status_t mw_mp4_set_audio (mw_mp4_handle_t handle, const mw_mp4_audio_info_t *p_info)
 
MW_MP4_API mw_mp4_status_t mw_mp4_set_subtitle (mw_mp4_handle_t handle, const mw_mp4_subtitle_info_t *p_info)
 
MW_MP4_API mw_mp4_status_t mw_mp4_write_video (mw_mp4_handle_t handle, const uint8_t *p_stream, uint32_t size, uint64_t timestamp)
 
MW_MP4_API mw_mp4_status_t mw_mp4_write_audio (mw_mp4_handle_t handle, const uint8_t *p_stream, uint32_t size, uint64_t timestamp)
 
MW_MP4_API mw_mp4_status_t mw_mp4_write_subtitle (mw_mp4_handle_t handle, const uint8_t *p_stream, uint32_t size, uint64_t timestamp)
 
MW_MP4_API mw_mp4_status_t mw_mp4_close (mw_mp4_handle_t handle)
 
MW_MP4_API mw_mp4_status_t mw_mp4_repair (const char *p_path, bool del)
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_close (mw_mp4_handle_t handle)
+
+

close an opened MP4 file handle

Parameters
+ + +
handlemp4 file handle
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + +
MW_MP4_API mw_mp4_handle_t mw_mp4_open (const char * p_path)
+
+

create a handle to mux video/audio/subtitle stream to mp4 file

Parameters
+ + +
p_paththe output file path
+
+
+
Returns
If succeeded, it returns the mp4 handle; otherwise, it returns NULL.
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_repair (const char * p_path,
bool del 
)
+
+

repair a broken file

Parameters
+ + + +
p_paththe broken file path
delautomatic delete the redundancy file if repair succeeded.
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_set_audio (mw_mp4_handle_t handle,
const mw_mp4_audio_info_tp_info 
)
+
+

set audio stream information, support codec aac

Parameters
+ + + +
handlemp4 handle.
p_infoaudio stream information.
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_set_subtitle (mw_mp4_handle_t handle,
const mw_mp4_subtitle_info_tp_info 
)
+
+

set subtitle(closed caption) stream information, support EIA-608 and EIA-708

Parameters
+ + + +
handlemp4 handle.
p_infosubtitle(closed caption) stream information.
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_set_video (mw_mp4_handle_t handle,
const mw_mp4_video_info_tp_info 
)
+
+

set video track information, support codec H.264 and HEVC.

Parameters
+ + + +
handlemp4 handle.
p_infovideo stream information.
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_write_audio (mw_mp4_handle_t handle,
const uint8_t * p_stream,
uint32_t size,
uint64_t timestamp 
)
+
+

write an audio frame to mp4 file

Parameters
+ + + + + +
handlemp4 handle
p_streamaudio frame data
sizeaudio frame size
timestampaudio frame timestamp
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_write_subtitle (mw_mp4_handle_t handle,
const uint8_t * p_stream,
uint32_t size,
uint64_t timestamp 
)
+
+

write a subtitle(closed caption) frame to mp4 file

Parameters
+ + + + + +
handlemp4 handle
p_streamsubtitle frame data
sizesubtitle frame size
timestampsubtitle frame timestamp
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MW_MP4_API mw_mp4_status_t mw_mp4_write_video (mw_mp4_handle_t handle,
const uint8_t * p_stream,
uint32_t size,
uint64_t timestamp 
)
+
+

write a video frame to mp4 file.

Parameters
+ + + + + +
handlemp4 handle.
p_streamvideo frame data
sizevideo frame size
timestampvideo frame timestamp
+
+
+
Returns
return MW_MP4_STATUS_SUCCESS if success, else error code
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__enum.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__enum.html new file mode 100644 index 00000000..a6501cd9 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__enum.html @@ -0,0 +1,1726 @@ + + + + + + + + + Enumration Types - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Enumration Types
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef enum _MW_RESULT_ MW_RESULT
 MW_RESULT. More...
 
typedef enum _MWCAP_PRODUCT_ID MWCAP_PRODUCT_ID
 MWCAP_PRODUCT_ID. More...
 
typedef enum _MWCAP_VIDEO_INPUT_TYPE MWCAP_VIDEO_INPUT_TYPE
 MWCAP_VIDEO_INPUT_TYPE. More...
 
typedef enum _MWCAP_AUDIO_INPUT_TYPE MWCAP_AUDIO_INPUT_TYPE
 MWCAP_AUDIO_INPUT_TYPE. More...
 
typedef enum _MWCAP_PCIE_LINK_TYPE MWCAP_PCIE_LINK_TYPE
 MWCAP_PCIE_LINK_TYPE. More...
 
typedef enum _MWCAP_VIDEO_TIMING_TYPE MWCAP_VIDEO_TIMING_TYPE
 MWCAP_VIDEO_TIMING_TYPE. More...
 
typedef enum _MWCAP_VIDEO_COLOR_FORMAT MWCAP_VIDEO_COLOR_FORMAT
 MWCAP_VIDEO_COLOR_FORMAT. More...
 
typedef enum _MWCAP_VIDEO_QUANTIZATION_RANGE MWCAP_VIDEO_QUANTIZATION_RANGE
 MWCAP_VIDEO_QUANTIZATION_RANGE. More...
 
typedef enum _MWCAP_VIDEO_SATURATION_RANGE MWCAP_VIDEO_SATURATION_RANGE
 MWCAP_VIDEO_SATURATION_RANGE. More...
 
typedef enum _MWCAP_VIDEO_FRAME_TYPE MWCAP_VIDEO_FRAME_TYPE
 MWCAP_VIDEO_FRAME_TYPE. More...
 
typedef enum _MWCAP_VIDEO_DEINTERLACE_MODE MWCAP_VIDEO_DEINTERLACE_MODE
 MWCAP_VIDEO_DEINTERLACE_MODE. More...
 
typedef enum _MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE
 MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE. More...
 
typedef enum _MWCAP_VIDEO_SYNC_TYPE MWCAP_VIDEO_SYNC_TYPE
 MWCAP_VIDEO_SYNC_TYPE. More...
 
typedef enum _MWCAP_LED_MODE MWCAP_LED_MODE
 MWCAP_LED_MODE. More...
 
typedef enum _MWCAP_SD_VIDEO_STANDARD MWCAP_SD_VIDEO_STANDARD
 MWCAP_SD_VIDEO_STANDARD. More...
 
typedef enum _MWCAP_VIDEO_SIGNAL_STATE MWCAP_VIDEO_SIGNAL_STATE
 MWCAP_VIDEO_SIGNAL_STATE. More...
 
typedef enum _MWCAP_VIDEO_FRAME_STATE MWCAP_VIDEO_FRAME_STATE
 MWCAP_VIDEO_FRAME_STATE. More...
 
typedef enum _MWCAP_HDMI_INFOFRAME_ID MWCAP_HDMI_INFOFRAME_ID
 MWCAP_HDMI_INFOFRAME_ID. More...
 
typedef enum _MWCAP_HDMI_INFOFRAME_MASK MWCAP_HDMI_INFOFRAME_MASK
 MWCAP_HDMI_INFOFRAME_MASK. More...
 
typedef enum _VIDEO_RESOLUTION_MODE MWCAP_VIDEO_RESOLUTION_MODE
 MWCAP_VIDEO_RESOLUTION_MODE. More...
 
typedef enum _MWCAP_VIDEO_PROC_PARAM_TYPE MWCAP_VIDEO_PROC_PARAM_TYPE
 MWCAP_VIDEO_PROC_PARAM_TYPE. More...
 
typedef enum _MWCAP_AUDIO_CAPTURE_NODE MWCAP_AUDIO_CAPTURE_NODE
 MWCAP_AUDIO_CAPTURE_NODE. More...
 
typedef enum _MWCAP_AUDIO_NODE MWCAP_AUDIO_NODE
 MWCAP_AUDIO_NODE. More...
 
typedef enum _MW_FAMILY_ID MW_FAMILY_ID
 MW_FAMILY_ID. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum  _MW_RESULT_ { MW_SUCCEEDED = 0x00, +MW_FAILED, +MW_ENODATA, +MW_INVALID_PARAMS + }
 MW_RESULT. More...
 
enum  _MWCAP_PRODUCT_ID {
+  MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO = 0x00000102, +MWCAP_PRODUCT_ID_PRO_CAPTURE_DVI = 0x00000103, +MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI = 0x00000104, +MWCAP_PRODUCT_ID_PRO_CAPTURE_SDI = 0x00000105, +
+  MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_SDI = 0x00000106, +MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_DVI = 0x00000107, +MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_HDMI = 0x00000108, +MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_SDI = 0x00000109, +
+  MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_HDMI = 0x00000110, +MWCAP_PRODUCT_ID_PRO_CAPTURE_MINI_HDMI = 0x00000111, +MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI_4K = 0x00000112, +MWCAP_PRODUCT_ID_PRO_CAPTURE_MINI_SDI = 0x00000113, +
+  MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO_4K_PLUS = 0x00000114, +MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI_4K_PLUS = 0x00000115, +MWCAP_PRODUCT_ID_PRO_CAPTURE_DVI_4K = 0x00000116, +MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO_4K = 0x00000117, +
+  MWCAP_PRODUCT_ID_PRO_CAPTURE_SDI_4K_PLUS = 0x00000118, +MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_HDMI_4K_PLUS = 0x00000119, +MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_SDI_4K_PLUS = 0x00000120, +MWCAP_PRODUCT_ID_ECO_CAPTURE_OCTA_SDI = 0x00000150, +
+  MWCAP_PRODUCT_ID_ECO_CAPTURE_DUAL_HDMI_M2 = 0x00000151, +MWCAP_PRODUCT_ID_ECO_CAPTURE_HDMI_4K_M2 = 0x00000152, +MWCAP_PRODUCT_ID_ECO_CAPTURE_DUAL_SDI_M2 = 0x00000153, +MWCAP_PRODUCT_ID_ECO_CAPTURE_QUAD_SDI_M2 = 0x00000154, +
+  MWCAP_PRODUCT_ID_USB_CAPTURE_HDMI_PLUS = 0x00000204, +MWCAP_PRODUCT_ID_USB_CAPTURE_SDI_PLUS = 0x00000205, +MWCAP_PRODUCT_ID_USB_CAPTURE_HDMI = 0x00000206, +MWCAP_PRODUCT_ID_USB_CAPTURE_SDI = 0x00000207, +
+  MWCAP_PRODUCT_ID_USB_CAPTURE_DVI = 0x00000208, +MWCAP_PRODUCT_ID_USB_CAPTURE_HDMI_4K = 0x00000209, +MWCAP_PRODUCT_ID_USB_CAPTURE_SDI_4K = 0x00000210, +MWCAP_PRODUCT_ID_USB_CAPTURE_AIO = 0x00000211, +
+  MWCAP_PRODUCT_ID_USB_CAPTURE_AIO_4K = 0x00000212 +
+ }
 MWCAP_PRODUCT_ID. More...
 
enum  _MWCAP_VIDEO_INPUT_TYPE {
+  MWCAP_VIDEO_INPUT_TYPE_NONE = 0x00, +MWCAP_VIDEO_INPUT_TYPE_HDMI = 0x01, +MWCAP_VIDEO_INPUT_TYPE_VGA = 0x02, +MWCAP_VIDEO_INPUT_TYPE_SDI = 0x04, +
+  MWCAP_VIDEO_INPUT_TYPE_COMPONENT = 0x08, +MWCAP_VIDEO_INPUT_TYPE_CVBS = 0x10, +MWCAP_VIDEO_INPUT_TYPE_YC = 0x20 +
+ }
 MWCAP_VIDEO_INPUT_TYPE. More...
 
enum  _MWCAP_AUDIO_INPUT_TYPE {
+  MWCAP_AUDIO_INPUT_TYPE_NONE = 0x00, +MWCAP_AUDIO_INPUT_TYPE_HDMI = 0x01, +MWCAP_AUDIO_INPUT_TYPE_SDI = 0x02, +MWCAP_AUDIO_INPUT_TYPE_LINE_IN = 0x04, +
+  MWCAP_AUDIO_INPUT_TYPE_MIC_IN = 0x08 +
+ }
 MWCAP_AUDIO_INPUT_TYPE. More...
 
enum  _MWCAP_PCIE_LINK_TYPE { MWCAP_PCIE_LINK_GEN_1 = 0x01, +MWCAP_PCIE_LINK_GEN_2 = 0x02, +MWCAP_PCIE_LINK_GEN_3 = 0x04, +MWCAP_PCIE_LINK_GEN_4 = 0x08 + }
 MWCAP_PCIE_LINK_TYPE. More...
 
enum  _MWCAP_VIDEO_TIMING_TYPE {
+  MWCAP_VIDEO_TIMING_NONE = 0x00000000, +MWCAP_VIDEO_TIMING_LEGACY = 0x00000001, +MWCAP_VIDEO_TIMING_DMT = 0x00000002, +MWCAP_VIDEO_TIMING_CEA = 0x00000004, +
+  MWCAP_VIDEO_TIMING_GTF = 0x00000008, +MWCAP_VIDEO_TIMING_CVT = 0x00000010, +MWCAP_VIDEO_TIMING_CVT_RB = 0x00000020, +MWCAP_VIDEO_TIMING_FAILSAFE = 0x00002000 +
+ }
 MWCAP_VIDEO_TIMING_TYPE. More...
 
enum  _MWCAP_VIDEO_COLOR_FORMAT {
+  MWCAP_VIDEO_COLOR_FORMAT_UNKNOWN = 0x00, +MWCAP_VIDEO_COLOR_FORMAT_RGB = 0x01, +MWCAP_VIDEO_COLOR_FORMAT_YUV601 = 0x02, +MWCAP_VIDEO_COLOR_FORMAT_YUV709 = 0x03, +
+  MWCAP_VIDEO_COLOR_FORMAT_YUV2020 = 0x04, +MWCAP_VIDEO_COLOR_FORMAT_YUV2020C = 0x05 +
+ }
 MWCAP_VIDEO_COLOR_FORMAT. More...
 
enum  _MWCAP_VIDEO_QUANTIZATION_RANGE { MWCAP_VIDEO_QUANTIZATION_UNKNOWN = 0x00, +MWCAP_VIDEO_QUANTIZATION_FULL = 0x01, +MWCAP_VIDEO_QUANTIZATION_LIMITED = 0x02 + }
 MWCAP_VIDEO_QUANTIZATION_RANGE. More...
 
enum  _MWCAP_VIDEO_SATURATION_RANGE { MWCAP_VIDEO_SATURATION_UNKNOWN = 0x00, +MWCAP_VIDEO_SATURATION_FULL = 0x01, +MWCAP_VIDEO_SATURATION_LIMITED = 0x02, +MWCAP_VIDEO_SATURATION_EXTENDED_GAMUT = 0x03 + }
 MWCAP_VIDEO_SATURATION_RANGE. More...
 
enum  _MWCAP_VIDEO_FRAME_TYPE {
+  MWCAP_VIDEO_FRAME_2D = 0x00, +MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_FULL = 0x01, +MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_HALF = 0x02, +MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_FULL = 0x03, +
+  MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_HALF = 0x04 +
+ }
 MWCAP_VIDEO_FRAME_TYPE. More...
 
enum  _MWCAP_VIDEO_DEINTERLACE_MODE { MWCAP_VIDEO_DEINTERLACE_WEAVE = 0x00, +MWCAP_VIDEO_DEINTERLACE_BLEND = 0x01, +MWCAP_VIDEO_DEINTERLACE_TOP_FIELD = 0x02, +MWCAP_VIDEO_DEINTERLACE_BOTTOM_FIELD = 0x03 + }
 MWCAP_VIDEO_DEINTERLACE_MODE. More...
 
enum  _MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE { MWCAP_VIDEO_ASPECT_RATIO_IGNORE = 0x00, +MWCAP_VIDEO_ASPECT_RATIO_CROPPING = 0x01, +MWCAP_VIDEO_ASPECT_RATIO_PADDING = 0x02 + }
 MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE. More...
 
enum  _MWCAP_VIDEO_SYNC_TYPE { VIDEO_SYNC_ALL = 0x07, +VIDEO_SYNC_HS_VS = 0x01, +VIDEO_SYNC_CS = 0x02, +VIDEO_SYNC_EMBEDDED = 0x04 + }
 MWCAP_VIDEO_SYNC_TYPE. More...
 
enum  _MWCAP_LED_MODE {
+  MWCAP_LED_AUTO = 0x00000000, +MWCAP_LED_OFF = 0x80000000, +MWCAP_LED_ON = 0x80000001, +MWCAP_LED_BLINK = 0x80000002, +
+  MWCAP_LED_DBL_BLINK = 0x80000003, +MWCAP_LED_BREATH = 0x80000004 +
+ }
 MWCAP_LED_MODE. More...
 
enum  _MWCAP_SD_VIDEO_STANDARD {
+  MWCAP_SD_VIDEO_NONE, +MWCAP_SD_VIDEO_NTSC_M, +MWCAP_SD_VIDEO_NTSC_433, +MWCAP_SD_VIDEO_PAL_M, +
+  MWCAP_SD_VIDEO_PAL_60, +MWCAP_SD_VIDEO_PAL_COMBN, +MWCAP_SD_VIDEO_PAL_BGHID, +MWCAP_SD_VIDEO_SECAM, +
+  MWCAP_SD_VIDEO_SECAM_60 +
+ }
 MWCAP_SD_VIDEO_STANDARD. More...
 
enum  _MWCAP_VIDEO_SIGNAL_STATE { MWCAP_VIDEO_SIGNAL_NONE, +MWCAP_VIDEO_SIGNAL_UNSUPPORTED, +MWCAP_VIDEO_SIGNAL_LOCKING, +MWCAP_VIDEO_SIGNAL_LOCKED + }
 MWCAP_VIDEO_SIGNAL_STATE. More...
 
enum  _MWCAP_VIDEO_FRAME_STATE { MWCAP_VIDEO_FRAME_STATE_INITIAL, +MWCAP_VIDEO_FRAME_STATE_F0_BUFFERING, +MWCAP_VIDEO_FRAME_STATE_F1_BUFFERING, +MWCAP_VIDEO_FRAME_STATE_BUFFERED + }
 MWCAP_VIDEO_FRAME_STATE. More...
 
enum  _MWCAP_HDMI_INFOFRAME_ID {
+  MWCAP_HDMI_INFOFRAME_ID_AVI, +MWCAP_HDMI_INFOFRAME_ID_AUDIO, +MWCAP_HDMI_INFOFRAME_ID_SPD, +MWCAP_HDMI_INFOFRAME_ID_MS, +
+  MWCAP_HDMI_INFOFRAME_ID_VS, +MWCAP_HDMI_INFOFRAME_ID_ACP, +MWCAP_HDMI_INFOFRAME_ID_ISRC1, +MWCAP_HDMI_INFOFRAME_ID_ISRC2, +
+  MWCAP_HDMI_INFOFRAME_ID_GAMUT, +MWCAP_HDMI_INFOFRAME_ID_VBI, +MWCAP_HDMI_INFOFRAME_ID_HDR, +MWCAP_HDMI_INFOFRAME_COUNT +
+ }
 MWCAP_HDMI_INFOFRAME_ID. More...
 
enum  _MWCAP_HDMI_INFOFRAME_MASK {
+  MWCAP_HDMI_INFOFRAME_MASK_AVI = (1 << MWCAP_HDMI_INFOFRAME_ID_AVI), +MWCAP_HDMI_INFOFRAME_MASK_AUDIO = (1 << MWCAP_HDMI_INFOFRAME_ID_AUDIO), +MWCAP_HDMI_INFOFRAME_MASK_SPD = (1 << MWCAP_HDMI_INFOFRAME_ID_SPD), +MWCAP_HDMI_INFOFRAME_MASK_MS = (1 << MWCAP_HDMI_INFOFRAME_ID_MS), +
+  MWCAP_HDMI_INFOFRAME_MASK_VS = (1 << MWCAP_HDMI_INFOFRAME_ID_VS), +MWCAP_HDMI_INFOFRAME_MASK_ACP = (1 << MWCAP_HDMI_INFOFRAME_ID_ACP), +MWCAP_HDMI_INFOFRAME_MASK_ISRC1 = (1 << MWCAP_HDMI_INFOFRAME_ID_ISRC1), +MWCAP_HDMI_INFOFRAME_MASK_ISRC2 = (1 << MWCAP_HDMI_INFOFRAME_ID_ISRC2), +
+  MWCAP_HDMI_INFOFRAME_MASK_GAMUT = (1 << MWCAP_HDMI_INFOFRAME_ID_GAMUT), +MWCAP_HDMI_INFOFRAME_MASK_VBI = (1 << MWCAP_HDMI_INFOFRAME_ID_VBI), +MWCAP_HDMI_INFOFRAME_MASK_HDR = (1 << MWCAP_HDMI_INFOFRAME_ID_HDR) +
+ }
 MWCAP_HDMI_INFOFRAME_MASK. More...
 
enum  _VIDEO_RESOLUTION_MODE { MWCAP_VIDEO_RESOLUTION_MODE_RANGE, +MWCAP_VIDEO_RESOLUTION_MODE_LIST + }
 MWCAP_VIDEO_RESOLUTION_MODE. More...
 
enum  _MWCAP_VIDEO_PROC_PARAM_TYPE { MWCAP_VIDEO_PROC_BRIGHTNESS, +MWCAP_VIDEO_PROC_CONTRAST, +MWCAP_VIDEO_PROC_HUE, +MWCAP_VIDEO_PROC_SATURATION + }
 MWCAP_VIDEO_PROC_PARAM_TYPE. More...
 
enum  _MWCAP_AUDIO_CAPTURE_NODE {
+  MWCAP_AUDIO_CAPTURE_NODE_DEFAULT, +MWCAP_AUDIO_CAPTURE_NODE_EMBEDDED_CAPTURE, +MWCAP_AUDIO_CAPTURE_NODE_MICROPHONE, +MWCAP_AUDIO_CAPTURE_NODE_USB_CAPTURE, +
+  MWCAP_AUDIO_CAPTURE_NODE_LINE_IN +
+ }
 MWCAP_AUDIO_CAPTURE_NODE. More...
 
enum  _MWCAP_AUDIO_NODE {
+  MWCAP_AUDIO_MICROPHONE, +MWCAP_AUDIO_HEADPHONE, +MWCAP_AUDIO_LINE_IN, +MWCAP_AUDIO_LINE_OUT, +
+  MWCAP_AUDIO_EMBEDDED_CAPTURE, +MWCAP_AUDIO_EMBEDDED_PLAYBACK, +MWCAP_AUDIO_USB_CAPTURE, +MWCAP_AUDIO_USB_PLAYBACK +
+ }
 MWCAP_AUDIO_NODE. More...
 
enum  _MW_FAMILY_ID {
+  MW_FAMILY_ID_PRO_CAPTURE = 0x00, +MW_FAMILY_ID_VALUE_CAPTURE = 0x01, +MW_FAMILY_ID_USB_CAPTURE = 0x02, +MW_FAMILY_ID_PRO_CAPTURE = 0x00, +
+  MW_FAMILY_ID_VALUE_CAPTURE = 0x01, +MW_FAMILY_ID_USB_CAPTURE = 0x02 +
+ }
 MW_FAMILY_ID. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ + + + +
typedef enum _MW_FAMILY_ID MW_FAMILY_ID
+
+ +

MW_FAMILY_ID.

+

Distinguishes different capture family
+Related type: MWCAP_CHANNEL_INFO
+Related functions:
+MWGetFamilyInfoByIndex
+MWGetFamilyInfo
+MWGetChannelInfoByIndex
+MWGetChannelInfo
+

+ +
+
+ +
+
+ + + + +
typedef enum _MW_RESULT_ MW_RESULT
+
+ +

MW_RESULT.

+

the interface returns values

+ +
+
+ +
+
+ +

MWCAP_AUDIO_CAPTURE_NODE.

+

Type of audio capture card
+Related functions are:
+ MWCreateAudioCapture
+

+ +
+
+ +
+
+ +

MWCAP_AUDIO_INPUT_TYPE.

+

Defines input interface mask of audio channel

+ +
+
+ +
+
+ + + + +
typedef enum _MWCAP_AUDIO_NODE MWCAP_AUDIO_NODE
+
+ +

MWCAP_AUDIO_NODE.

+

Audio device type
+Related functions are:
+ MWGetAudioVolume
+ MWSetAudioVolume
+

+ +
+
+ +
+
+ +

MWCAP_HDMI_INFOFRAME_ID.

+

Defines HDMI infoframe ID
+Related type: MWCAP_HDMI_INFOFRAME_MASK
+Related functions are:
+ MWGetHDMIInfoFramePacket
+

+ +
+
+ +
+
+ +

MWCAP_HDMI_INFOFRAME_MASK.

+

Defines mask of HDMI infoframe
+Related type: MWCAP_HDMI_INFOFRAME_ID
+

+ +
+
+ +
+
+ + + + +
typedef enum _MWCAP_LED_MODE MWCAP_LED_MODE
+
+ +

MWCAP_LED_MODE.

+

Defines LED mode.
+

+ +
+
+ +
+
+ +

MWCAP_PCIE_LINK_TYPE.

+

Defines the connection type of PCIE and hose

+ +
+
+ +
+
+ + + + +
typedef enum _MWCAP_PRODUCT_ID MWCAP_PRODUCT_ID
+
+ +

MWCAP_PRODUCT_ID.

+

Distinguishes capture devices.

+ +
+
+ +
+
+ +

MWCAP_SD_VIDEO_STANDARD.

+

Defines the TV broadcast format used.
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE.

+

Defines the aspect ratio conversion

+ +
+
+ +
+
+ +

MWCAP_VIDEO_COLOR_FORMAT.

+

Defines video color format

+ +
+
+ +
+
+ +

MWCAP_VIDEO_DEINTERLACE_MODE.

+

Defines the deinterlace mode

+ +
+
+ +
+
+ +

MWCAP_VIDEO_FRAME_STATE.

+

Defines video frame state.
+Related type: MWCAP_VIDEO_FRAME_INFO
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_FRAME_TYPE.

+

Defines video frame type

+ +
+
+ +
+
+ +

MWCAP_VIDEO_INPUT_TYPE.

+

Defines input interface mask of video channel

+ +
+
+ +
+
+ +

MWCAP_VIDEO_PROC_PARAM_TYPE.

+

Defines parameters type of video process.
+Related functions are:
+ MWGetVideoProcParamRange
+ MWGetVideoProcParam
+ MWSetVideoProcParam
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_QUANTIZATION_RANGE.

+

Defines quantization range

+ +
+
+ +
+
+ +

MWCAP_VIDEO_RESOLUTION_MODE.

+

Return value of video resolution
+Related function:
+ MWGetVideoCaptureSupportResolutionMode
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_SATURATION_RANGE.

+

Defines video saturation range

+ +
+
+ +
+
+ +

MWCAP_VIDEO_SIGNAL_STATE.

+

Defines the input signal state
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_SYNC_TYPE.

+

Defines video sync type

+ +
+
+ +
+
+ +

MWCAP_VIDEO_TIMING_TYPE.

+

Defines video timing type

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum _MW_FAMILY_ID
+
+ +

MW_FAMILY_ID.

+

Distinguishes different capture family
+Related type: MWCAP_CHANNEL_INFO
+Related functions:
+MWGetFamilyInfoByIndex
+MWGetFamilyInfo
+MWGetChannelInfoByIndex
+MWGetChannelInfo
+

+ + + + +
Enumerator
MW_FAMILY_ID_PRO_CAPTURE  +

Pro Capture family.

+
MW_FAMILY_ID_VALUE_CAPTURE  +

Eco Capture family.

+
MW_FAMILY_ID_USB_CAPTURE  +

USB Capture family.

+
+ +
+
+ +
+
+ + + + +
enum _MW_RESULT_
+
+ +

MW_RESULT.

+

the interface returns values

+ + + + +
Enumerator
MW_SUCCEEDED  +

Operation succeeded.

+
MW_FAILED  +

Operation failed.

+
MW_INVALID_PARAMS  +

Invalid parameters.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_AUDIO_CAPTURE_NODE
+
+ +

MWCAP_AUDIO_CAPTURE_NODE.

+

Type of audio capture card
+Related functions are:
+ MWCreateAudioCapture
+

+ + + + + + +
Enumerator
MWCAP_AUDIO_CAPTURE_NODE_DEFAULT  +

Default audio capture device.

+
MWCAP_AUDIO_CAPTURE_NODE_EMBEDDED_CAPTURE  +

Default audio capture device.

+
MWCAP_AUDIO_CAPTURE_NODE_MICROPHONE  +

Microphone.

+
MWCAP_AUDIO_CAPTURE_NODE_USB_CAPTURE  +

USB audio capture.

+
MWCAP_AUDIO_CAPTURE_NODE_LINE_IN  +

Line In audio capture.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_AUDIO_INPUT_TYPE
+
+ +

MWCAP_AUDIO_INPUT_TYPE.

+

Defines input interface mask of audio channel

+ + + + + + +
Enumerator
MWCAP_AUDIO_INPUT_TYPE_NONE  +

input interface without signal

+
MWCAP_AUDIO_INPUT_TYPE_HDMI  +

HDMI input signal.

+
MWCAP_AUDIO_INPUT_TYPE_SDI  +

SDI input signal.

+
MWCAP_AUDIO_INPUT_TYPE_LINE_IN  +

line in

+
MWCAP_AUDIO_INPUT_TYPE_MIC_IN  +

mic in

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_AUDIO_NODE
+
+ +

MWCAP_AUDIO_NODE.

+

Audio device type
+Related functions are:
+ MWGetAudioVolume
+ MWSetAudioVolume
+

+ + + + + + + + + +
Enumerator
MWCAP_AUDIO_MICROPHONE  +

Microphone.

+
MWCAP_AUDIO_HEADPHONE  +

Headset.

+
MWCAP_AUDIO_LINE_IN  +

Line In.

+
MWCAP_AUDIO_LINE_OUT  +

Line Out.

+
MWCAP_AUDIO_EMBEDDED_CAPTURE  +

Default audio capture.

+
MWCAP_AUDIO_EMBEDDED_PLAYBACK  +

Default audio play.

+
MWCAP_AUDIO_USB_CAPTURE  +

USB audio capture.

+
MWCAP_AUDIO_USB_PLAYBACK  +

USB audio play.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_HDMI_INFOFRAME_ID
+
+ +

MWCAP_HDMI_INFOFRAME_ID.

+

Defines HDMI infoframe ID
+Related type: MWCAP_HDMI_INFOFRAME_MASK
+Related functions are:
+ MWGetHDMIInfoFramePacket
+

+ + + + + + + + + + + + + +
Enumerator
MWCAP_HDMI_INFOFRAME_ID_AVI  +

AVI infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_AUDIO  +

Audio infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_SPD  +

SPD infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_MS  +

MS infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_VS  +

VS infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_ACP  +

ACP infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_ISRC1  +

ISRC1 infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_ISRC2  +

ISRC2 infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_GAMUT  +

GAMUT infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_VBI  +

VBI infoframe.

+
MWCAP_HDMI_INFOFRAME_ID_HDR  +

HDR infoframe.

+
MWCAP_HDMI_INFOFRAME_COUNT  +

Number of infoframe types.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_HDMI_INFOFRAME_MASK
+
+ +

MWCAP_HDMI_INFOFRAME_MASK.

+

Defines mask of HDMI infoframe
+Related type: MWCAP_HDMI_INFOFRAME_ID
+

+ + + + + + + + + + + + +
Enumerator
MWCAP_HDMI_INFOFRAME_MASK_AVI  +

AVI infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_AUDIO  +

Audio infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_SPD  +

SPD infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_MS  +

MS infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_VS  +

VS infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_ACP  +

ACP infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_ISRC1  +

ISRC1 infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_ISRC2  +

ISRC2 infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_GAMUT  +

GAMUT infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_VBI  +

VBI infoframe.

+
MWCAP_HDMI_INFOFRAME_MASK_HDR  +

HDR infoframe.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_LED_MODE
+
+ +

MWCAP_LED_MODE.

+

Defines LED mode.
+

+ + + + + + + +
Enumerator
MWCAP_LED_AUTO  +

Auto mode.

+
MWCAP_LED_OFF  +

LED stays off.

+
MWCAP_LED_ON  +

LED stays on.

+
MWCAP_LED_BLINK  +

LED stays flashing.

+
MWCAP_LED_DBL_BLINK  +

LED flashes two times, pauses, then blinks again.

+
MWCAP_LED_BREATH  +

Breathing/plusing slowly.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_PCIE_LINK_TYPE
+
+ +

MWCAP_PCIE_LINK_TYPE.

+

Defines the connection type of PCIE and hose

+ + + + + +
Enumerator
MWCAP_PCIE_LINK_GEN_1  +

PCI-e 1.0.

+
MWCAP_PCIE_LINK_GEN_2  +

PCI-e 2.0.

+
MWCAP_PCIE_LINK_GEN_3  +

PCI-e 3.0.

+
MWCAP_PCIE_LINK_GEN_4  +

PCI-e 4.0.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_PRODUCT_ID
+
+ +

MWCAP_PRODUCT_ID.

+

Distinguishes capture devices.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO  +

Pro Capture AIO, one-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DVI  +

Pro Capture DVI, one-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI  +

Pro Capture HDMI, one-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_SDI  +

Pro Capture SDI, one-channel HD capture card capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_SDI  +

Pro Capture Dual SDI, two-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_DVI  +

Pro Capture Dual DVI, two-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_HDMI  +

Pro Capture Dual HDMI, two-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_SDI  +

Pro Capture Quad SDI, Four-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_QUAD_HDMI  +

Pro Capture Quad HDMI, Four-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_MINI_HDMI  +

Pro Capture Mini HDMI, one-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI_4K  +

Pro Capture HDMI 4K, one-channel 4K capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_MINI_SDI  +

Pro Capture Mini SDI, one-channel HD capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO_4K_PLUS  +

Pro Capture AIO 4K Plus, one-channel 4K capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_HDMI_4K_PLUS  +

Pro Capture HDMI 4K Plus, one-channel 4K capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DVI_4K  +

Pro Capture DVI 4K, one-channel 4K capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_AIO_4K  +

Pro Capture AIO 4K, one-channel 4K capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_SDI_4K_PLUS  +

Pro Capture SDI 4K Plus, one-channel 4K capture card.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_HDMI_4K_PLUS  +

Pro Capture Dual HDMI 4K Plus.

+
MWCAP_PRODUCT_ID_PRO_CAPTURE_DUAL_SDI_4K_PLUS  +

Pro Capture Dual SDI 4K Plus.

+
MWCAP_PRODUCT_ID_ECO_CAPTURE_OCTA_SDI  +

ECO CAPTURE OCTA SDI.

+
MWCAP_PRODUCT_ID_ECO_CAPTURE_DUAL_HDMI_M2  +

Eco Capture Dual HDMI M.2.

+
MWCAP_PRODUCT_ID_ECO_CAPTURE_HDMI_4K_M2  +

Eco Capture HDMI 4K M.2.

+
MWCAP_PRODUCT_ID_ECO_CAPTURE_DUAL_SDI_M2  +

Eco Capture Dual SDI M.2.

+
MWCAP_PRODUCT_ID_ECO_CAPTURE_QUAD_SDI_M2  +

Eco Capture Quad SDI M.2.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_HDMI_PLUS  +

USB Capture HDMI Plus.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_SDI_PLUS  +

USB Capture SDI Plus.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_HDMI  +

USB Capture HDMI.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_SDI  +

USB Capture SDI.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_DVI  +

USB Capture DVI.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_HDMI_4K  +

USB Capture HDMI 4K Plus.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_SDI_4K  +

USB Capture SDI 4K Plus.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_AIO  +

USB Capture AIO.

+
MWCAP_PRODUCT_ID_USB_CAPTURE_AIO_4K  +

USB Capture AIO 4K.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_SD_VIDEO_STANDARD
+
+ +

MWCAP_SD_VIDEO_STANDARD.

+

Defines the TV broadcast format used.
+

+ + + + + + + + + + +
Enumerator
MWCAP_SD_VIDEO_NONE  +

None.

+
MWCAP_SD_VIDEO_NTSC_M  +

NTSC_M.

+
MWCAP_SD_VIDEO_NTSC_433  +

NTSC_433.

+
MWCAP_SD_VIDEO_PAL_M  +

PAL_M.

+
MWCAP_SD_VIDEO_PAL_60  +

PAL_60.

+
MWCAP_SD_VIDEO_PAL_COMBN  +

PAL_COMBN.

+
MWCAP_SD_VIDEO_PAL_BGHID  +

PAL_BGHID.

+
MWCAP_SD_VIDEO_SECAM  +

SECAM.

+
MWCAP_SD_VIDEO_SECAM_60  +

SECAM_60.

+
+ +
+
+ +
+
+ +

MWCAP_VIDEO_ASPECT_RATIO_CONVERT_MODE.

+

Defines the aspect ratio conversion

+ + + + +
Enumerator
MWCAP_VIDEO_ASPECT_RATIO_IGNORE  +

Ignore: Ignores the original aspect ratio and stretches to full-screen.

+
MWCAP_VIDEO_ASPECT_RATIO_CROPPING  +

Cropping: Expands to full-screen and remove parts of the image when necessary to keep the original aspect ratio.

+
MWCAP_VIDEO_ASPECT_RATIO_PADDING  +

Padding: Fits to screen and add black borders to keep the original aspect ratio.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_COLOR_FORMAT
+
+ +

MWCAP_VIDEO_COLOR_FORMAT.

+

Defines video color format

+ + + + + + + +
Enumerator
MWCAP_VIDEO_COLOR_FORMAT_UNKNOWN  +

unknown color format

+
MWCAP_VIDEO_COLOR_FORMAT_RGB  +

RGB.

+
MWCAP_VIDEO_COLOR_FORMAT_YUV601  +

YUV601.

+
MWCAP_VIDEO_COLOR_FORMAT_YUV709  +

YUV709.

+
MWCAP_VIDEO_COLOR_FORMAT_YUV2020  +

YUV2020.

+
MWCAP_VIDEO_COLOR_FORMAT_YUV2020C  +

YUV2020C.

+
+ +
+
+ +
+
+ +

MWCAP_VIDEO_DEINTERLACE_MODE.

+

Defines the deinterlace mode

+ + + + + +
Enumerator
MWCAP_VIDEO_DEINTERLACE_WEAVE  +

Weave mode.

+
MWCAP_VIDEO_DEINTERLACE_BLEND  +

Blend mode.

+
MWCAP_VIDEO_DEINTERLACE_TOP_FIELD  +

Only uses top subframe data.

+
MWCAP_VIDEO_DEINTERLACE_BOTTOM_FIELD  +

Only uses bottom subframe data.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_FRAME_STATE
+
+ +

MWCAP_VIDEO_FRAME_STATE.

+

Defines video frame state.
+Related type: MWCAP_VIDEO_FRAME_INFO
+

+ + + + + +
Enumerator
MWCAP_VIDEO_FRAME_STATE_INITIAL  +

Initial.

+
MWCAP_VIDEO_FRAME_STATE_F0_BUFFERING  +

Buffering top subframe.

+
MWCAP_VIDEO_FRAME_STATE_F1_BUFFERING  +

Buffering bottom subframe.

+
MWCAP_VIDEO_FRAME_STATE_BUFFERED  +

Fully bufferred video frame.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_FRAME_TYPE
+
+ +

MWCAP_VIDEO_FRAME_TYPE.

+

Defines video frame type

+ + + + + + +
Enumerator
MWCAP_VIDEO_FRAME_2D  +

2D video frame

+
MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_FULL  +

Top-and-Bottom 3D video frame at full resolution.

+
MWCAP_VIDEO_FRAME_3D_TOP_AND_BOTTOM_HALF  +

Top-and-Bottom 3D video frame at half resolution.

+
MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_FULL  +

Full side-by-side 3D video frame.

+
MWCAP_VIDEO_FRAME_3D_SIDE_BY_SIDE_HALF  +

Half side-by-side 3D video frame.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_INPUT_TYPE
+
+ +

MWCAP_VIDEO_INPUT_TYPE.

+

Defines input interface mask of video channel

+ + + + + + + + +
Enumerator
MWCAP_VIDEO_INPUT_TYPE_NONE  +

Input interface without signal.

+
MWCAP_VIDEO_INPUT_TYPE_HDMI  +

HDMI input signal.

+
MWCAP_VIDEO_INPUT_TYPE_VGA  +

VGA input signal.

+
MWCAP_VIDEO_INPUT_TYPE_SDI  +

SDI input signal.

+
MWCAP_VIDEO_INPUT_TYPE_COMPONENT  +

Component input signal.

+
MWCAP_VIDEO_INPUT_TYPE_CVBS  +

CVBS input signal.

+
MWCAP_VIDEO_INPUT_TYPE_YC  +

YC input signal.

+
+ +
+
+ +
+
+ +

MWCAP_VIDEO_PROC_PARAM_TYPE.

+

Defines parameters type of video process.
+Related functions are:
+ MWGetVideoProcParamRange
+ MWGetVideoProcParam
+ MWSetVideoProcParam
+

+ + + + + +
Enumerator
MWCAP_VIDEO_PROC_BRIGHTNESS  +

Brightness.

+
MWCAP_VIDEO_PROC_CONTRAST  +

Contrast.

+
MWCAP_VIDEO_PROC_HUE  +

Hue.

+
MWCAP_VIDEO_PROC_SATURATION  +

Saturation.

+
+ +
+
+ +
+
+ +

MWCAP_VIDEO_QUANTIZATION_RANGE.

+

Defines quantization range

+ + + + +
Enumerator
MWCAP_VIDEO_QUANTIZATION_UNKNOWN  +

The default quantization range.

+
MWCAP_VIDEO_QUANTIZATION_FULL  +

Full range, which has 8-bit data. The black-white color range is 0-255/1023/4095/65535.

+
MWCAP_VIDEO_QUANTIZATION_LIMITED  +

Limited range, which has 8-bit data. The black-white color range is 16/64/256/4096-235(240)/940(960)/3760(3840)/60160(61440).

+
+ +
+
+ +
+
+ +

MWCAP_VIDEO_SATURATION_RANGE.

+

Defines video saturation range

+ + + + + +
Enumerator
MWCAP_VIDEO_SATURATION_UNKNOWN  +

The default saturation range.

+
MWCAP_VIDEO_SATURATION_FULL  +

Full range, which has 8-bit data. The black-white color range is 0-255/1023/4095/65535.

+
MWCAP_VIDEO_SATURATION_LIMITED  +

Limited range, which has 8-bit data. The black-white color range is 16/64/256/4096-235(240)/940(960)/3760(3840)/60160(61440)

+
MWCAP_VIDEO_SATURATION_EXTENDED_GAMUT  +

Extended range, which has 8-bit data. The black-white color range is 1/4/16/256-254/1019/4079/65279.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_SIGNAL_STATE
+
+ +

MWCAP_VIDEO_SIGNAL_STATE.

+

Defines the input signal state
+

+ + + + + +
Enumerator
MWCAP_VIDEO_SIGNAL_NONE  +

No signal.

+
MWCAP_VIDEO_SIGNAL_UNSUPPORTED  +

Invalid signal. The capture card detects a signal but can not lock it.

+
MWCAP_VIDEO_SIGNAL_LOCKING  +

Locking signal. The signal is valid, but unlocked.

+
MWCAP_VIDEO_SIGNAL_LOCKED  +

Locked signal. The capture card is ready to capture the input signal.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_SYNC_TYPE
+
+ +

MWCAP_VIDEO_SYNC_TYPE.

+

Defines video sync type

+ + + + + +
Enumerator
VIDEO_SYNC_ALL  +

All Sync.

+
VIDEO_SYNC_HS_VS  +

HS VS Sync.

+
VIDEO_SYNC_CS  +

CS Sync.

+
VIDEO_SYNC_EMBEDDED  +

Embeded Sync.

+
+ +
+
+ +
+
+ + + + +
enum _MWCAP_VIDEO_TIMING_TYPE
+
+ +

MWCAP_VIDEO_TIMING_TYPE.

+

Defines video timing type

+ + + + + + + + + +
Enumerator
MWCAP_VIDEO_TIMING_NONE  +

No timing of video channels.

+
MWCAP_VIDEO_TIMING_LEGACY  +

LEGACY timing.

+
MWCAP_VIDEO_TIMING_DMT  +

DMT timing.

+
MWCAP_VIDEO_TIMING_CEA  +

CEA timing.

+
MWCAP_VIDEO_TIMING_GTF  +

GTF timing.

+
MWCAP_VIDEO_TIMING_CVT  +

CVT timing.

+
MWCAP_VIDEO_TIMING_CVT_RB  +

CVT_RB timing.

+
MWCAP_VIDEO_TIMING_FAILSAFE  +

FAILSAFE timing.

+
+ +
+
+ +
+
+ + + + +
enum _VIDEO_RESOLUTION_MODE
+
+ +

MWCAP_VIDEO_RESOLUTION_MODE.

+

Return value of video resolution
+Related function:
+ MWGetVideoCaptureSupportResolutionMode
+

+ + + +
Enumerator
MWCAP_VIDEO_RESOLUTION_MODE_RANGE  +

Return valur of supported video resolution.

+
MWCAP_VIDEO_RESOLUTION_MODE_LIST  +

Return discrete list of supported video resolution.

+
+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__macro.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__macro.html new file mode 100644 index 00000000..03b069c3 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__macro.html @@ -0,0 +1,999 @@ + + + + + + + + + Macros - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Macros
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define INPUT_SOURCE(type, index)   (((type) << 8) | ((index) & 0xFF))
 Defines audio or video input source. More...
 
#define INPUT_TYPE(source)   ((source) >> 8)
 Gets type variables from input sources. More...
 
#define INPUT_INDEX(source)   ((source) & 0xFF)
 Gets input source index. More...
 
#define MWCAP_NOTIFY_INPUT_SORUCE_START_SCAN   0x0001ULL
 MWCAP_NOTIFY_INPUT_SOURCE_START_SCAN. More...
 
#define MWCAP_NOTIFY_INPUT_SORUCE_STOP_SCAN   0x0002ULL
 MWCAP_NOTIFY_INPUT_SOURCE_STOP_SCAN. More...
 
#define MWCAP_NOTIFY_INPUT_SORUCE_SCAN_CHANGE   0x0003ULL
 MWCAP_NOTIFY_INPUT_SOURCE_SCAN_CHANGE. More...
 
#define MWCAP_NOTIFY_VIDEO_INPUT_SOURCE_CHANGE   0x0004ULL
 MWCAP_NOTIFY_VIDEO_INPUT_SOURCE_CHANGE. More...
 
#define MWCAP_NOTIFY_AUDIO_INPUT_SOURCE_CHANGE   0x0008ULL
 MWCAP_NOTIFY_AUDIO_INPUT_SOURCE_CHANGE. More...
 
#define MWCAP_NOTIFY_INPUT_SPECIFIC_CHANGE   0x0010ULL
 MWCAP_NOTIFY_INPUT_SPECIFIC_CHANGE. More...
 
#define MWCAP_NOTIFY_VIDEO_SIGNAL_CHANGE   0x0020ULL
 MWCAP_NOTIFY_VIDEO_SIGNAL_CHANGE. More...
 
#define MWCAP_NOTIFY_AUDIO_SIGNAL_CHANGE   0x0040ULL
 MWCAP_NOTIFY_AUDIO_SIGNAL_CHANGE. More...
 
#define MWCAP_NOTIFY_VIDEO_FIELD_BUFFERING   0x0080ULL
 MWCAP_NOTIFY_VIDEO_FIELD_BUFFERING. More...
 
#define MWCAP_NOTIFY_VIDEO_FRAME_BUFFERING   0x0100ULL
 MWCAP_NOTIFY_VIDEO_FRAME_BUFFERING. More...
 
#define MWCAP_NOTIFY_VIDEO_FIELD_BUFFERED   0x0200ULL
 MWCAP_NOTIFY_VIDEO_FIELD_BUFFERED. More...
 
#define MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED   0x0400ULL
 MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED. More...
 
#define MWCAP_NOTIFY_VIDEO_SMPTE_TIME_CODE   0x0800ULL
 MWCAP_NOTIFY_VIDEO_SMPTE_TIME_CODE. More...
 
#define MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED   0x1000ULL
 MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED. More...
 
#define MWCAP_NOTIFY_AUDIO_INPUT_RESET   0x2000ULL
 MWCAP_NOTIFY_AUDIO_INPUT_RESET. More...
 
#define MWCAP_NOTIFY_VIDEO_SAMPLING_PHASE_CHANGE   0x4000ULL
 MWCAP_NOTIFY_VIDEO_SAMPLING_PHASE_CHANGE. More...
 
#define MWCAP_NOTIFY_LOOP_THROUGH_CHANGED   0x8000ULL
 MWCAP_NOTIFY_LOOP_THROUGH_CHANGED. More...
 
#define MWCAP_NOTIFY_LOOP_THROUGH_EDID_CHANGED   0x10000ULL
 MWCAP_NOTIFY_LOOP_THROUGH_EDID_CHANGED. More...
 
#define MWCAP_NOTIFY_NEW_SDI_ANC_PACKET   0x20000ULL
 MWCAP_NOTIFY_NEW_SDI_ANC_PACKET. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_AVI   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_AVI))
 MWCAP_NOTIFY_HDMI_INFOFRAME_AVI. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_AUDIO   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_AUDIO))
 MWCAP_NOTIFY_HDMI_INFOFRAME_AUDIO. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_SPD   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_SPD))
 MWCAP_NOTIFY_HDMI_INFOFRAME_SPD. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_MS   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_MS))
 MWCAP_NOTIFY_HDMI_INFOFRAME_MS. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_VS   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_VS))
 MWCAP_NOTIFY_HDMI_INFOFRAME_VS. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_ACP   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ACP))
 MWCAP_NOTIFY_HDMI_INFOFRAME_ACP. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC1   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ISRC1))
 MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC1. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC2   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ISRC2))
 MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC2. More...
 
#define MWCAP_NOTIFY_HDMI_INFOFRAME_GAMUT   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_GAMUT))
 MWCAP_NOTIFY_HDMI_INFOFRAME_GAMUT. More...
 
#define MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED   (-1)
 MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED. More...
 
#define MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERING   (-2)
 MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERING. More...
 
#define MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERED   (-3)
 MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERED. More...
 
#define MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERING   (-4)
 MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERING. More...
 
#define MWCAP_VIDEO_FRAME_ID_EMPTY   (-100)
 MWCAP_VIDEO_FRAME_ID_EMPTY. More...
 
#define MWCAP_VIDEO_PROCESS_FLIP   0x00000001
 MWCAP_VIDEO_PROCESS_FLIP. More...
 
#define MWCAP_VIDEO_PROCESS_MIRROR   0x00000002
 MWCAP_VIDEO_PROCESS_MIRROR. More...
 
#define MWCAP_AUDIO_SAMPLES_PER_FRAME   192
 MWCAP_AUDIO_SAMPLES_PER_FRAME. More...
 
#define MWCAP_AUDIO_MAX_NUM_CHANNELS   8
 MWCAP_AUDIO_MAX_NUM_CHANNELS. More...
 
#define MW_FIRMWARE_NAME_LEN   64
 MW_FIRMWARE_NAME_LEN. More...
 
+

Detailed Description

+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define INPUT_INDEX( source)   ((source) & 0xFF)
+
+ +

Gets input source index.

+
Parameters
+ + +
[in]sourceInput source
+
+
+

Extracting index variables from input sources

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define INPUT_SOURCE( type,
 index 
)   (((type) << 8) | ((index) & 0xFF))
+
+ +

Defines audio or video input source.

+
Parameters
+ + + +
[in]typeInput source type
[in]indexIndex of input source
+
+
+

Defines the input source by the type or index. The audio input source type refers to MWCAP_AUDIO_INPUT_TYPE. The video input source type refers to MWCAP_VIDEO_INPUT_TYPE
+

+ +
+
+ +
+
+ + + + + + + + +
#define INPUT_TYPE( source)   ((source) >> 8)
+
+ +

Gets type variables from input sources.

+
Parameters
+ + +
[in]sourceInput source
+
+
+

Extracting type variables from input sources

+ +
+
+ +
+
+ + + + +
#define MW_FIRMWARE_NAME_LEN   64
+
+ +

MW_FIRMWARE_NAME_LEN.

+

Max length of firmware file name
+Related type: MWCAP_CHANNEL_INFO
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_AUDIO_MAX_NUM_CHANNELS   8
+
+ +

MWCAP_AUDIO_MAX_NUM_CHANNELS.

+

Max audio channels
+Related type:
+ MWCAP_AUDIO_CAPTURE_FRAME
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_AUDIO_SAMPLES_PER_FRAME   192
+
+ +

MWCAP_AUDIO_SAMPLES_PER_FRAME.

+

Sample numbers of every audio frame
+Related type:
+ MWCAP_AUDIO_CAPTURE_FRAME
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED   0x1000ULL
+
+ +

MWCAP_NOTIFY_AUDIO_FRAME_BUFFERED.

+

Event notification. Audio frames have fully bufferred.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_AUDIO_INPUT_RESET   0x2000ULL
+
+ +

MWCAP_NOTIFY_AUDIO_INPUT_RESET.

+

Event notification. Audio input reset.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_AUDIO_INPUT_SOURCE_CHANGE   0x0008ULL
+
+ +

MWCAP_NOTIFY_AUDIO_INPUT_SOURCE_CHANGE.

+

Event notification. Audio input changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_AUDIO_SIGNAL_CHANGE   0x0040ULL
+
+ +

MWCAP_NOTIFY_AUDIO_SIGNAL_CHANGE.

+

Event notification. Audio signal changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_ACP   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ACP))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_ACP.

+

Event notification. ACP infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_AUDIO   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_AUDIO))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_AUDIO.

+

Event notification. Audio infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_AVI   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_AVI))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_AVI.

+

Event notification. AVI infoframe is changing.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_GAMUT   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_GAMUT))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_GAMUT.

+

Event notification. GAMUT infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC1   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ISRC1))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC1.

+

Event notification. ISRC1 infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC2   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_ISRC2))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_ISRC2.

+

Event notification. ISRC2 infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_MS   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_MS))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_MS.

+

Event notification. MS infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_SPD   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_SPD))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_SPD.

+

Event notification. SPD infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_HDMI_INFOFRAME_VS   (1ULL << (32 + MWCAP_HDMI_INFOFRAME_ID_VS))
+
+ +

MWCAP_NOTIFY_HDMI_INFOFRAME_VS.

+

Event notification. VS infoframe changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_INPUT_SORUCE_SCAN_CHANGE   0x0003ULL
+
+ +

MWCAP_NOTIFY_INPUT_SOURCE_SCAN_CHANGE.

+

Event notification. Scan video input source status changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_INPUT_SORUCE_START_SCAN   0x0001ULL
+
+ +

MWCAP_NOTIFY_INPUT_SOURCE_START_SCAN.

+

Event notification. Start scanning the input source.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_INPUT_SORUCE_STOP_SCAN   0x0002ULL
+
+ +

MWCAP_NOTIFY_INPUT_SOURCE_STOP_SCAN.

+

Event notification. Stop scanning the input source.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_INPUT_SPECIFIC_CHANGE   0x0010ULL
+
+ +

MWCAP_NOTIFY_INPUT_SPECIFIC_CHANGE.

+

Event notification. Detailed format of input video changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_LOOP_THROUGH_CHANGED   0x8000ULL
+
+ +

MWCAP_NOTIFY_LOOP_THROUGH_CHANGED.

+

Event notification. The state of loopthrough interface changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_LOOP_THROUGH_EDID_CHANGED   0x10000ULL
+
+ +

MWCAP_NOTIFY_LOOP_THROUGH_EDID_CHANGED.

+

Event notification. EDID of loopthrough changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_NEW_SDI_ANC_PACKET   0x20000ULL
+
+ +

MWCAP_NOTIFY_NEW_SDI_ANC_PACKET.

+

Event notification. New ANC packets.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_FIELD_BUFFERED   0x0200ULL
+
+ +

MWCAP_NOTIFY_VIDEO_FIELD_BUFFERED.

+

Event notification. Video field has fully buffered.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_FIELD_BUFFERING   0x0080ULL
+
+ +

MWCAP_NOTIFY_VIDEO_FIELD_BUFFERING.

+

Event notification. Video field is buffering.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED   0x0400ULL
+
+ +

MWCAP_NOTIFY_VIDEO_FRAME_BUFFERED.

+

Event notification. Video frame has fully buffered.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_FRAME_BUFFERING   0x0100ULL
+
+ +

MWCAP_NOTIFY_VIDEO_FRAME_BUFFERING.

+

Event notification. Video frame is buffering.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_INPUT_SOURCE_CHANGE   0x0004ULL
+
+ +

MWCAP_NOTIFY_VIDEO_INPUT_SOURCE_CHANGE.

+

Event notification. Video input changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_SAMPLING_PHASE_CHANGE   0x4000ULL
+
+ +

MWCAP_NOTIFY_VIDEO_SAMPLING_PHASE_CHANGE.

+

Event notification. Video sample phase changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_SIGNAL_CHANGE   0x0020ULL
+
+ +

MWCAP_NOTIFY_VIDEO_SIGNAL_CHANGE.

+

Event notification. Format of input video changed.
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_NOTIFY_VIDEO_SMPTE_TIME_CODE   0x0800ULL
+
+ +

MWCAP_NOTIFY_VIDEO_SMPTE_TIME_CODE.

+

Event notification. SMPTE time code
+Related functions are:
+ MWRegisterNotify
+ MWUnregisterNotify
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_FRAME_ID_EMPTY   (-100)
+
+ +

MWCAP_VIDEO_FRAME_ID_EMPTY.

+

Frame ID is empty
+Related type: MWCAP_VIDEO_CAPTURE_STATUS
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERED   (-1)
+
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_FRAME_ID_NEWEST_BUFFERING   (-2)
+
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERED   (-3)
+
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_FRAME_ID_NEXT_BUFFERING   (-4)
+
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_PROCESS_FLIP   0x00000001
+
+ +

MWCAP_VIDEO_PROCESS_FLIP.

+

Flip video images Up-side-down Related type: MWCAP_VIDEO_PROCESS_SETTINGS
+

+ +
+
+ +
+
+ + + + +
#define MWCAP_VIDEO_PROCESS_MIRROR   0x00000002
+
+ +

MWCAP_VIDEO_PROCESS_MIRROR.

+

Flip video images left to right
+Related type: MWCAP_VIDEO_PROCESS_SETTINGS
+

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__struct.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__struct.html new file mode 100644 index 00000000..55027e30 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/group__group__variables__struct.html @@ -0,0 +1,1101 @@ + + + + + + + + + Structures - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.LAST_SVN_COMMIT_NUM +
+
+
+ + + +
+
+ +
+
Structures
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

struct  _MWCAP_VIDEO_SYNC_INFO
 MWCAP_VIDEO_SYNC_INFO. More...
 
struct  _MWCAP_VIDEO_TIMING
 MWCAP_VIDEO_TIMING. More...
 
struct  _MWCAP_VIDEO_TIMING_SETTINGS
 MWCAP_VIDEO_TIMING_SETTINGS. More...
 
struct  _MWCAP_DWORD_PARAMETER_RANGE
 MWCAP_DWORD_PARAMETER_RANGE. More...
 
struct  _MWCAP_DWORD_PARAMETER_VALUE
 MWCAP_DWORD_PARAMETER_VALUE. More...
 
struct  _MWCAP_CHANNEL_INFO
 MWCAP_CHANNEL_INFO. More...
 
struct  _MWCAP_PRO_CAPTURE_INFO
 MWCAP_PRO_CAPTURE_INFO. More...
 
struct  _MWCAP_VIDEO_CAPS
 MWCAP_VIDEO_CAPS. More...
 
struct  _MWCAP_AUDIO_CAPS
 MWCAP_AUDIO_CAPS. More...
 
struct  _MWCAP_FIRMWARE_STORAGE_CARD
 MWCAP_FIRMWARE_STORAGE_CARD. More...
 
struct  _MWCAP_FIRMWARE_STORAGE_USB
 MWCAP_FIRMWARE_STORAGE_USB. More...
 
union  _MWCAP_FIRMWARE_STORAGE
 MWCAP_FIRMWARE_STORAGE. More...
 
struct  _MWCAP_FIRMWARE_ERASE
 MWCAP_FIRMWARE_ERASE. More...
 
struct  _MWCAP_SDI_SPECIFIC_STATUS
 MWCAP_SDI_SPECIFIC_STATUS. More...
 
struct  _MWCAP_HDMI_VIDEO_TIMING
 MWCAP_HDMI_VIDEO_TIMING. More...
 
struct  _MWCAP_HDMI_SPECIFIC_STATUS
 MWCAP_HDMI_SPECIFIC_STATUS. More...
 
struct  _MWCAP_COMPONENT_SPECIFIC_STATUS
 MWCAP_COMPONENT_SPECIFIC_STATUS. More...
 
struct  _MWCAP_CVBS_YC_SPECIFIC_STATUS
 MWCAP_CVBS_YC_SPECIFIC_STATUS. More...
 
struct  _MWCAP_INPUT_SPECIFIC_STATUS
 MWCAP_INPUT_SPECIFIC_STATUS. More...
 
struct  _MWCAP_VIDEO_SIGNAL_STATUS
 MWCAP_VIDEO_SIGNAL_STATUS. More...
 
struct  _MWCAP_AUDIO_SIGNAL_STATUS
 MWCAP_AUDIO_SIGNAL_STATUS. More...
 
struct  _MWCAP_SMPTE_TIMECODE
 MWCAP_SMPTE_TIMECODE. More...
 
struct  _MWCAP_VIDEO_BUFFER_INFO
 MWCAP_VIDEO_BUFFER_INFO. More...
 
struct  _MWCAP_VIDEO_FRAME_INFO
 MWCAP_VIDEO_FRAME_INFO. More...
 
struct  _MWCAP_VIDEO_CAPTURE_STATUS
 MWCAP_VIDEO_CAPTURE_STATUS. More...
 
struct  _MWCAP_AUDIO_CAPTURE_FRAME
 MWCAP_AUDIO_CAPTURE_FRAME. More...
 
struct  _MWCAP_VIDEO_CONNECTION_FORMAT
 MWCAP_VIDEO_CONNECTION_FORMAT. More...
 
struct  _MWCAP_VIDEO_PROCESS_SETTINGS
 MWCAP_VIDEO_PROCESS_SETTINGS. More...
 
struct  _VIDEO_RESOLUTION
 MWCAP_VIDEO_RESOLUTION. More...
 
struct  _VIDEO_RESOLUTION_RANGE
 MWCAP_VIDEO_RESOLUTION_RANGE. More...
 
struct  _VIDEO_RESOLUTION_LIST
 MWCAP_VIDEO_RESOLUTION_LIST. More...
 
struct  _MWCAP_VIDEO_OSD_SETTINGS
 MWCAP_VIDEO_OSD_SETTINGS. More...
 
struct  _MWCAP_VIDEO_CUSTOM_TIMING
 MWCAP_VIDEO_CUSTOM_TIMING. More...
 
struct  _MWCAP_SDI_ANC_TYPE
 MWCAP_SDI_ANC_TYPE. More...
 
struct  _MWCAP_SDI_ANC_PACKET
 MWCAP_SDI_ANC_PACKET. More...
 
struct  _MWCAP_VIDEO_ECO_CAPTURE_OPEN
 MWCAP_VIDEO_ECO_CAPTURE_OPEN. More...
 
struct  _MWCAP_VIDEO_ECO_CAPTURE_SETTINGS
 MWCAP_VIDEO_ECO_CAPTURE_SETTINGS. More...
 
struct  _MWCAP_VIDEO_ECO_CAPTURE_FRAME
 MWCAP_VIDEO_ECO_CAPTURE_FRAME. More...
 
struct  _MWCAP_VIDEO_ECO_CAPTURE_STATUS
 MWCAP_VIDEO_ECO_CAPTURE_STATUS. More...
 
struct  _HDMI_AVI_INFOFRAME_PAYLOAD
 HDMI_AVI_INFOFRAME_PAYLOAD. More...
 
struct  _HDMI_INFOFRAME_HEADER
 HDMI_INFOFRAME_HEADER. More...
 
struct  _HDMI_INFOFRAME_PACKET
 HDMI_INFOFRAME_PACKET. More...
 
struct  _MWUSBCAP_CAPTURE_INFO
 MWUSBCAP_CAPTURE_INFO. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct _MWCAP_VIDEO_SYNC_INFO MWCAP_VIDEO_SYNC_INFO
 MWCAP_VIDEO_SYNC_INFO. More...
 
typedef struct _MWCAP_VIDEO_TIMING MWCAP_VIDEO_TIMING
 MWCAP_VIDEO_TIMING. More...
 
typedef struct _MWCAP_VIDEO_TIMING_SETTINGS MWCAP_VIDEO_TIMING_SETTINGS
 MWCAP_VIDEO_TIMING_SETTINGS. More...
 
typedef struct _MWCAP_DWORD_PARAMETER_RANGE MWCAP_DWORD_PARAMETER_RANGE
 MWCAP_DWORD_PARAMETER_RANGE. More...
 
typedef struct _MWCAP_DWORD_PARAMETER_VALUE MWCAP_DWORD_PARAMETER_VALUE
 MWCAP_DWORD_PARAMETER_VALUE. More...
 
typedef struct _MWCAP_CHANNEL_INFO MWCAP_CHANNEL_INFO
 MWCAP_CHANNEL_INFO. More...
 
typedef struct _MWCAP_PRO_CAPTURE_INFO MWCAP_PRO_CAPTURE_INFO
 MWCAP_PRO_CAPTURE_INFO. More...
 
typedef MWCAP_PRO_CAPTURE_INFO MWCAP_ECO_CAPTURE_INFO
 MWCAP_ECO_CAPTURE_INFO. More...
 
typedef struct _MWCAP_VIDEO_CAPS MWCAP_VIDEO_CAPS
 MWCAP_VIDEO_CAPS. More...
 
typedef struct _MWCAP_AUDIO_CAPS MWCAP_AUDIO_CAPS
 MWCAP_AUDIO_CAPS. More...
 
typedef struct _MWCAP_FIRMWARE_STORAGE_CARD MWCAP_FIRMWARE_STORAGE_CARD
 MWCAP_FIRMWARE_STORAGE_CARD. More...
 
typedef struct _MWCAP_FIRMWARE_STORAGE_USB MWCAP_FIRMWARE_STORAGE_USB
 MWCAP_FIRMWARE_STORAGE_USB. More...
 
typedef union _MWCAP_FIRMWARE_STORAGE MWCAP_FIRMWARE_STORAGE
 MWCAP_FIRMWARE_STORAGE. More...
 
typedef struct _MWCAP_FIRMWARE_ERASE MWCAP_FIRMWARE_ERASE
 MWCAP_FIRMWARE_ERASE. More...
 
typedef struct _MWCAP_SDI_SPECIFIC_STATUS MWCAP_SDI_SPECIFIC_STATUS
 MWCAP_SDI_SPECIFIC_STATUS. More...
 
typedef struct _MWCAP_HDMI_VIDEO_TIMING MWCAP_HDMI_VIDEO_TIMING
 MWCAP_HDMI_VIDEO_TIMING. More...
 
typedef struct _MWCAP_HDMI_SPECIFIC_STATUS MWCAP_HDMI_SPECIFIC_STATUS
 MWCAP_HDMI_SPECIFIC_STATUS. More...
 
typedef struct _MWCAP_COMPONENT_SPECIFIC_STATUS MWCAP_COMPONENT_SPECIFIC_STATUS
 MWCAP_COMPONENT_SPECIFIC_STATUS. More...
 
typedef struct _MWCAP_CVBS_YC_SPECIFIC_STATUS MWCAP_CVBS_YC_SPECIFIC_STATUS
 MWCAP_CVBS_YC_SPECIFIC_STATUS. More...
 
typedef struct _MWCAP_INPUT_SPECIFIC_STATUS MWCAP_INPUT_SPECIFIC_STATUS
 MWCAP_INPUT_SPECIFIC_STATUS. More...
 
typedef struct _MWCAP_VIDEO_SIGNAL_STATUS MWCAP_VIDEO_SIGNAL_STATUS
 MWCAP_VIDEO_SIGNAL_STATUS. More...
 
typedef struct _MWCAP_AUDIO_SIGNAL_STATUS MWCAP_AUDIO_SIGNAL_STATUS
 MWCAP_AUDIO_SIGNAL_STATUS. More...
 
typedef struct _MWCAP_SMPTE_TIMECODE MWCAP_SMPTE_TIMECODE
 MWCAP_SMPTE_TIMECODE. More...
 
typedef struct _MWCAP_VIDEO_BUFFER_INFO MWCAP_VIDEO_BUFFER_INFO
 MWCAP_VIDEO_BUFFER_INFO. More...
 
typedef struct _MWCAP_VIDEO_FRAME_INFO MWCAP_VIDEO_FRAME_INFO
 MWCAP_VIDEO_FRAME_INFO. More...
 
typedef struct _MWCAP_VIDEO_CAPTURE_STATUS MWCAP_VIDEO_CAPTURE_STATUS
 MWCAP_VIDEO_CAPTURE_STATUS. More...
 
typedef struct _MWCAP_AUDIO_CAPTURE_FRAME MWCAP_AUDIO_CAPTURE_FRAME
 MWCAP_AUDIO_CAPTURE_FRAME. More...
 
typedef struct _MWCAP_VIDEO_CONNECTION_FORMAT MWCAP_VIDEO_CONNECTION_FORMAT
 MWCAP_VIDEO_CONNECTION_FORMAT. More...
 
typedef struct _MWCAP_VIDEO_PROCESS_SETTINGS MWCAP_VIDEO_PROCESS_SETTINGS
 MWCAP_VIDEO_PROCESS_SETTINGS. More...
 
typedef struct _VIDEO_RESOLUTION MWCAP_VIDEO_RESOLUTION
 MWCAP_VIDEO_RESOLUTION. More...
 
typedef struct _VIDEO_RESOLUTION_RANGE MWCAP_VIDEO_RESOLUTION_RANGE
 MWCAP_VIDEO_RESOLUTION_RANGE. More...
 
typedef struct _VIDEO_RESOLUTION_LIST MWCAP_VIDEO_RESOLUTION_LIST
 MWCAP_VIDEO_RESOLUTION_LIST. More...
 
typedef struct _MWCAP_VIDEO_OSD_SETTINGS MWCAP_VIDEO_OSD_SETTINGS
 MWCAP_VIDEO_OSD_SETTINGS. More...
 
typedef struct _MWCAP_VIDEO_CUSTOM_TIMING MWCAP_VIDEO_CUSTOM_TIMING
 MWCAP_VIDEO_CUSTOM_TIMING. More...
 
typedef struct _MWCAP_SDI_ANC_TYPE MWCAP_SDI_ANC_TYPE
 MWCAP_SDI_ANC_TYPE. More...
 
typedef struct _MWCAP_SDI_ANC_PACKET MWCAP_SDI_ANC_PACKET
 MWCAP_SDI_ANC_PACKET. More...
 
typedef struct _MWCAP_VIDEO_ECO_CAPTURE_OPEN MWCAP_VIDEO_ECO_CAPTURE_OPEN
 MWCAP_VIDEO_ECO_CAPTURE_OPEN. More...
 
typedef struct _MWCAP_VIDEO_ECO_CAPTURE_SETTINGS MWCAP_VIDEO_ECO_CAPTURE_SETTINGS
 MWCAP_VIDEO_ECO_CAPTURE_SETTINGS. More...
 
typedef struct _MWCAP_VIDEO_ECO_CAPTURE_FRAME MWCAP_VIDEO_ECO_CAPTURE_FRAME
 MWCAP_VIDEO_ECO_CAPTURE_FRAME. More...
 
typedef struct _MWCAP_VIDEO_ECO_CAPTURE_STATUS MWCAP_VIDEO_ECO_CAPTURE_STATUS
 MWCAP_VIDEO_ECO_CAPTURE_STATUS. More...
 
typedef struct _HDMI_AVI_INFOFRAME_PAYLOAD HDMI_AVI_INFOFRAME_PAYLOAD
 HDMI_AVI_INFOFRAME_PAYLOAD. More...
 
typedef struct _HDMI_INFOFRAME_HEADER HDMI_INFOFRAME_HEADER
 HDMI_INFOFRAME_HEADER. More...
 
typedef struct _HDMI_INFOFRAME_PACKET HDMI_INFOFRAME_PACKET
 HDMI_INFOFRAME_PACKET. More...
 
typedef struct _MWUSBCAP_CAPTURE_INFO MWUSBCAP_CAPTURE_INFO
 MWUSBCAP_CAPTURE_INFO. More...
 
+

Detailed Description

+

Typedef Documentation

+ +
+
+ +

HDMI_AVI_INFOFRAME_PAYLOAD.

+

Records AVI infoframe.
+

+ +
+
+ +
+
+ + + + +
typedef struct _HDMI_INFOFRAME_HEADER HDMI_INFOFRAME_HEADER
+
+ +

HDMI_INFOFRAME_HEADER.

+

Records HDMI infoframe header
+ Related struct HDMI_INFOFRAME_PACKET
+

+ +
+
+ +
+
+ + + + +
typedef struct _HDMI_INFOFRAME_PACKET HDMI_INFOFRAME_PACKET
+
+ +

HDMI_INFOFRAME_PACKET.

+

Records HDMI infoframe
+ Related function MWGetHDMIInfoFramePacket
+

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_AUDIO_CAPS MWCAP_AUDIO_CAPS
+
+ +

MWCAP_AUDIO_CAPS.

+

Records audio capture capability of your card.
+Usage:

1 MWCAP_AUDIO_CAPS audioCaps;
2 MWGetAudioCaps(m_hcChannel,&audioCaps);
3 if(audioCaps.dwCaps&MWCAP_USB_AUDIO_CAP_EMBEDDED_CAPTURE){
4  //MWCAP_AUDIO_CAPTURE_NODE_EMBEDDED_CAPTURE;
5 }
6 if(audioCaps.dwCaps&MWCAP_USB_AUDIO_CAP_MICROPHONE){
7  //MWCAP_AUDIO_CAPTURE_NODE_MICROPHONE;
8 }
9 if(audioCaps.dwCaps&MWCAP_USB_AUDIO_CAP_LINE_IN){
10  //MWCAP_AUDIO_CAPTURE_NODE_LINE_IN;
11 }
12 if(audioCaps.dwCaps&MWCAP_USB_AUDIO_CAP_USB_CAPTURE){
13  //MWCAP_AUDIO_CAPTURE_NODE_USB_CAPTURE;
14 }
15 if (audioCaps.dwCaps&MWCAP_USB_AUDIO_CAP_HEADPHONE){
16  //headphone
17 }

Where dwCaps correspond to
+

1 #define MWCAP_USB_AUDIO_CAP_MICROPHONE (1 << MWCAP_USB_AUDIO_MICROPHONE)\n
2 #define MWCAP_USB_AUDIO_CAP_HEADPHONE (1 << MWCAP_USB_AUDIO_HEADPHONE)\n
3 #define MWCAP_USB_AUDIO_CAP_LINE_IN (1 << MWCAP_USB_AUDIO_LINE_IN)\n
4 #define MWCAP_USB_AUDIO_CAP_LINE_OUT (1 << MWCAP_USB_AUDIO_LINE_OUT)\n
5 #define MWCAP_USB_AUDIO_CAP_EMBEDDED_CAPTURE (1 << MWCAP_USB_AUDIO_EMBEDDED_CAPTURE)\n
6 #define MWCAP_USB_AUDIO_CAP_EMBEDDED_PLAYBACK (1 << MWCAP_USB_AUDIO_EMBEDDED_PLAYBACK)\n
7 #define MWCAP_USB_AUDIO_CAP_USB_CAPTURE (1 << MWCAP_USB_AUDIO_USB_CAPTURE)\n
8 #define MWCAP_USB_AUDIO_CAP_USB_PLAYBACK (1 << MWCAP_USB_AUDIO_USB_PLAYBACK)\n

It is used for USB capture card to determine whether your USB capture card support for audio function

+ +
+
+ +
+
+ +

MWCAP_AUDIO_CAPTURE_FRAME.

+

Records audio frame info.
+Related functions are:
+ MWCaptureAudioFrame
+

+ +
+
+ +
+
+ +

MWCAP_AUDIO_SIGNAL_STATUS.

+

Records audio signal status.
+Related functions is
+ MWGetAudioSignalStatus
+

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_CHANNEL_INFO MWCAP_CHANNEL_INFO
+
+ +

MWCAP_CHANNEL_INFO.

+

Records detailed channel information
+ Related functions are:
+ MWGetChannelInfoByIndex
+ MWGetChannelInfo

+ +
+
+ +
+
+ +

MWCAP_COMPONENT_SPECIFIC_STATUS.

+

Records the Component signal status.
+Related data type are
+ MWCAP_INPUT_SPECIFIC_STATUS
+Related functions are:
+ MWGetInputSpecificStatus
+

+ +
+
+ +
+
+ +

MWCAP_CVBS_YC_SPECIFIC_STATUS.

+

Records CVBS_YC signal status.
+Related data type is
+ MWCAP_INPUT_SPECIFIC_STATUS
+Related functions is
+ MWGetInputSpecificStatus
+

+ +
+
+ +
+
+ +

MWCAP_DWORD_PARAMETER_RANGE.

+

Defines parameters value range, step and the default value.
+

+ +
+
+ +
+
+ +

MWCAP_DWORD_PARAMETER_VALUE.

+

Defines a DWORD
+

+ +
+
+ +
+
+ +

MWCAP_ECO_CAPTURE_INFO.

+

Records ECO Capture Device connections.
+ Related functions are:
+ MWGetFamilyInfoByIndex
+ MWGetFamilyInfo

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_FIRMWARE_ERASE MWCAP_FIRMWARE_ERASE
+
+ +

MWCAP_FIRMWARE_ERASE.

+

Specifies the firmware storage area to erase.
+

+ +
+
+ +
+
+ +

MWCAP_FIRMWARE_STORAGE.

+

Records firmware storage information.
+Related data type:
+ MWCAP_FIRMWARE_STORAGE_USB
+ MWCAP_FIRMWARE_STORAGE_CARD
+Related functions are:
+MWGetFirmwareStorageInfo
+

+ +
+
+ +
+
+ +

MWCAP_FIRMWARE_STORAGE_CARD.

+

Records firmware storage information of your capture card
+Related data type: MWCAP_FIRMWARE_STORAGE

+ +
+
+ +
+
+ +

MWCAP_FIRMWARE_STORAGE_USB.

+

Records firmware storage information of the USB capture card
+Related data type: MWCAP_FIRMWARE_STORAGE

+ +
+
+ +
+
+ +

MWCAP_HDMI_SPECIFIC_STATUS.

+

Records the HDMI signal status.
+Related data type are
+ MWCAP_INPUT_SPECIFIC_STATUS
+Related functions are:
+ MWGetInputSpecificStatus
+

+ +
+
+ +
+
+ +

MWCAP_HDMI_VIDEO_TIMING.

+

Records HDMI timing.
+Related data type are
+ MWCAP_HDMI_SPECIFIC_STATUS
+ MWCAP_INPUT_SPECIFIC_STATUS
+Related functions is:
+ MWGetInputSpecificStatus
+

+ +
+
+ +
+
+ +

MWCAP_INPUT_SPECIFIC_STATUS.

+

Records input signal status.
+Related functions are:
+ MWGetInputSpecificStatus
+

+ +
+
+ +
+
+ +

MWCAP_PRO_CAPTURE_INFO.

+

Records Pro Capture Device connections.
+ Related functions are:
+ MWGetFamilyInfoByIndex
+ MWGetFamilyInfo

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_SDI_ANC_PACKET MWCAP_SDI_ANC_PACKET
+
+ +

MWCAP_SDI_ANC_PACKET.

+

SDI ANC
+Related functions are:
+ MWCaptureGetSDIANCPacket
+

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_SDI_ANC_TYPE MWCAP_SDI_ANC_TYPE
+
+ +

MWCAP_SDI_ANC_TYPE.

+

Configurations of SDI ANC
+Related functions are:
+ MWCaptureSetSDIANCType
+

+ +
+
+ +
+
+ +

MWCAP_SDI_SPECIFIC_STATUS.

+

Records SDI signal status
+Related data type is:
+ MWCAP_INPUT_SPECIFIC_STATUS
+Related function is:
+ MWGetInputSpecificStatus
+

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_SMPTE_TIMECODE MWCAP_SMPTE_TIMECODE
+
+ +

MWCAP_SMPTE_TIMECODE.

+

Records SMPTE timecode.
+Related type: MWCAP_VIDEO_FRAME_INFO
+

1 MWCAP_VIDEO_FRAME_INFO videoFrameInfo;
2 nRet= MWGetVideoFrameInfo(g_hChannel[i], videoBufferInfo.iNewestBufferedFullFrame, &videoFrameInfo);
3 printf("[Timecode] Top: %2x:%2x:%2x:%2x , Bottom: %2x:%2x:%2x:%2x\n",
4  videoFrameInfo.aSMPTETimeCodes[0].byHours,
5  videoFrameInfo.aSMPTETimeCodes[0].byMinutes,
6  videoFrameInfo.aSMPTETimeCodes[0].bySeconds,
7  videoFrameInfo.aSMPTETimeCodes[0].byFrames,
8  videoFrameInfo.aSMPTETimeCodes[1].byHours,
9  videoFrameInfo.aSMPTETimeCodes[1].byMinutes,
10  videoFrameInfo.aSMPTETimeCodes[1].bySeconds,
11  videoFrameInfo.aSMPTETimeCodes[1].byFrames
12 );
+
+
+ +
+
+ +

MWCAP_VIDEO_BUFFER_INFO.

+

Records video buffer information.
+Related functions are:
+ MWGetVideoBufferInfo
+

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_VIDEO_CAPS MWCAP_VIDEO_CAPS
+
+ +

MWCAP_VIDEO_CAPS.

+

Records video capture capability.
+Usage:

1 MWCAP_VIDEO_CAPS caps;
2 mr = MWGetVideoCaps(hChannel, &caps);
3 if(caps& MWCAP_USB_VIDEO_CAP_HDMI_LOOP_THROUGH){
4 //HDMI_LOOP_THROUGH
5 }
6 if(caps& MWCAP_USB_VIDEO_CAP_SDI_LOOP_THROUGH){
7 //SDI_LOOP_THROUGH
8 }
9 if(caps&MWCAP_USB_VIDEO_CAP_PLANAR_FORMAT){
10 //PLANAR_FORMAT
11 }

Where dwCaps correspond to

1 #define MWCAP_USB_VIDEO_CAP_HDMI_LOOP_THROUGH 0x00000001\n
2 #define MWCAP_USB_VIDEO_CAP_SDI_LOOP_THROUGH 0x00000002\n
3 #define MWCAP_USB_VIDEO_CAP_PLANAR_FORMAT 0x00000004\n

It is used for USB capture card to determin whether a loopthrough interface or color format like I420 is supported by your USB capture card. For other capture card, it is always 0.

+ +
+
+ +
+
+ +

MWCAP_VIDEO_CAPTURE_STATUS.

+

Records state of video capture.
+Related functions are:
+ MWGetVideoCaptureStatus
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_CONNECTION_FORMAT.

+

Defines video connection format
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_CUSTOM_TIMING.

+

Defines custom video timing.
+Related functions are:
+ MWSetCustomVideoTiming
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_ECO_CAPTURE_FRAME.

+

ECO capture frames,MAC doesn't support
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_ECO_CAPTURE_OPEN.

+

ECO capture configurations,MAC doesn't support
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_ECO_CAPTURE_SETTINGS.

+

ECO capture configurations,MAC doesn't support
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_ECO_CAPTURE_STATUS.

+

ECO capture status, obatains the captured video,MAC doesn't support.
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_FRAME_INFO.

+

Records video frame information
+Related functions are:
+ MWGetVideoFrameInfo
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_OSD_SETTINGS.

+

Defines OSD
+Related functions are:
+ MWGetVideoOSDSettings
+ MWSetVideoOSDSettings
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_PROCESS_SETTINGS.

+

Defines settings of video process
+Related functions are:
+ MWUSBGetVideoCaptureProcessSettings
+ MWUSBSetVideoCaptureProcessSettings
+

+ +
+
+ +
+
+ + + + +
typedef struct _VIDEO_RESOLUTION MWCAP_VIDEO_RESOLUTION
+
+ +

MWCAP_VIDEO_RESOLUTION.

+

Video resolution
+Related types: MWCAP_VIDEO_RESOLUTION_RANGE
+ MWCAP_VIDEO_RESOLUTION_LIST
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_RESOLUTION_LIST.

+

Video resolution list
+Related functions is:
+ MWGetVideoCaptureSupportListResolution
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_RESOLUTION_RANGE.

+

Range of video resolution
+Related function:
+ MWGetVideoCaptureSupportRangeResolution
+

+ +
+
+ +
+
+ +

MWCAP_VIDEO_SIGNAL_STATUS.

+

Defines video signal status.
+Related functions are:
+ MWGetVideoSignalStatus
+

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_VIDEO_SYNC_INFO MWCAP_VIDEO_SYNC_INFO
+
+ +

MWCAP_VIDEO_SYNC_INFO.

+

Records the sync info of the timing

+ +
+
+ +
+
+ + + + +
typedef struct _MWCAP_VIDEO_TIMING MWCAP_VIDEO_TIMING
+
+ +

MWCAP_VIDEO_TIMING.

+

Records video channel timing
+ The related function is MWSetVideoTiming

+ +
+
+ +
+
+ +

MWCAP_VIDEO_TIMING_SETTINGS.

+

Records video timing settings
+ which is in both MWCAP_VIDEO_CUSTOM_TIMING and MWCAP_COMPONENT_SPECIFIC_STATUS.
+ Related functions are MWGetCustomVideoTimings
+ MWSetCustomVideoTimings
+ MWSetCustomVideoTiming

+ +
+
+ +
+
+ + + + +
typedef struct _MWUSBCAP_CAPTURE_INFO MWUSBCAP_CAPTURE_INFO
+
+ +

MWUSBCAP_CAPTURE_INFO.

+

Records connection information of USB device.
+ Related function(s): MWGetFamilyInfoByIndex
+ MWGetFamilyInfo

+ +
+
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/index.html b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/index.html new file mode 100644 index 00000000..6a25cf4e --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/index.html @@ -0,0 +1,69 @@ + + + + + + + + + Main Page - MWCapture SDK Linux + + + + + +
+
+ + + + + + +
+
MWCapture SDK Linux +  3.3.1.1515 +
+
+
+ + + +
+
+
+
MWCapture SDK Linux Documentation
+
+
+

Version 3 of the Magewell Software Development Kit ("SDKv3") is the latest release of the software development kit supporting Magewell's Pro/Eco Capture, USB Capture Gen 2 and USB Capture Plus families. The SDK is designed to be easy to use and provides many reference examples to help you get up to speed and allow you to quickly port and optimize your applications and algorithms.

+

Focusing on programmer productivity, the SDK's software development libraries and examples include tools for improving application development and performance optimization. The development libraries provide APIs developed by Magewell that enable you to incorporate functionality specific to our capture devices - such as audio and video capture, obtaining input signal information, setting the input source and more - into your software. You can use these examples directly or use the included examples to build your own applications.

+

Note:

+
    +
  1. +Note that SDKv3 does not support Gen 1 (Hybrid card or USB) products.
  2. +
  3. +The software development library is provided in the form of header files (*.h) and static libraries (*.a). +
  4. +
+
+ + + + diff --git a/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/jquery.js b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/jquery.js new file mode 100644 index 00000000..1f4d0b47 --- /dev/null +++ b/src/reprostim-capture/3rdparty/MWCapture_SDK_Linux-3_3_1_1515/Documents/html/jquery.js @@ -0,0 +1,68 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('