xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

xvmcext.h (2939B)


      1 
      2 #ifndef _XVMC_H
      3 #define _XVMC_H
      4 #include <X11/extensions/Xv.h>
      5 #include "xvdix.h"
      6 
      7 typedef struct {
      8     int num_xvimages;
      9     int *xvimage_ids;
     10 } XvMCImageIDList;
     11 
     12 typedef 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 
     25 typedef 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     void *port_priv;
     35     void *driver_priv;
     36 } XvMCContextRec, *XvMCContextPtr;
     37 
     38 typedef struct {
     39     XID surface_id;
     40     int surface_type_id;
     41     XvMCContextPtr context;
     42     void *driver_priv;
     43 } XvMCSurfaceRec, *XvMCSurfacePtr;
     44 
     45 typedef struct {
     46     XID subpicture_id;
     47     int xvimage_id;
     48     unsigned short width;
     49     unsigned short height;
     50     int num_palette_entries;
     51     int entry_bytes;
     52     char component_order[4];
     53     XvMCContextPtr context;
     54     void *driver_priv;
     55 } XvMCSubpictureRec, *XvMCSubpicturePtr;
     56 
     57 typedef int (*XvMCCreateContextProcPtr) (XvPortPtr port,
     58                                          XvMCContextPtr context,
     59                                          int *num_priv, CARD32 **priv);
     60 
     61 typedef void (*XvMCDestroyContextProcPtr) (XvMCContextPtr context);
     62 
     63 typedef int (*XvMCCreateSurfaceProcPtr) (XvMCSurfacePtr surface,
     64                                          int *num_priv, CARD32 **priv);
     65 
     66 typedef void (*XvMCDestroySurfaceProcPtr) (XvMCSurfacePtr surface);
     67 
     68 typedef int (*XvMCCreateSubpictureProcPtr) (XvMCSubpicturePtr subpicture,
     69                                             int *num_priv, CARD32 **priv);
     70 
     71 typedef void (*XvMCDestroySubpictureProcPtr) (XvMCSubpicturePtr subpicture);
     72 
     73 typedef struct {
     74     XvAdaptorPtr xv_adaptor;
     75     int num_surfaces;
     76     XvMCSurfaceInfoPtr *surfaces;
     77     int num_subpictures;
     78     XvImagePtr *subpictures;
     79     XvMCCreateContextProcPtr CreateContext;
     80     XvMCDestroyContextProcPtr DestroyContext;
     81     XvMCCreateSurfaceProcPtr CreateSurface;
     82     XvMCDestroySurfaceProcPtr DestroySurface;
     83     XvMCCreateSubpictureProcPtr CreateSubpicture;
     84     XvMCDestroySubpictureProcPtr DestroySubpicture;
     85 } XvMCAdaptorRec, *XvMCAdaptorPtr;
     86 
     87 extern int (*XvMCScreenInitProc)(ScreenPtr, int, XvMCAdaptorPtr);
     88 
     89 extern _X_EXPORT int XvMCScreenInit(ScreenPtr pScreen,
     90                                     int num, XvMCAdaptorPtr adapt);
     91 
     92 extern _X_EXPORT XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id);
     93 
     94 extern _X_EXPORT int xf86XvMCRegisterDRInfo(ScreenPtr pScreen, const char *name,
     95                                             const char *busID, int major, int minor,
     96                                             int patchLevel);
     97 
     98 #endif                          /* _XVMC_H */