VirtualBox

source: vbox/trunk/src/VBox/Additions/x11/x11include/xorg-server-1.9.0/xvmcext.h@ 38889

Last change on this file since 38889 was 32163, checked in by vboxsync, 14 years ago

Additions/x11/x11include: additional headers for building drivers for X.Org Server 1.9

  • Property svn:eol-style set to native
File size: 2.6 KB
Line 
1
2#ifndef _XVMC_H
3#define _XVMC_H
4#include <X11/extensions/Xv.h>
5#include "xvdix.h"
6
7typedef struct {
8 int num_xvimages;
9 int *xvimage_ids;
10} XvMCImageIDList;
11
12typedef struct {
13 int surface_type_id;
14 int chroma_format;
15 int color_description;
16 unsigned short max_width;
17 unsigned short max_height;
18 unsigned short subpicture_max_width;
19 unsigned short subpicture_max_height;
20 int mc_type;
21 int flags;
22 XvMCImageIDList *compatible_subpictures;
23} XvMCSurfaceInfoRec, *XvMCSurfaceInfoPtr;
24
25typedef struct {
26 XID context_id;
27 ScreenPtr pScreen;
28 int adapt_num;
29 int surface_type_id;
30 unsigned short width;
31 unsigned short height;
32 CARD32 flags;
33 int refcnt;
34 pointer port_priv;
35 pointer driver_priv;
36} XvMCContextRec, *XvMCContextPtr;
37
38typedef struct {
39 XID surface_id;
40 int surface_type_id;
41 XvMCContextPtr context;
42 pointer driver_priv;
43} XvMCSurfaceRec, *XvMCSurfacePtr;
44
45
46typedef struct {
47 XID subpicture_id;
48 int xvimage_id;
49 unsigned short width;
50 unsigned short height;
51 int num_palette_entries;
52 int entry_bytes;
53 char component_order[4];
54 XvMCContextPtr context;
55 pointer driver_priv;
56} XvMCSubpictureRec, *XvMCSubpicturePtr;
57
58typedef int (*XvMCCreateContextProcPtr) (
59 XvPortPtr port,
60 XvMCContextPtr context,
61 int *num_priv,
62 CARD32 **priv
63);
64
65typedef void (*XvMCDestroyContextProcPtr) (
66 XvMCContextPtr context
67);
68
69typedef int (*XvMCCreateSurfaceProcPtr) (
70 XvMCSurfacePtr surface,
71 int *num_priv,
72 CARD32 **priv
73);
74
75typedef void (*XvMCDestroySurfaceProcPtr) (
76 XvMCSurfacePtr surface
77);
78
79typedef int (*XvMCCreateSubpictureProcPtr) (
80 XvMCSubpicturePtr subpicture,
81 int *num_priv,
82 CARD32 **priv
83);
84
85typedef void (*XvMCDestroySubpictureProcPtr) (
86 XvMCSubpicturePtr subpicture
87);
88
89
90typedef struct {
91 XvAdaptorPtr xv_adaptor;
92 int num_surfaces;
93 XvMCSurfaceInfoPtr *surfaces;
94 int num_subpictures;
95 XvImagePtr *subpictures;
96 XvMCCreateContextProcPtr CreateContext;
97 XvMCDestroyContextProcPtr DestroyContext;
98 XvMCCreateSurfaceProcPtr CreateSurface;
99 XvMCDestroySurfaceProcPtr DestroySurface;
100 XvMCCreateSubpictureProcPtr CreateSubpicture;
101 XvMCDestroySubpictureProcPtr DestroySubpicture;
102} XvMCAdaptorRec, *XvMCAdaptorPtr;
103
104#ifndef XorgLoader
105extern _X_EXPORT void XvMCExtensionInit(void);
106
107extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen,
108 int num,
109 XvMCAdaptorPtr adapt);
110
111extern _X_EXPORT XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id);
112
113extern _X_EXPORT int xf86XvMCRegisterDRInfo(ScreenPtr pScreen, char *name,
114 char *busID, int major, int minor,
115 int patchLevel);
116#endif
117
118#endif /* _XVMC_H */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette