master
ブランチ master
ShaderPlayground / deps / xlibre / include / xcb / xv.h
56.7 KB、2096行 生 Blame 履歴
1/*
2 * This file generated automatically from xv.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_Xv_API XCB Xv API
8 * @brief Xv XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XV_H
13#define __XV_H
14
15#include "xcb.h"
16#include "xproto.h"
17#include "shm.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#define XCB_XV_MAJOR_VERSION 2
24#define XCB_XV_MINOR_VERSION 2
25
26extern xcb_extension_t xcb_xv_id;
27
28typedef uint32_t xcb_xv_port_t;
29
30/**
31 * @brief xcb_xv_port_iterator_t
32 **/
33typedef struct xcb_xv_port_iterator_t {
34 xcb_xv_port_t *data;
35 int rem;
36 int index;
37} xcb_xv_port_iterator_t;
38
39typedef uint32_t xcb_xv_encoding_t;
40
41/**
42 * @brief xcb_xv_encoding_iterator_t
43 **/
44typedef struct xcb_xv_encoding_iterator_t {
45 xcb_xv_encoding_t *data;
46 int rem;
47 int index;
48} xcb_xv_encoding_iterator_t;
49
50typedef enum xcb_xv_type_t {
51 XCB_XV_TYPE_INPUT_MASK = 1,
52 XCB_XV_TYPE_OUTPUT_MASK = 2,
53 XCB_XV_TYPE_VIDEO_MASK = 4,
54 XCB_XV_TYPE_STILL_MASK = 8,
55 XCB_XV_TYPE_IMAGE_MASK = 16
56} xcb_xv_type_t;
57
58typedef enum xcb_xv_image_format_info_type_t {
59 XCB_XV_IMAGE_FORMAT_INFO_TYPE_RGB = 0,
60 XCB_XV_IMAGE_FORMAT_INFO_TYPE_YUV = 1
61} xcb_xv_image_format_info_type_t;
62
63typedef enum xcb_xv_image_format_info_format_t {
64 XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PACKED = 0,
65 XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PLANAR = 1
66} xcb_xv_image_format_info_format_t;
67
68typedef enum xcb_xv_attribute_flag_t {
69 XCB_XV_ATTRIBUTE_FLAG_GETTABLE = 1,
70 XCB_XV_ATTRIBUTE_FLAG_SETTABLE = 2
71} xcb_xv_attribute_flag_t;
72
73typedef enum xcb_xv_video_notify_reason_t {
74 XCB_XV_VIDEO_NOTIFY_REASON_STARTED = 0,
75 XCB_XV_VIDEO_NOTIFY_REASON_STOPPED = 1,
76 XCB_XV_VIDEO_NOTIFY_REASON_BUSY = 2,
77 XCB_XV_VIDEO_NOTIFY_REASON_PREEMPTED = 3,
78 XCB_XV_VIDEO_NOTIFY_REASON_HARD_ERROR = 4
79} xcb_xv_video_notify_reason_t;
80
81typedef enum xcb_xv_scanline_order_t {
82 XCB_XV_SCANLINE_ORDER_TOP_TO_BOTTOM = 0,
83 XCB_XV_SCANLINE_ORDER_BOTTOM_TO_TOP = 1
84} xcb_xv_scanline_order_t;
85
86typedef enum xcb_xv_grab_port_status_t {
87 XCB_XV_GRAB_PORT_STATUS_SUCCESS = 0,
88 XCB_XV_GRAB_PORT_STATUS_BAD_EXTENSION = 1,
89 XCB_XV_GRAB_PORT_STATUS_ALREADY_GRABBED = 2,
90 XCB_XV_GRAB_PORT_STATUS_INVALID_TIME = 3,
91 XCB_XV_GRAB_PORT_STATUS_BAD_REPLY = 4,
92 XCB_XV_GRAB_PORT_STATUS_BAD_ALLOC = 5
93} xcb_xv_grab_port_status_t;
94
95/**
96 * @brief xcb_xv_rational_t
97 **/
98typedef struct xcb_xv_rational_t {
99 int32_t numerator;
100 int32_t denominator;
101} xcb_xv_rational_t;
102
103/**
104 * @brief xcb_xv_rational_iterator_t
105 **/
106typedef struct xcb_xv_rational_iterator_t {
107 xcb_xv_rational_t *data;
108 int rem;
109 int index;
110} xcb_xv_rational_iterator_t;
111
112/**
113 * @brief xcb_xv_format_t
114 **/
115typedef struct xcb_xv_format_t {
116 xcb_visualid_t visual;
117 uint8_t depth;
118 uint8_t pad0[3];
119} xcb_xv_format_t;
120
121/**
122 * @brief xcb_xv_format_iterator_t
123 **/
124typedef struct xcb_xv_format_iterator_t {
125 xcb_xv_format_t *data;
126 int rem;
127 int index;
128} xcb_xv_format_iterator_t;
129
130/**
131 * @brief xcb_xv_adaptor_info_t
132 **/
133typedef struct xcb_xv_adaptor_info_t {
134 xcb_xv_port_t base_id;
135 uint16_t name_size;
136 uint16_t num_ports;
137 uint16_t num_formats;
138 uint8_t type;
139 uint8_t pad0;
140} xcb_xv_adaptor_info_t;
141
142/**
143 * @brief xcb_xv_adaptor_info_iterator_t
144 **/
145typedef struct xcb_xv_adaptor_info_iterator_t {
146 xcb_xv_adaptor_info_t *data;
147 int rem;
148 int index;
149} xcb_xv_adaptor_info_iterator_t;
150
151/**
152 * @brief xcb_xv_encoding_info_t
153 **/
154typedef struct xcb_xv_encoding_info_t {
155 xcb_xv_encoding_t encoding;
156 uint16_t name_size;
157 uint16_t width;
158 uint16_t height;
159 uint8_t pad0[2];
160 xcb_xv_rational_t rate;
161} xcb_xv_encoding_info_t;
162
163/**
164 * @brief xcb_xv_encoding_info_iterator_t
165 **/
166typedef struct xcb_xv_encoding_info_iterator_t {
167 xcb_xv_encoding_info_t *data;
168 int rem;
169 int index;
170} xcb_xv_encoding_info_iterator_t;
171
172/**
173 * @brief xcb_xv_image_t
174 **/
175typedef struct xcb_xv_image_t {
176 uint32_t id;
177 uint16_t width;
178 uint16_t height;
179 uint32_t data_size;
180 uint32_t num_planes;
181} xcb_xv_image_t;
182
183/**
184 * @brief xcb_xv_image_iterator_t
185 **/
186typedef struct xcb_xv_image_iterator_t {
187 xcb_xv_image_t *data;
188 int rem;
189 int index;
190} xcb_xv_image_iterator_t;
191
192/**
193 * @brief xcb_xv_attribute_info_t
194 **/
195typedef struct xcb_xv_attribute_info_t {
196 uint32_t flags;
197 int32_t min;
198 int32_t max;
199 uint32_t size;
200} xcb_xv_attribute_info_t;
201
202/**
203 * @brief xcb_xv_attribute_info_iterator_t
204 **/
205typedef struct xcb_xv_attribute_info_iterator_t {
206 xcb_xv_attribute_info_t *data;
207 int rem;
208 int index;
209} xcb_xv_attribute_info_iterator_t;
210
211/**
212 * @brief xcb_xv_image_format_info_t
213 **/
214typedef struct xcb_xv_image_format_info_t {
215 uint32_t id;
216 uint8_t type;
217 uint8_t byte_order;
218 uint8_t pad0[2];
219 uint8_t guid[16];
220 uint8_t bpp;
221 uint8_t num_planes;
222 uint8_t pad1[2];
223 uint8_t depth;
224 uint8_t pad2[3];
225 uint32_t red_mask;
226 uint32_t green_mask;
227 uint32_t blue_mask;
228 uint8_t format;
229 uint8_t pad3[3];
230 uint32_t y_sample_bits;
231 uint32_t u_sample_bits;
232 uint32_t v_sample_bits;
233 uint32_t vhorz_y_period;
234 uint32_t vhorz_u_period;
235 uint32_t vhorz_v_period;
236 uint32_t vvert_y_period;
237 uint32_t vvert_u_period;
238 uint32_t vvert_v_period;
239 uint8_t vcomp_order[32];
240 uint8_t vscanline_order;
241 uint8_t pad4[11];
242} xcb_xv_image_format_info_t;
243
244/**
245 * @brief xcb_xv_image_format_info_iterator_t
246 **/
247typedef struct xcb_xv_image_format_info_iterator_t {
248 xcb_xv_image_format_info_t *data;
249 int rem;
250 int index;
251} xcb_xv_image_format_info_iterator_t;
252
253/** Opcode for xcb_xv_bad_port. */
254#define XCB_XV_BAD_PORT 0
255
256/**
257 * @brief xcb_xv_bad_port_error_t
258 **/
259typedef struct xcb_xv_bad_port_error_t {
260 uint8_t response_type;
261 uint8_t error_code;
262 uint16_t sequence;
263 uint32_t bad_value;
264 uint16_t minor_opcode;
265 uint8_t major_opcode;
266} xcb_xv_bad_port_error_t;
267
268/** Opcode for xcb_xv_bad_encoding. */
269#define XCB_XV_BAD_ENCODING 1
270
271/**
272 * @brief xcb_xv_bad_encoding_error_t
273 **/
274typedef struct xcb_xv_bad_encoding_error_t {
275 uint8_t response_type;
276 uint8_t error_code;
277 uint16_t sequence;
278 uint32_t bad_value;
279 uint16_t minor_opcode;
280 uint8_t major_opcode;
281} xcb_xv_bad_encoding_error_t;
282
283/** Opcode for xcb_xv_bad_control. */
284#define XCB_XV_BAD_CONTROL 2
285
286/**
287 * @brief xcb_xv_bad_control_error_t
288 **/
289typedef struct xcb_xv_bad_control_error_t {
290 uint8_t response_type;
291 uint8_t error_code;
292 uint16_t sequence;
293 uint32_t bad_value;
294 uint16_t minor_opcode;
295 uint8_t major_opcode;
296} xcb_xv_bad_control_error_t;
297
298/** Opcode for xcb_xv_video_notify. */
299#define XCB_XV_VIDEO_NOTIFY 0
300
301/**
302 * @brief xcb_xv_video_notify_event_t
303 **/
304typedef struct xcb_xv_video_notify_event_t {
305 uint8_t response_type;
306 uint8_t reason;
307 uint16_t sequence;
308 xcb_timestamp_t time;
309 xcb_drawable_t drawable;
310 xcb_xv_port_t port;
311} xcb_xv_video_notify_event_t;
312
313/** Opcode for xcb_xv_port_notify. */
314#define XCB_XV_PORT_NOTIFY 1
315
316/**
317 * @brief xcb_xv_port_notify_event_t
318 **/
319typedef struct xcb_xv_port_notify_event_t {
320 uint8_t response_type;
321 uint8_t pad0;
322 uint16_t sequence;
323 xcb_timestamp_t time;
324 xcb_xv_port_t port;
325 xcb_atom_t attribute;
326 int32_t value;
327} xcb_xv_port_notify_event_t;
328
329/**
330 * @brief xcb_xv_query_extension_cookie_t
331 **/
332typedef struct xcb_xv_query_extension_cookie_t {
333 unsigned int sequence;
334} xcb_xv_query_extension_cookie_t;
335
336/** Opcode for xcb_xv_query_extension. */
337#define XCB_XV_QUERY_EXTENSION 0
338
339/**
340 * @brief xcb_xv_query_extension_request_t
341 **/
342typedef struct xcb_xv_query_extension_request_t {
343 uint8_t major_opcode;
344 uint8_t minor_opcode;
345 uint16_t length;
346} xcb_xv_query_extension_request_t;
347
348/**
349 * @brief xcb_xv_query_extension_reply_t
350 **/
351typedef struct xcb_xv_query_extension_reply_t {
352 uint8_t response_type;
353 uint8_t pad0;
354 uint16_t sequence;
355 uint32_t length;
356 uint16_t major;
357 uint16_t minor;
358} xcb_xv_query_extension_reply_t;
359
360/**
361 * @brief xcb_xv_query_adaptors_cookie_t
362 **/
363typedef struct xcb_xv_query_adaptors_cookie_t {
364 unsigned int sequence;
365} xcb_xv_query_adaptors_cookie_t;
366
367/** Opcode for xcb_xv_query_adaptors. */
368#define XCB_XV_QUERY_ADAPTORS 1
369
370/**
371 * @brief xcb_xv_query_adaptors_request_t
372 **/
373typedef struct xcb_xv_query_adaptors_request_t {
374 uint8_t major_opcode;
375 uint8_t minor_opcode;
376 uint16_t length;
377 xcb_window_t window;
378} xcb_xv_query_adaptors_request_t;
379
380/**
381 * @brief xcb_xv_query_adaptors_reply_t
382 **/
383typedef struct xcb_xv_query_adaptors_reply_t {
384 uint8_t response_type;
385 uint8_t pad0;
386 uint16_t sequence;
387 uint32_t length;
388 uint16_t num_adaptors;
389 uint8_t pad1[22];
390} xcb_xv_query_adaptors_reply_t;
391
392/**
393 * @brief xcb_xv_query_encodings_cookie_t
394 **/
395typedef struct xcb_xv_query_encodings_cookie_t {
396 unsigned int sequence;
397} xcb_xv_query_encodings_cookie_t;
398
399/** Opcode for xcb_xv_query_encodings. */
400#define XCB_XV_QUERY_ENCODINGS 2
401
402/**
403 * @brief xcb_xv_query_encodings_request_t
404 **/
405typedef struct xcb_xv_query_encodings_request_t {
406 uint8_t major_opcode;
407 uint8_t minor_opcode;
408 uint16_t length;
409 xcb_xv_port_t port;
410} xcb_xv_query_encodings_request_t;
411
412/**
413 * @brief xcb_xv_query_encodings_reply_t
414 **/
415typedef struct xcb_xv_query_encodings_reply_t {
416 uint8_t response_type;
417 uint8_t pad0;
418 uint16_t sequence;
419 uint32_t length;
420 uint16_t num_encodings;
421 uint8_t pad1[22];
422} xcb_xv_query_encodings_reply_t;
423
424/**
425 * @brief xcb_xv_grab_port_cookie_t
426 **/
427typedef struct xcb_xv_grab_port_cookie_t {
428 unsigned int sequence;
429} xcb_xv_grab_port_cookie_t;
430
431/** Opcode for xcb_xv_grab_port. */
432#define XCB_XV_GRAB_PORT 3
433
434/**
435 * @brief xcb_xv_grab_port_request_t
436 **/
437typedef struct xcb_xv_grab_port_request_t {
438 uint8_t major_opcode;
439 uint8_t minor_opcode;
440 uint16_t length;
441 xcb_xv_port_t port;
442 xcb_timestamp_t time;
443} xcb_xv_grab_port_request_t;
444
445/**
446 * @brief xcb_xv_grab_port_reply_t
447 **/
448typedef struct xcb_xv_grab_port_reply_t {
449 uint8_t response_type;
450 uint8_t result;
451 uint16_t sequence;
452 uint32_t length;
453} xcb_xv_grab_port_reply_t;
454
455/** Opcode for xcb_xv_ungrab_port. */
456#define XCB_XV_UNGRAB_PORT 4
457
458/**
459 * @brief xcb_xv_ungrab_port_request_t
460 **/
461typedef struct xcb_xv_ungrab_port_request_t {
462 uint8_t major_opcode;
463 uint8_t minor_opcode;
464 uint16_t length;
465 xcb_xv_port_t port;
466 xcb_timestamp_t time;
467} xcb_xv_ungrab_port_request_t;
468
469/** Opcode for xcb_xv_put_video. */
470#define XCB_XV_PUT_VIDEO 5
471
472/**
473 * @brief xcb_xv_put_video_request_t
474 **/
475typedef struct xcb_xv_put_video_request_t {
476 uint8_t major_opcode;
477 uint8_t minor_opcode;
478 uint16_t length;
479 xcb_xv_port_t port;
480 xcb_drawable_t drawable;
481 xcb_gcontext_t gc;
482 int16_t vid_x;
483 int16_t vid_y;
484 uint16_t vid_w;
485 uint16_t vid_h;
486 int16_t drw_x;
487 int16_t drw_y;
488 uint16_t drw_w;
489 uint16_t drw_h;
490} xcb_xv_put_video_request_t;
491
492/** Opcode for xcb_xv_put_still. */
493#define XCB_XV_PUT_STILL 6
494
495/**
496 * @brief xcb_xv_put_still_request_t
497 **/
498typedef struct xcb_xv_put_still_request_t {
499 uint8_t major_opcode;
500 uint8_t minor_opcode;
501 uint16_t length;
502 xcb_xv_port_t port;
503 xcb_drawable_t drawable;
504 xcb_gcontext_t gc;
505 int16_t vid_x;
506 int16_t vid_y;
507 uint16_t vid_w;
508 uint16_t vid_h;
509 int16_t drw_x;
510 int16_t drw_y;
511 uint16_t drw_w;
512 uint16_t drw_h;
513} xcb_xv_put_still_request_t;
514
515/** Opcode for xcb_xv_get_video. */
516#define XCB_XV_GET_VIDEO 7
517
518/**
519 * @brief xcb_xv_get_video_request_t
520 **/
521typedef struct xcb_xv_get_video_request_t {
522 uint8_t major_opcode;
523 uint8_t minor_opcode;
524 uint16_t length;
525 xcb_xv_port_t port;
526 xcb_drawable_t drawable;
527 xcb_gcontext_t gc;
528 int16_t vid_x;
529 int16_t vid_y;
530 uint16_t vid_w;
531 uint16_t vid_h;
532 int16_t drw_x;
533 int16_t drw_y;
534 uint16_t drw_w;
535 uint16_t drw_h;
536} xcb_xv_get_video_request_t;
537
538/** Opcode for xcb_xv_get_still. */
539#define XCB_XV_GET_STILL 8
540
541/**
542 * @brief xcb_xv_get_still_request_t
543 **/
544typedef struct xcb_xv_get_still_request_t {
545 uint8_t major_opcode;
546 uint8_t minor_opcode;
547 uint16_t length;
548 xcb_xv_port_t port;
549 xcb_drawable_t drawable;
550 xcb_gcontext_t gc;
551 int16_t vid_x;
552 int16_t vid_y;
553 uint16_t vid_w;
554 uint16_t vid_h;
555 int16_t drw_x;
556 int16_t drw_y;
557 uint16_t drw_w;
558 uint16_t drw_h;
559} xcb_xv_get_still_request_t;
560
561/** Opcode for xcb_xv_stop_video. */
562#define XCB_XV_STOP_VIDEO 9
563
564/**
565 * @brief xcb_xv_stop_video_request_t
566 **/
567typedef struct xcb_xv_stop_video_request_t {
568 uint8_t major_opcode;
569 uint8_t minor_opcode;
570 uint16_t length;
571 xcb_xv_port_t port;
572 xcb_drawable_t drawable;
573} xcb_xv_stop_video_request_t;
574
575/** Opcode for xcb_xv_select_video_notify. */
576#define XCB_XV_SELECT_VIDEO_NOTIFY 10
577
578/**
579 * @brief xcb_xv_select_video_notify_request_t
580 **/
581typedef struct xcb_xv_select_video_notify_request_t {
582 uint8_t major_opcode;
583 uint8_t minor_opcode;
584 uint16_t length;
585 xcb_drawable_t drawable;
586 uint8_t onoff;
587 uint8_t pad0[3];
588} xcb_xv_select_video_notify_request_t;
589
590/** Opcode for xcb_xv_select_port_notify. */
591#define XCB_XV_SELECT_PORT_NOTIFY 11
592
593/**
594 * @brief xcb_xv_select_port_notify_request_t
595 **/
596typedef struct xcb_xv_select_port_notify_request_t {
597 uint8_t major_opcode;
598 uint8_t minor_opcode;
599 uint16_t length;
600 xcb_xv_port_t port;
601 uint8_t onoff;
602 uint8_t pad0[3];
603} xcb_xv_select_port_notify_request_t;
604
605/**
606 * @brief xcb_xv_query_best_size_cookie_t
607 **/
608typedef struct xcb_xv_query_best_size_cookie_t {
609 unsigned int sequence;
610} xcb_xv_query_best_size_cookie_t;
611
612/** Opcode for xcb_xv_query_best_size. */
613#define XCB_XV_QUERY_BEST_SIZE 12
614
615/**
616 * @brief xcb_xv_query_best_size_request_t
617 **/
618typedef struct xcb_xv_query_best_size_request_t {
619 uint8_t major_opcode;
620 uint8_t minor_opcode;
621 uint16_t length;
622 xcb_xv_port_t port;
623 uint16_t vid_w;
624 uint16_t vid_h;
625 uint16_t drw_w;
626 uint16_t drw_h;
627 uint8_t motion;
628 uint8_t pad0[3];
629} xcb_xv_query_best_size_request_t;
630
631/**
632 * @brief xcb_xv_query_best_size_reply_t
633 **/
634typedef struct xcb_xv_query_best_size_reply_t {
635 uint8_t response_type;
636 uint8_t pad0;
637 uint16_t sequence;
638 uint32_t length;
639 uint16_t actual_width;
640 uint16_t actual_height;
641} xcb_xv_query_best_size_reply_t;
642
643/** Opcode for xcb_xv_set_port_attribute. */
644#define XCB_XV_SET_PORT_ATTRIBUTE 13
645
646/**
647 * @brief xcb_xv_set_port_attribute_request_t
648 **/
649typedef struct xcb_xv_set_port_attribute_request_t {
650 uint8_t major_opcode;
651 uint8_t minor_opcode;
652 uint16_t length;
653 xcb_xv_port_t port;
654 xcb_atom_t attribute;
655 int32_t value;
656} xcb_xv_set_port_attribute_request_t;
657
658/**
659 * @brief xcb_xv_get_port_attribute_cookie_t
660 **/
661typedef struct xcb_xv_get_port_attribute_cookie_t {
662 unsigned int sequence;
663} xcb_xv_get_port_attribute_cookie_t;
664
665/** Opcode for xcb_xv_get_port_attribute. */
666#define XCB_XV_GET_PORT_ATTRIBUTE 14
667
668/**
669 * @brief xcb_xv_get_port_attribute_request_t
670 **/
671typedef struct xcb_xv_get_port_attribute_request_t {
672 uint8_t major_opcode;
673 uint8_t minor_opcode;
674 uint16_t length;
675 xcb_xv_port_t port;
676 xcb_atom_t attribute;
677} xcb_xv_get_port_attribute_request_t;
678
679/**
680 * @brief xcb_xv_get_port_attribute_reply_t
681 **/
682typedef struct xcb_xv_get_port_attribute_reply_t {
683 uint8_t response_type;
684 uint8_t pad0;
685 uint16_t sequence;
686 uint32_t length;
687 int32_t value;
688} xcb_xv_get_port_attribute_reply_t;
689
690/**
691 * @brief xcb_xv_query_port_attributes_cookie_t
692 **/
693typedef struct xcb_xv_query_port_attributes_cookie_t {
694 unsigned int sequence;
695} xcb_xv_query_port_attributes_cookie_t;
696
697/** Opcode for xcb_xv_query_port_attributes. */
698#define XCB_XV_QUERY_PORT_ATTRIBUTES 15
699
700/**
701 * @brief xcb_xv_query_port_attributes_request_t
702 **/
703typedef struct xcb_xv_query_port_attributes_request_t {
704 uint8_t major_opcode;
705 uint8_t minor_opcode;
706 uint16_t length;
707 xcb_xv_port_t port;
708} xcb_xv_query_port_attributes_request_t;
709
710/**
711 * @brief xcb_xv_query_port_attributes_reply_t
712 **/
713typedef struct xcb_xv_query_port_attributes_reply_t {
714 uint8_t response_type;
715 uint8_t pad0;
716 uint16_t sequence;
717 uint32_t length;
718 uint32_t num_attributes;
719 uint32_t text_size;
720 uint8_t pad1[16];
721} xcb_xv_query_port_attributes_reply_t;
722
723/**
724 * @brief xcb_xv_list_image_formats_cookie_t
725 **/
726typedef struct xcb_xv_list_image_formats_cookie_t {
727 unsigned int sequence;
728} xcb_xv_list_image_formats_cookie_t;
729
730/** Opcode for xcb_xv_list_image_formats. */
731#define XCB_XV_LIST_IMAGE_FORMATS 16
732
733/**
734 * @brief xcb_xv_list_image_formats_request_t
735 **/
736typedef struct xcb_xv_list_image_formats_request_t {
737 uint8_t major_opcode;
738 uint8_t minor_opcode;
739 uint16_t length;
740 xcb_xv_port_t port;
741} xcb_xv_list_image_formats_request_t;
742
743/**
744 * @brief xcb_xv_list_image_formats_reply_t
745 **/
746typedef struct xcb_xv_list_image_formats_reply_t {
747 uint8_t response_type;
748 uint8_t pad0;
749 uint16_t sequence;
750 uint32_t length;
751 uint32_t num_formats;
752 uint8_t pad1[20];
753} xcb_xv_list_image_formats_reply_t;
754
755/**
756 * @brief xcb_xv_query_image_attributes_cookie_t
757 **/
758typedef struct xcb_xv_query_image_attributes_cookie_t {
759 unsigned int sequence;
760} xcb_xv_query_image_attributes_cookie_t;
761
762/** Opcode for xcb_xv_query_image_attributes. */
763#define XCB_XV_QUERY_IMAGE_ATTRIBUTES 17
764
765/**
766 * @brief xcb_xv_query_image_attributes_request_t
767 **/
768typedef struct xcb_xv_query_image_attributes_request_t {
769 uint8_t major_opcode;
770 uint8_t minor_opcode;
771 uint16_t length;
772 xcb_xv_port_t port;
773 uint32_t id;
774 uint16_t width;
775 uint16_t height;
776} xcb_xv_query_image_attributes_request_t;
777
778/**
779 * @brief xcb_xv_query_image_attributes_reply_t
780 **/
781typedef struct xcb_xv_query_image_attributes_reply_t {
782 uint8_t response_type;
783 uint8_t pad0;
784 uint16_t sequence;
785 uint32_t length;
786 uint32_t num_planes;
787 uint32_t data_size;
788 uint16_t width;
789 uint16_t height;
790 uint8_t pad1[12];
791} xcb_xv_query_image_attributes_reply_t;
792
793/** Opcode for xcb_xv_put_image. */
794#define XCB_XV_PUT_IMAGE 18
795
796/**
797 * @brief xcb_xv_put_image_request_t
798 **/
799typedef struct xcb_xv_put_image_request_t {
800 uint8_t major_opcode;
801 uint8_t minor_opcode;
802 uint16_t length;
803 xcb_xv_port_t port;
804 xcb_drawable_t drawable;
805 xcb_gcontext_t gc;
806 uint32_t id;
807 int16_t src_x;
808 int16_t src_y;
809 uint16_t src_w;
810 uint16_t src_h;
811 int16_t drw_x;
812 int16_t drw_y;
813 uint16_t drw_w;
814 uint16_t drw_h;
815 uint16_t width;
816 uint16_t height;
817} xcb_xv_put_image_request_t;
818
819/** Opcode for xcb_xv_shm_put_image. */
820#define XCB_XV_SHM_PUT_IMAGE 19
821
822/**
823 * @brief xcb_xv_shm_put_image_request_t
824 **/
825typedef struct xcb_xv_shm_put_image_request_t {
826 uint8_t major_opcode;
827 uint8_t minor_opcode;
828 uint16_t length;
829 xcb_xv_port_t port;
830 xcb_drawable_t drawable;
831 xcb_gcontext_t gc;
832 xcb_shm_seg_t shmseg;
833 uint32_t id;
834 uint32_t offset;
835 int16_t src_x;
836 int16_t src_y;
837 uint16_t src_w;
838 uint16_t src_h;
839 int16_t drw_x;
840 int16_t drw_y;
841 uint16_t drw_w;
842 uint16_t drw_h;
843 uint16_t width;
844 uint16_t height;
845 uint8_t send_event;
846 uint8_t pad0[3];
847} xcb_xv_shm_put_image_request_t;
848
849/**
850 * Get the next element of the iterator
851 * @param i Pointer to a xcb_xv_port_iterator_t
852 *
853 * Get the next element in the iterator. The member rem is
854 * decreased by one. The member data points to the next
855 * element. The member index is increased by sizeof(xcb_xv_port_t)
856 */
857void
858xcb_xv_port_next (xcb_xv_port_iterator_t *i);
859
860/**
861 * Return the iterator pointing to the last element
862 * @param i An xcb_xv_port_iterator_t
863 * @return The iterator pointing to the last element
864 *
865 * Set the current element in the iterator to the last element.
866 * The member rem is set to 0. The member data points to the
867 * last element.
868 */
869xcb_generic_iterator_t
870xcb_xv_port_end (xcb_xv_port_iterator_t i);
871
872/**
873 * Get the next element of the iterator
874 * @param i Pointer to a xcb_xv_encoding_iterator_t
875 *
876 * Get the next element in the iterator. The member rem is
877 * decreased by one. The member data points to the next
878 * element. The member index is increased by sizeof(xcb_xv_encoding_t)
879 */
880void
881xcb_xv_encoding_next (xcb_xv_encoding_iterator_t *i);
882
883/**
884 * Return the iterator pointing to the last element
885 * @param i An xcb_xv_encoding_iterator_t
886 * @return The iterator pointing to the last element
887 *
888 * Set the current element in the iterator to the last element.
889 * The member rem is set to 0. The member data points to the
890 * last element.
891 */
892xcb_generic_iterator_t
893xcb_xv_encoding_end (xcb_xv_encoding_iterator_t i);
894
895/**
896 * Get the next element of the iterator
897 * @param i Pointer to a xcb_xv_rational_iterator_t
898 *
899 * Get the next element in the iterator. The member rem is
900 * decreased by one. The member data points to the next
901 * element. The member index is increased by sizeof(xcb_xv_rational_t)
902 */
903void
904xcb_xv_rational_next (xcb_xv_rational_iterator_t *i);
905
906/**
907 * Return the iterator pointing to the last element
908 * @param i An xcb_xv_rational_iterator_t
909 * @return The iterator pointing to the last element
910 *
911 * Set the current element in the iterator to the last element.
912 * The member rem is set to 0. The member data points to the
913 * last element.
914 */
915xcb_generic_iterator_t
916xcb_xv_rational_end (xcb_xv_rational_iterator_t i);
917
918/**
919 * Get the next element of the iterator
920 * @param i Pointer to a xcb_xv_format_iterator_t
921 *
922 * Get the next element in the iterator. The member rem is
923 * decreased by one. The member data points to the next
924 * element. The member index is increased by sizeof(xcb_xv_format_t)
925 */
926void
927xcb_xv_format_next (xcb_xv_format_iterator_t *i);
928
929/**
930 * Return the iterator pointing to the last element
931 * @param i An xcb_xv_format_iterator_t
932 * @return The iterator pointing to the last element
933 *
934 * Set the current element in the iterator to the last element.
935 * The member rem is set to 0. The member data points to the
936 * last element.
937 */
938xcb_generic_iterator_t
939xcb_xv_format_end (xcb_xv_format_iterator_t i);
940
941int
942xcb_xv_adaptor_info_sizeof (const void *_buffer);
943
944char *
945xcb_xv_adaptor_info_name (const xcb_xv_adaptor_info_t *R);
946
947int
948xcb_xv_adaptor_info_name_length (const xcb_xv_adaptor_info_t *R);
949
950xcb_generic_iterator_t
951xcb_xv_adaptor_info_name_end (const xcb_xv_adaptor_info_t *R);
952
953xcb_xv_format_t *
954xcb_xv_adaptor_info_formats (const xcb_xv_adaptor_info_t *R);
955
956int
957xcb_xv_adaptor_info_formats_length (const xcb_xv_adaptor_info_t *R);
958
959xcb_xv_format_iterator_t
960xcb_xv_adaptor_info_formats_iterator (const xcb_xv_adaptor_info_t *R);
961
962/**
963 * Get the next element of the iterator
964 * @param i Pointer to a xcb_xv_adaptor_info_iterator_t
965 *
966 * Get the next element in the iterator. The member rem is
967 * decreased by one. The member data points to the next
968 * element. The member index is increased by sizeof(xcb_xv_adaptor_info_t)
969 */
970void
971xcb_xv_adaptor_info_next (xcb_xv_adaptor_info_iterator_t *i);
972
973/**
974 * Return the iterator pointing to the last element
975 * @param i An xcb_xv_adaptor_info_iterator_t
976 * @return The iterator pointing to the last element
977 *
978 * Set the current element in the iterator to the last element.
979 * The member rem is set to 0. The member data points to the
980 * last element.
981 */
982xcb_generic_iterator_t
983xcb_xv_adaptor_info_end (xcb_xv_adaptor_info_iterator_t i);
984
985int
986xcb_xv_encoding_info_sizeof (const void *_buffer);
987
988char *
989xcb_xv_encoding_info_name (const xcb_xv_encoding_info_t *R);
990
991int
992xcb_xv_encoding_info_name_length (const xcb_xv_encoding_info_t *R);
993
994xcb_generic_iterator_t
995xcb_xv_encoding_info_name_end (const xcb_xv_encoding_info_t *R);
996
997/**
998 * Get the next element of the iterator
999 * @param i Pointer to a xcb_xv_encoding_info_iterator_t
1000 *
1001 * Get the next element in the iterator. The member rem is
1002 * decreased by one. The member data points to the next
1003 * element. The member index is increased by sizeof(xcb_xv_encoding_info_t)
1004 */
1005void
1006xcb_xv_encoding_info_next (xcb_xv_encoding_info_iterator_t *i);
1007
1008/**
1009 * Return the iterator pointing to the last element
1010 * @param i An xcb_xv_encoding_info_iterator_t
1011 * @return The iterator pointing to the last element
1012 *
1013 * Set the current element in the iterator to the last element.
1014 * The member rem is set to 0. The member data points to the
1015 * last element.
1016 */
1017xcb_generic_iterator_t
1018xcb_xv_encoding_info_end (xcb_xv_encoding_info_iterator_t i);
1019
1020int
1021xcb_xv_image_sizeof (const void *_buffer);
1022
1023uint32_t *
1024xcb_xv_image_pitches (const xcb_xv_image_t *R);
1025
1026int
1027xcb_xv_image_pitches_length (const xcb_xv_image_t *R);
1028
1029xcb_generic_iterator_t
1030xcb_xv_image_pitches_end (const xcb_xv_image_t *R);
1031
1032uint32_t *
1033xcb_xv_image_offsets (const xcb_xv_image_t *R);
1034
1035int
1036xcb_xv_image_offsets_length (const xcb_xv_image_t *R);
1037
1038xcb_generic_iterator_t
1039xcb_xv_image_offsets_end (const xcb_xv_image_t *R);
1040
1041uint8_t *
1042xcb_xv_image_data (const xcb_xv_image_t *R);
1043
1044int
1045xcb_xv_image_data_length (const xcb_xv_image_t *R);
1046
1047xcb_generic_iterator_t
1048xcb_xv_image_data_end (const xcb_xv_image_t *R);
1049
1050/**
1051 * Get the next element of the iterator
1052 * @param i Pointer to a xcb_xv_image_iterator_t
1053 *
1054 * Get the next element in the iterator. The member rem is
1055 * decreased by one. The member data points to the next
1056 * element. The member index is increased by sizeof(xcb_xv_image_t)
1057 */
1058void
1059xcb_xv_image_next (xcb_xv_image_iterator_t *i);
1060
1061/**
1062 * Return the iterator pointing to the last element
1063 * @param i An xcb_xv_image_iterator_t
1064 * @return The iterator pointing to the last element
1065 *
1066 * Set the current element in the iterator to the last element.
1067 * The member rem is set to 0. The member data points to the
1068 * last element.
1069 */
1070xcb_generic_iterator_t
1071xcb_xv_image_end (xcb_xv_image_iterator_t i);
1072
1073int
1074xcb_xv_attribute_info_sizeof (const void *_buffer);
1075
1076char *
1077xcb_xv_attribute_info_name (const xcb_xv_attribute_info_t *R);
1078
1079int
1080xcb_xv_attribute_info_name_length (const xcb_xv_attribute_info_t *R);
1081
1082xcb_generic_iterator_t
1083xcb_xv_attribute_info_name_end (const xcb_xv_attribute_info_t *R);
1084
1085/**
1086 * Get the next element of the iterator
1087 * @param i Pointer to a xcb_xv_attribute_info_iterator_t
1088 *
1089 * Get the next element in the iterator. The member rem is
1090 * decreased by one. The member data points to the next
1091 * element. The member index is increased by sizeof(xcb_xv_attribute_info_t)
1092 */
1093void
1094xcb_xv_attribute_info_next (xcb_xv_attribute_info_iterator_t *i);
1095
1096/**
1097 * Return the iterator pointing to the last element
1098 * @param i An xcb_xv_attribute_info_iterator_t
1099 * @return The iterator pointing to the last element
1100 *
1101 * Set the current element in the iterator to the last element.
1102 * The member rem is set to 0. The member data points to the
1103 * last element.
1104 */
1105xcb_generic_iterator_t
1106xcb_xv_attribute_info_end (xcb_xv_attribute_info_iterator_t i);
1107
1108/**
1109 * Get the next element of the iterator
1110 * @param i Pointer to a xcb_xv_image_format_info_iterator_t
1111 *
1112 * Get the next element in the iterator. The member rem is
1113 * decreased by one. The member data points to the next
1114 * element. The member index is increased by sizeof(xcb_xv_image_format_info_t)
1115 */
1116void
1117xcb_xv_image_format_info_next (xcb_xv_image_format_info_iterator_t *i);
1118
1119/**
1120 * Return the iterator pointing to the last element
1121 * @param i An xcb_xv_image_format_info_iterator_t
1122 * @return The iterator pointing to the last element
1123 *
1124 * Set the current element in the iterator to the last element.
1125 * The member rem is set to 0. The member data points to the
1126 * last element.
1127 */
1128xcb_generic_iterator_t
1129xcb_xv_image_format_info_end (xcb_xv_image_format_info_iterator_t i);
1130
1131/**
1132 *
1133 * @param c The connection
1134 * @return A cookie
1135 *
1136 * Delivers a request to the X server.
1137 *
1138 */
1139xcb_xv_query_extension_cookie_t
1140xcb_xv_query_extension (xcb_connection_t *c);
1141
1142/**
1143 *
1144 * @param c The connection
1145 * @return A cookie
1146 *
1147 * Delivers a request to the X server.
1148 *
1149 * This form can be used only if the request will cause
1150 * a reply to be generated. Any returned error will be
1151 * placed in the event queue.
1152 */
1153xcb_xv_query_extension_cookie_t
1154xcb_xv_query_extension_unchecked (xcb_connection_t *c);
1155
1156/**
1157 * Return the reply
1158 * @param c The connection
1159 * @param cookie The cookie
1160 * @param e The xcb_generic_error_t supplied
1161 *
1162 * Returns the reply of the request asked by
1163 *
1164 * The parameter @p e supplied to this function must be NULL if
1165 * xcb_xv_query_extension_unchecked(). is used.
1166 * Otherwise, it stores the error if any.
1167 *
1168 * The returned value must be freed by the caller using free().
1169 */
1170xcb_xv_query_extension_reply_t *
1171xcb_xv_query_extension_reply (xcb_connection_t *c,
1172 xcb_xv_query_extension_cookie_t cookie /**< */,
1173 xcb_generic_error_t **e);
1174
1175int
1176xcb_xv_query_adaptors_sizeof (const void *_buffer);
1177
1178/**
1179 *
1180 * @param c The connection
1181 * @return A cookie
1182 *
1183 * Delivers a request to the X server.
1184 *
1185 */
1186xcb_xv_query_adaptors_cookie_t
1187xcb_xv_query_adaptors (xcb_connection_t *c,
1188 xcb_window_t window);
1189
1190/**
1191 *
1192 * @param c The connection
1193 * @return A cookie
1194 *
1195 * Delivers a request to the X server.
1196 *
1197 * This form can be used only if the request will cause
1198 * a reply to be generated. Any returned error will be
1199 * placed in the event queue.
1200 */
1201xcb_xv_query_adaptors_cookie_t
1202xcb_xv_query_adaptors_unchecked (xcb_connection_t *c,
1203 xcb_window_t window);
1204
1205int
1206xcb_xv_query_adaptors_info_length (const xcb_xv_query_adaptors_reply_t *R);
1207
1208xcb_xv_adaptor_info_iterator_t
1209xcb_xv_query_adaptors_info_iterator (const xcb_xv_query_adaptors_reply_t *R);
1210
1211/**
1212 * Return the reply
1213 * @param c The connection
1214 * @param cookie The cookie
1215 * @param e The xcb_generic_error_t supplied
1216 *
1217 * Returns the reply of the request asked by
1218 *
1219 * The parameter @p e supplied to this function must be NULL if
1220 * xcb_xv_query_adaptors_unchecked(). is used.
1221 * Otherwise, it stores the error if any.
1222 *
1223 * The returned value must be freed by the caller using free().
1224 */
1225xcb_xv_query_adaptors_reply_t *
1226xcb_xv_query_adaptors_reply (xcb_connection_t *c,
1227 xcb_xv_query_adaptors_cookie_t cookie /**< */,
1228 xcb_generic_error_t **e);
1229
1230int
1231xcb_xv_query_encodings_sizeof (const void *_buffer);
1232
1233/**
1234 *
1235 * @param c The connection
1236 * @return A cookie
1237 *
1238 * Delivers a request to the X server.
1239 *
1240 */
1241xcb_xv_query_encodings_cookie_t
1242xcb_xv_query_encodings (xcb_connection_t *c,
1243 xcb_xv_port_t port);
1244
1245/**
1246 *
1247 * @param c The connection
1248 * @return A cookie
1249 *
1250 * Delivers a request to the X server.
1251 *
1252 * This form can be used only if the request will cause
1253 * a reply to be generated. Any returned error will be
1254 * placed in the event queue.
1255 */
1256xcb_xv_query_encodings_cookie_t
1257xcb_xv_query_encodings_unchecked (xcb_connection_t *c,
1258 xcb_xv_port_t port);
1259
1260int
1261xcb_xv_query_encodings_info_length (const xcb_xv_query_encodings_reply_t *R);
1262
1263xcb_xv_encoding_info_iterator_t
1264xcb_xv_query_encodings_info_iterator (const xcb_xv_query_encodings_reply_t *R);
1265
1266/**
1267 * Return the reply
1268 * @param c The connection
1269 * @param cookie The cookie
1270 * @param e The xcb_generic_error_t supplied
1271 *
1272 * Returns the reply of the request asked by
1273 *
1274 * The parameter @p e supplied to this function must be NULL if
1275 * xcb_xv_query_encodings_unchecked(). is used.
1276 * Otherwise, it stores the error if any.
1277 *
1278 * The returned value must be freed by the caller using free().
1279 */
1280xcb_xv_query_encodings_reply_t *
1281xcb_xv_query_encodings_reply (xcb_connection_t *c,
1282 xcb_xv_query_encodings_cookie_t cookie /**< */,
1283 xcb_generic_error_t **e);
1284
1285/**
1286 *
1287 * @param c The connection
1288 * @return A cookie
1289 *
1290 * Delivers a request to the X server.
1291 *
1292 */
1293xcb_xv_grab_port_cookie_t
1294xcb_xv_grab_port (xcb_connection_t *c,
1295 xcb_xv_port_t port,
1296 xcb_timestamp_t time);
1297
1298/**
1299 *
1300 * @param c The connection
1301 * @return A cookie
1302 *
1303 * Delivers a request to the X server.
1304 *
1305 * This form can be used only if the request will cause
1306 * a reply to be generated. Any returned error will be
1307 * placed in the event queue.
1308 */
1309xcb_xv_grab_port_cookie_t
1310xcb_xv_grab_port_unchecked (xcb_connection_t *c,
1311 xcb_xv_port_t port,
1312 xcb_timestamp_t time);
1313
1314/**
1315 * Return the reply
1316 * @param c The connection
1317 * @param cookie The cookie
1318 * @param e The xcb_generic_error_t supplied
1319 *
1320 * Returns the reply of the request asked by
1321 *
1322 * The parameter @p e supplied to this function must be NULL if
1323 * xcb_xv_grab_port_unchecked(). is used.
1324 * Otherwise, it stores the error if any.
1325 *
1326 * The returned value must be freed by the caller using free().
1327 */
1328xcb_xv_grab_port_reply_t *
1329xcb_xv_grab_port_reply (xcb_connection_t *c,
1330 xcb_xv_grab_port_cookie_t cookie /**< */,
1331 xcb_generic_error_t **e);
1332
1333/**
1334 *
1335 * @param c The connection
1336 * @return A cookie
1337 *
1338 * Delivers a request to the X server.
1339 *
1340 * This form can be used only if the request will not cause
1341 * a reply to be generated. Any returned error will be
1342 * saved for handling by xcb_request_check().
1343 */
1344xcb_void_cookie_t
1345xcb_xv_ungrab_port_checked (xcb_connection_t *c,
1346 xcb_xv_port_t port,
1347 xcb_timestamp_t time);
1348
1349/**
1350 *
1351 * @param c The connection
1352 * @return A cookie
1353 *
1354 * Delivers a request to the X server.
1355 *
1356 */
1357xcb_void_cookie_t
1358xcb_xv_ungrab_port (xcb_connection_t *c,
1359 xcb_xv_port_t port,
1360 xcb_timestamp_t time);
1361
1362/**
1363 *
1364 * @param c The connection
1365 * @return A cookie
1366 *
1367 * Delivers a request to the X server.
1368 *
1369 * This form can be used only if the request will not cause
1370 * a reply to be generated. Any returned error will be
1371 * saved for handling by xcb_request_check().
1372 */
1373xcb_void_cookie_t
1374xcb_xv_put_video_checked (xcb_connection_t *c,
1375 xcb_xv_port_t port,
1376 xcb_drawable_t drawable,
1377 xcb_gcontext_t gc,
1378 int16_t vid_x,
1379 int16_t vid_y,
1380 uint16_t vid_w,
1381 uint16_t vid_h,
1382 int16_t drw_x,
1383 int16_t drw_y,
1384 uint16_t drw_w,
1385 uint16_t drw_h);
1386
1387/**
1388 *
1389 * @param c The connection
1390 * @return A cookie
1391 *
1392 * Delivers a request to the X server.
1393 *
1394 */
1395xcb_void_cookie_t
1396xcb_xv_put_video (xcb_connection_t *c,
1397 xcb_xv_port_t port,
1398 xcb_drawable_t drawable,
1399 xcb_gcontext_t gc,
1400 int16_t vid_x,
1401 int16_t vid_y,
1402 uint16_t vid_w,
1403 uint16_t vid_h,
1404 int16_t drw_x,
1405 int16_t drw_y,
1406 uint16_t drw_w,
1407 uint16_t drw_h);
1408
1409/**
1410 *
1411 * @param c The connection
1412 * @return A cookie
1413 *
1414 * Delivers a request to the X server.
1415 *
1416 * This form can be used only if the request will not cause
1417 * a reply to be generated. Any returned error will be
1418 * saved for handling by xcb_request_check().
1419 */
1420xcb_void_cookie_t
1421xcb_xv_put_still_checked (xcb_connection_t *c,
1422 xcb_xv_port_t port,
1423 xcb_drawable_t drawable,
1424 xcb_gcontext_t gc,
1425 int16_t vid_x,
1426 int16_t vid_y,
1427 uint16_t vid_w,
1428 uint16_t vid_h,
1429 int16_t drw_x,
1430 int16_t drw_y,
1431 uint16_t drw_w,
1432 uint16_t drw_h);
1433
1434/**
1435 *
1436 * @param c The connection
1437 * @return A cookie
1438 *
1439 * Delivers a request to the X server.
1440 *
1441 */
1442xcb_void_cookie_t
1443xcb_xv_put_still (xcb_connection_t *c,
1444 xcb_xv_port_t port,
1445 xcb_drawable_t drawable,
1446 xcb_gcontext_t gc,
1447 int16_t vid_x,
1448 int16_t vid_y,
1449 uint16_t vid_w,
1450 uint16_t vid_h,
1451 int16_t drw_x,
1452 int16_t drw_y,
1453 uint16_t drw_w,
1454 uint16_t drw_h);
1455
1456/**
1457 *
1458 * @param c The connection
1459 * @return A cookie
1460 *
1461 * Delivers a request to the X server.
1462 *
1463 * This form can be used only if the request will not cause
1464 * a reply to be generated. Any returned error will be
1465 * saved for handling by xcb_request_check().
1466 */
1467xcb_void_cookie_t
1468xcb_xv_get_video_checked (xcb_connection_t *c,
1469 xcb_xv_port_t port,
1470 xcb_drawable_t drawable,
1471 xcb_gcontext_t gc,
1472 int16_t vid_x,
1473 int16_t vid_y,
1474 uint16_t vid_w,
1475 uint16_t vid_h,
1476 int16_t drw_x,
1477 int16_t drw_y,
1478 uint16_t drw_w,
1479 uint16_t drw_h);
1480
1481/**
1482 *
1483 * @param c The connection
1484 * @return A cookie
1485 *
1486 * Delivers a request to the X server.
1487 *
1488 */
1489xcb_void_cookie_t
1490xcb_xv_get_video (xcb_connection_t *c,
1491 xcb_xv_port_t port,
1492 xcb_drawable_t drawable,
1493 xcb_gcontext_t gc,
1494 int16_t vid_x,
1495 int16_t vid_y,
1496 uint16_t vid_w,
1497 uint16_t vid_h,
1498 int16_t drw_x,
1499 int16_t drw_y,
1500 uint16_t drw_w,
1501 uint16_t drw_h);
1502
1503/**
1504 *
1505 * @param c The connection
1506 * @return A cookie
1507 *
1508 * Delivers a request to the X server.
1509 *
1510 * This form can be used only if the request will not cause
1511 * a reply to be generated. Any returned error will be
1512 * saved for handling by xcb_request_check().
1513 */
1514xcb_void_cookie_t
1515xcb_xv_get_still_checked (xcb_connection_t *c,
1516 xcb_xv_port_t port,
1517 xcb_drawable_t drawable,
1518 xcb_gcontext_t gc,
1519 int16_t vid_x,
1520 int16_t vid_y,
1521 uint16_t vid_w,
1522 uint16_t vid_h,
1523 int16_t drw_x,
1524 int16_t drw_y,
1525 uint16_t drw_w,
1526 uint16_t drw_h);
1527
1528/**
1529 *
1530 * @param c The connection
1531 * @return A cookie
1532 *
1533 * Delivers a request to the X server.
1534 *
1535 */
1536xcb_void_cookie_t
1537xcb_xv_get_still (xcb_connection_t *c,
1538 xcb_xv_port_t port,
1539 xcb_drawable_t drawable,
1540 xcb_gcontext_t gc,
1541 int16_t vid_x,
1542 int16_t vid_y,
1543 uint16_t vid_w,
1544 uint16_t vid_h,
1545 int16_t drw_x,
1546 int16_t drw_y,
1547 uint16_t drw_w,
1548 uint16_t drw_h);
1549
1550/**
1551 *
1552 * @param c The connection
1553 * @return A cookie
1554 *
1555 * Delivers a request to the X server.
1556 *
1557 * This form can be used only if the request will not cause
1558 * a reply to be generated. Any returned error will be
1559 * saved for handling by xcb_request_check().
1560 */
1561xcb_void_cookie_t
1562xcb_xv_stop_video_checked (xcb_connection_t *c,
1563 xcb_xv_port_t port,
1564 xcb_drawable_t drawable);
1565
1566/**
1567 *
1568 * @param c The connection
1569 * @return A cookie
1570 *
1571 * Delivers a request to the X server.
1572 *
1573 */
1574xcb_void_cookie_t
1575xcb_xv_stop_video (xcb_connection_t *c,
1576 xcb_xv_port_t port,
1577 xcb_drawable_t drawable);
1578
1579/**
1580 *
1581 * @param c The connection
1582 * @return A cookie
1583 *
1584 * Delivers a request to the X server.
1585 *
1586 * This form can be used only if the request will not cause
1587 * a reply to be generated. Any returned error will be
1588 * saved for handling by xcb_request_check().
1589 */
1590xcb_void_cookie_t
1591xcb_xv_select_video_notify_checked (xcb_connection_t *c,
1592 xcb_drawable_t drawable,
1593 uint8_t onoff);
1594
1595/**
1596 *
1597 * @param c The connection
1598 * @return A cookie
1599 *
1600 * Delivers a request to the X server.
1601 *
1602 */
1603xcb_void_cookie_t
1604xcb_xv_select_video_notify (xcb_connection_t *c,
1605 xcb_drawable_t drawable,
1606 uint8_t onoff);
1607
1608/**
1609 *
1610 * @param c The connection
1611 * @return A cookie
1612 *
1613 * Delivers a request to the X server.
1614 *
1615 * This form can be used only if the request will not cause
1616 * a reply to be generated. Any returned error will be
1617 * saved for handling by xcb_request_check().
1618 */
1619xcb_void_cookie_t
1620xcb_xv_select_port_notify_checked (xcb_connection_t *c,
1621 xcb_xv_port_t port,
1622 uint8_t onoff);
1623
1624/**
1625 *
1626 * @param c The connection
1627 * @return A cookie
1628 *
1629 * Delivers a request to the X server.
1630 *
1631 */
1632xcb_void_cookie_t
1633xcb_xv_select_port_notify (xcb_connection_t *c,
1634 xcb_xv_port_t port,
1635 uint8_t onoff);
1636
1637/**
1638 *
1639 * @param c The connection
1640 * @return A cookie
1641 *
1642 * Delivers a request to the X server.
1643 *
1644 */
1645xcb_xv_query_best_size_cookie_t
1646xcb_xv_query_best_size (xcb_connection_t *c,
1647 xcb_xv_port_t port,
1648 uint16_t vid_w,
1649 uint16_t vid_h,
1650 uint16_t drw_w,
1651 uint16_t drw_h,
1652 uint8_t motion);
1653
1654/**
1655 *
1656 * @param c The connection
1657 * @return A cookie
1658 *
1659 * Delivers a request to the X server.
1660 *
1661 * This form can be used only if the request will cause
1662 * a reply to be generated. Any returned error will be
1663 * placed in the event queue.
1664 */
1665xcb_xv_query_best_size_cookie_t
1666xcb_xv_query_best_size_unchecked (xcb_connection_t *c,
1667 xcb_xv_port_t port,
1668 uint16_t vid_w,
1669 uint16_t vid_h,
1670 uint16_t drw_w,
1671 uint16_t drw_h,
1672 uint8_t motion);
1673
1674/**
1675 * Return the reply
1676 * @param c The connection
1677 * @param cookie The cookie
1678 * @param e The xcb_generic_error_t supplied
1679 *
1680 * Returns the reply of the request asked by
1681 *
1682 * The parameter @p e supplied to this function must be NULL if
1683 * xcb_xv_query_best_size_unchecked(). is used.
1684 * Otherwise, it stores the error if any.
1685 *
1686 * The returned value must be freed by the caller using free().
1687 */
1688xcb_xv_query_best_size_reply_t *
1689xcb_xv_query_best_size_reply (xcb_connection_t *c,
1690 xcb_xv_query_best_size_cookie_t cookie /**< */,
1691 xcb_generic_error_t **e);
1692
1693/**
1694 *
1695 * @param c The connection
1696 * @return A cookie
1697 *
1698 * Delivers a request to the X server.
1699 *
1700 * This form can be used only if the request will not cause
1701 * a reply to be generated. Any returned error will be
1702 * saved for handling by xcb_request_check().
1703 */
1704xcb_void_cookie_t
1705xcb_xv_set_port_attribute_checked (xcb_connection_t *c,
1706 xcb_xv_port_t port,
1707 xcb_atom_t attribute,
1708 int32_t value);
1709
1710/**
1711 *
1712 * @param c The connection
1713 * @return A cookie
1714 *
1715 * Delivers a request to the X server.
1716 *
1717 */
1718xcb_void_cookie_t
1719xcb_xv_set_port_attribute (xcb_connection_t *c,
1720 xcb_xv_port_t port,
1721 xcb_atom_t attribute,
1722 int32_t value);
1723
1724/**
1725 *
1726 * @param c The connection
1727 * @return A cookie
1728 *
1729 * Delivers a request to the X server.
1730 *
1731 */
1732xcb_xv_get_port_attribute_cookie_t
1733xcb_xv_get_port_attribute (xcb_connection_t *c,
1734 xcb_xv_port_t port,
1735 xcb_atom_t attribute);
1736
1737/**
1738 *
1739 * @param c The connection
1740 * @return A cookie
1741 *
1742 * Delivers a request to the X server.
1743 *
1744 * This form can be used only if the request will cause
1745 * a reply to be generated. Any returned error will be
1746 * placed in the event queue.
1747 */
1748xcb_xv_get_port_attribute_cookie_t
1749xcb_xv_get_port_attribute_unchecked (xcb_connection_t *c,
1750 xcb_xv_port_t port,
1751 xcb_atom_t attribute);
1752
1753/**
1754 * Return the reply
1755 * @param c The connection
1756 * @param cookie The cookie
1757 * @param e The xcb_generic_error_t supplied
1758 *
1759 * Returns the reply of the request asked by
1760 *
1761 * The parameter @p e supplied to this function must be NULL if
1762 * xcb_xv_get_port_attribute_unchecked(). is used.
1763 * Otherwise, it stores the error if any.
1764 *
1765 * The returned value must be freed by the caller using free().
1766 */
1767xcb_xv_get_port_attribute_reply_t *
1768xcb_xv_get_port_attribute_reply (xcb_connection_t *c,
1769 xcb_xv_get_port_attribute_cookie_t cookie /**< */,
1770 xcb_generic_error_t **e);
1771
1772int
1773xcb_xv_query_port_attributes_sizeof (const void *_buffer);
1774
1775/**
1776 *
1777 * @param c The connection
1778 * @return A cookie
1779 *
1780 * Delivers a request to the X server.
1781 *
1782 */
1783xcb_xv_query_port_attributes_cookie_t
1784xcb_xv_query_port_attributes (xcb_connection_t *c,
1785 xcb_xv_port_t port);
1786
1787/**
1788 *
1789 * @param c The connection
1790 * @return A cookie
1791 *
1792 * Delivers a request to the X server.
1793 *
1794 * This form can be used only if the request will cause
1795 * a reply to be generated. Any returned error will be
1796 * placed in the event queue.
1797 */
1798xcb_xv_query_port_attributes_cookie_t
1799xcb_xv_query_port_attributes_unchecked (xcb_connection_t *c,
1800 xcb_xv_port_t port);
1801
1802int
1803xcb_xv_query_port_attributes_attributes_length (const xcb_xv_query_port_attributes_reply_t *R);
1804
1805xcb_xv_attribute_info_iterator_t
1806xcb_xv_query_port_attributes_attributes_iterator (const xcb_xv_query_port_attributes_reply_t *R);
1807
1808/**
1809 * Return the reply
1810 * @param c The connection
1811 * @param cookie The cookie
1812 * @param e The xcb_generic_error_t supplied
1813 *
1814 * Returns the reply of the request asked by
1815 *
1816 * The parameter @p e supplied to this function must be NULL if
1817 * xcb_xv_query_port_attributes_unchecked(). is used.
1818 * Otherwise, it stores the error if any.
1819 *
1820 * The returned value must be freed by the caller using free().
1821 */
1822xcb_xv_query_port_attributes_reply_t *
1823xcb_xv_query_port_attributes_reply (xcb_connection_t *c,
1824 xcb_xv_query_port_attributes_cookie_t cookie /**< */,
1825 xcb_generic_error_t **e);
1826
1827int
1828xcb_xv_list_image_formats_sizeof (const void *_buffer);
1829
1830/**
1831 *
1832 * @param c The connection
1833 * @return A cookie
1834 *
1835 * Delivers a request to the X server.
1836 *
1837 */
1838xcb_xv_list_image_formats_cookie_t
1839xcb_xv_list_image_formats (xcb_connection_t *c,
1840 xcb_xv_port_t port);
1841
1842/**
1843 *
1844 * @param c The connection
1845 * @return A cookie
1846 *
1847 * Delivers a request to the X server.
1848 *
1849 * This form can be used only if the request will cause
1850 * a reply to be generated. Any returned error will be
1851 * placed in the event queue.
1852 */
1853xcb_xv_list_image_formats_cookie_t
1854xcb_xv_list_image_formats_unchecked (xcb_connection_t *c,
1855 xcb_xv_port_t port);
1856
1857xcb_xv_image_format_info_t *
1858xcb_xv_list_image_formats_format (const xcb_xv_list_image_formats_reply_t *R);
1859
1860int
1861xcb_xv_list_image_formats_format_length (const xcb_xv_list_image_formats_reply_t *R);
1862
1863xcb_xv_image_format_info_iterator_t
1864xcb_xv_list_image_formats_format_iterator (const xcb_xv_list_image_formats_reply_t *R);
1865
1866/**
1867 * Return the reply
1868 * @param c The connection
1869 * @param cookie The cookie
1870 * @param e The xcb_generic_error_t supplied
1871 *
1872 * Returns the reply of the request asked by
1873 *
1874 * The parameter @p e supplied to this function must be NULL if
1875 * xcb_xv_list_image_formats_unchecked(). is used.
1876 * Otherwise, it stores the error if any.
1877 *
1878 * The returned value must be freed by the caller using free().
1879 */
1880xcb_xv_list_image_formats_reply_t *
1881xcb_xv_list_image_formats_reply (xcb_connection_t *c,
1882 xcb_xv_list_image_formats_cookie_t cookie /**< */,
1883 xcb_generic_error_t **e);
1884
1885int
1886xcb_xv_query_image_attributes_sizeof (const void *_buffer);
1887
1888/**
1889 *
1890 * @param c The connection
1891 * @return A cookie
1892 *
1893 * Delivers a request to the X server.
1894 *
1895 */
1896xcb_xv_query_image_attributes_cookie_t
1897xcb_xv_query_image_attributes (xcb_connection_t *c,
1898 xcb_xv_port_t port,
1899 uint32_t id,
1900 uint16_t width,
1901 uint16_t height);
1902
1903/**
1904 *
1905 * @param c The connection
1906 * @return A cookie
1907 *
1908 * Delivers a request to the X server.
1909 *
1910 * This form can be used only if the request will cause
1911 * a reply to be generated. Any returned error will be
1912 * placed in the event queue.
1913 */
1914xcb_xv_query_image_attributes_cookie_t
1915xcb_xv_query_image_attributes_unchecked (xcb_connection_t *c,
1916 xcb_xv_port_t port,
1917 uint32_t id,
1918 uint16_t width,
1919 uint16_t height);
1920
1921uint32_t *
1922xcb_xv_query_image_attributes_pitches (const xcb_xv_query_image_attributes_reply_t *R);
1923
1924int
1925xcb_xv_query_image_attributes_pitches_length (const xcb_xv_query_image_attributes_reply_t *R);
1926
1927xcb_generic_iterator_t
1928xcb_xv_query_image_attributes_pitches_end (const xcb_xv_query_image_attributes_reply_t *R);
1929
1930uint32_t *
1931xcb_xv_query_image_attributes_offsets (const xcb_xv_query_image_attributes_reply_t *R);
1932
1933int
1934xcb_xv_query_image_attributes_offsets_length (const xcb_xv_query_image_attributes_reply_t *R);
1935
1936xcb_generic_iterator_t
1937xcb_xv_query_image_attributes_offsets_end (const xcb_xv_query_image_attributes_reply_t *R);
1938
1939/**
1940 * Return the reply
1941 * @param c The connection
1942 * @param cookie The cookie
1943 * @param e The xcb_generic_error_t supplied
1944 *
1945 * Returns the reply of the request asked by
1946 *
1947 * The parameter @p e supplied to this function must be NULL if
1948 * xcb_xv_query_image_attributes_unchecked(). is used.
1949 * Otherwise, it stores the error if any.
1950 *
1951 * The returned value must be freed by the caller using free().
1952 */
1953xcb_xv_query_image_attributes_reply_t *
1954xcb_xv_query_image_attributes_reply (xcb_connection_t *c,
1955 xcb_xv_query_image_attributes_cookie_t cookie /**< */,
1956 xcb_generic_error_t **e);
1957
1958int
1959xcb_xv_put_image_sizeof (const void *_buffer,
1960 uint32_t data_len);
1961
1962/**
1963 *
1964 * @param c The connection
1965 * @return A cookie
1966 *
1967 * Delivers a request to the X server.
1968 *
1969 * This form can be used only if the request will not cause
1970 * a reply to be generated. Any returned error will be
1971 * saved for handling by xcb_request_check().
1972 */
1973xcb_void_cookie_t
1974xcb_xv_put_image_checked (xcb_connection_t *c,
1975 xcb_xv_port_t port,
1976 xcb_drawable_t drawable,
1977 xcb_gcontext_t gc,
1978 uint32_t id,
1979 int16_t src_x,
1980 int16_t src_y,
1981 uint16_t src_w,
1982 uint16_t src_h,
1983 int16_t drw_x,
1984 int16_t drw_y,
1985 uint16_t drw_w,
1986 uint16_t drw_h,
1987 uint16_t width,
1988 uint16_t height,
1989 uint32_t data_len,
1990 const uint8_t *data);
1991
1992/**
1993 *
1994 * @param c The connection
1995 * @return A cookie
1996 *
1997 * Delivers a request to the X server.
1998 *
1999 */
2000xcb_void_cookie_t
2001xcb_xv_put_image (xcb_connection_t *c,
2002 xcb_xv_port_t port,
2003 xcb_drawable_t drawable,
2004 xcb_gcontext_t gc,
2005 uint32_t id,
2006 int16_t src_x,
2007 int16_t src_y,
2008 uint16_t src_w,
2009 uint16_t src_h,
2010 int16_t drw_x,
2011 int16_t drw_y,
2012 uint16_t drw_w,
2013 uint16_t drw_h,
2014 uint16_t width,
2015 uint16_t height,
2016 uint32_t data_len,
2017 const uint8_t *data);
2018
2019uint8_t *
2020xcb_xv_put_image_data (const xcb_xv_put_image_request_t *R);
2021
2022int
2023xcb_xv_put_image_data_length (const xcb_xv_put_image_request_t *R);
2024
2025xcb_generic_iterator_t
2026xcb_xv_put_image_data_end (const xcb_xv_put_image_request_t *R);
2027
2028/**
2029 *
2030 * @param c The connection
2031 * @return A cookie
2032 *
2033 * Delivers a request to the X server.
2034 *
2035 * This form can be used only if the request will not cause
2036 * a reply to be generated. Any returned error will be
2037 * saved for handling by xcb_request_check().
2038 */
2039xcb_void_cookie_t
2040xcb_xv_shm_put_image_checked (xcb_connection_t *c,
2041 xcb_xv_port_t port,
2042 xcb_drawable_t drawable,
2043 xcb_gcontext_t gc,
2044 xcb_shm_seg_t shmseg,
2045 uint32_t id,
2046 uint32_t offset,
2047 int16_t src_x,
2048 int16_t src_y,
2049 uint16_t src_w,
2050 uint16_t src_h,
2051 int16_t drw_x,
2052 int16_t drw_y,
2053 uint16_t drw_w,
2054 uint16_t drw_h,
2055 uint16_t width,
2056 uint16_t height,
2057 uint8_t send_event);
2058
2059/**
2060 *
2061 * @param c The connection
2062 * @return A cookie
2063 *
2064 * Delivers a request to the X server.
2065 *
2066 */
2067xcb_void_cookie_t
2068xcb_xv_shm_put_image (xcb_connection_t *c,
2069 xcb_xv_port_t port,
2070 xcb_drawable_t drawable,
2071 xcb_gcontext_t gc,
2072 xcb_shm_seg_t shmseg,
2073 uint32_t id,
2074 uint32_t offset,
2075 int16_t src_x,
2076 int16_t src_y,
2077 uint16_t src_w,
2078 uint16_t src_h,
2079 int16_t drw_x,
2080 int16_t drw_y,
2081 uint16_t drw_w,
2082 uint16_t drw_h,
2083 uint16_t width,
2084 uint16_t height,
2085 uint8_t send_event);
2086
2087
2088#ifdef __cplusplus
2089}
2090#endif
2091
2092#endif
2093
2094/**
2095 * @}
2096 */