1 /* plain X11 */
2 extern unsigned int x11_dpy_fmtid;
3 
4 Visual* x11_find_visual(Display *dpy);
5 void x11_init_visual(Display *dpy, XVisualInfo *vinfo);
6 
7 XImage *x11_create_ximage(Display *dpy,  XVisualInfo *vinfo,
8 			  int width, int height, XShmSegmentInfo **shm);
9 void x11_destroy_ximage(Display *dpy, XImage * ximage, XShmSegmentInfo *shm);
10 Pixmap x11_create_pixmap(Display *dpy, XVisualInfo *vinfo,
11 			 struct ng_video_buf *buf);
12 void x11_blit(Display *dpy, Drawable dr, GC gc, XImage *xi,
13 	      int a, int b, int c, int d, int w, int h);
14 
15 /* xvideo extention */
16 #ifdef HAVE_LIBXV
17 void xv_image_init(Display *dpy);
18 XvImage* xv_create_ximage(Display *dpy, int width, int height,
19 			  int format, XShmSegmentInfo **shm);
20 void xv_destroy_ximage(Display *dpy, XvImage * xvimage, XShmSegmentInfo *shm);
21 void xv_blit(Display *dpy, Drawable dr, GC gc, XvImage *xi,
22 	     int a, int b, int c, int d, int x, int y, int w, int h);
23 #endif
24 
25 /* video frame blitter */
26 struct blit_state;
27 struct blit_state* blit_init(Widget widget, XVisualInfo *vinfo, int use_gl);
28 void blit_get_formats(struct blit_state *st, int *fmtids, int max);
29 void blit_resize(struct blit_state *st, Dimension width, Dimension height);
30 void blit_init_frame(struct blit_state *st, struct ng_video_fmt *fmt);
31 void blit_fini_frame(struct blit_state *st);
32 void blit_fini(struct blit_state *st);
33 void blit_putframe(struct blit_state *st, struct ng_video_buf *buf);
34