My Project
 All Classes
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:211
Definition: MWLinux.h:201
Definition: MWLinux.h:226
Definition: MWLinux.h:195
Definition: MWLinux.h:183
Definition: MWLinux.h:190
Definition: MWLinux.h:231
Definition: MWLinux.h:216
Definition: MWCaptureExtension.h:576
Definition: MWLinux.h:221
Definition: MWLinux.h:206
Definition: MWHDMIPackets.h:345