symbian-qemu-0.9.1-12/libsdl-trunk/src/video/Xext/extensions/Xvlib.h
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 /***********************************************************
       
     2 Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
       
     3 and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
       
     4 
       
     5                         All Rights Reserved
       
     6 
       
     7 Permission to use, copy, modify, and distribute this software and its 
       
     8 documentation for any purpose and without fee is hereby granted, 
       
     9 provided that the above copyright notice appear in all copies and that
       
    10 both that copyright notice and this permission notice appear in 
       
    11 supporting documentation, and that the names of Digital or MIT not be
       
    12 used in advertising or publicity pertaining to distribution of the
       
    13 software without specific, written prior permission.  
       
    14 
       
    15 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
       
    16 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
       
    17 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
       
    18 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
       
    19 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
       
    20 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
       
    21 SOFTWARE.
       
    22 
       
    23 ******************************************************************/
       
    24 /* $XFree86: xc/include/extensions/Xvlib.h,v 1.3 1999/12/11 19:28:48 mvojkovi Exp $ */
       
    25 
       
    26 #ifndef XVLIB_H
       
    27 #define XVLIB_H
       
    28 /*
       
    29 ** File: 
       
    30 **
       
    31 **   Xvlib.h --- Xv library public header file
       
    32 **
       
    33 ** Author: 
       
    34 **
       
    35 **   David Carver (Digital Workstation Engineering/Project Athena)
       
    36 **
       
    37 ** Revisions:
       
    38 **
       
    39 **   26.06.91 Carver
       
    40 **     - changed XvFreeAdaptors to XvFreeAdaptorInfo
       
    41 **     - changed XvFreeEncodings to XvFreeEncodingInfo
       
    42 **
       
    43 **   11.06.91 Carver
       
    44 **     - changed SetPortControl to SetPortAttribute
       
    45 **     - changed GetPortControl to GetPortAttribute
       
    46 **     - changed QueryBestSize
       
    47 **
       
    48 **   05.15.91 Carver
       
    49 **     - version 2.0 upgrade
       
    50 **
       
    51 **   01.24.91 Carver
       
    52 **     - version 1.4 upgrade
       
    53 **
       
    54 */
       
    55 
       
    56 #include <X11/Xfuncproto.h>
       
    57 #include "Xv.h"
       
    58 #include "SDL_name.h"
       
    59 
       
    60 typedef struct {
       
    61   int numerator;
       
    62   int denominator;
       
    63 } SDL_NAME(XvRational);
       
    64 
       
    65 typedef struct {
       
    66   int flags;	/* XvGettable, XvSettable */
       
    67   int min_value;
       
    68   int max_value;
       
    69   char *name;
       
    70 } SDL_NAME(XvAttribute);
       
    71 
       
    72 typedef struct {
       
    73   XvEncodingID encoding_id;
       
    74   char *name;
       
    75   unsigned long width;
       
    76   unsigned long height;
       
    77   SDL_NAME(XvRational) rate;
       
    78   unsigned long num_encodings;
       
    79 } SDL_NAME(XvEncodingInfo);
       
    80 
       
    81 typedef struct {
       
    82   char depth;
       
    83   unsigned long visual_id;
       
    84 } SDL_NAME(XvFormat);
       
    85 
       
    86 typedef struct {
       
    87   XvPortID base_id;
       
    88   unsigned long num_ports;
       
    89   char type;
       
    90   char *name;
       
    91   unsigned long num_formats;
       
    92   SDL_NAME(XvFormat) *formats;
       
    93   unsigned long num_adaptors;
       
    94 } SDL_NAME(XvAdaptorInfo);
       
    95 
       
    96 typedef struct {
       
    97   int type;
       
    98   unsigned long serial;	   /* # of last request processed by server */
       
    99   Bool send_event;	   /* true if this came from a SendEvent request */
       
   100   Display *display;	   /* Display the event was read from */
       
   101   Drawable drawable;       /* drawable */
       
   102   unsigned long reason;    /* what generated this event */
       
   103   XvPortID port_id;        /* what port */
       
   104   Time time;		   /* milliseconds */
       
   105 } SDL_NAME(XvVideoNotifyEvent);
       
   106 
       
   107 typedef struct {
       
   108   int type;
       
   109   unsigned long serial;	   /* # of last request processed by server */
       
   110   Bool send_event;	   /* true if this came from a SendEvent request */
       
   111   Display *display;	   /* Display the event was read from */
       
   112   XvPortID port_id;        /* what port */
       
   113   Time time;		   /* milliseconds */
       
   114   Atom attribute;           /* atom that identifies attribute */
       
   115   long value;              /* value of attribute */
       
   116 } SDL_NAME(XvPortNotifyEvent);
       
   117 
       
   118 typedef union {
       
   119   int type;
       
   120   SDL_NAME(XvVideoNotifyEvent) xvvideo;
       
   121   SDL_NAME(XvPortNotifyEvent) xvport;
       
   122   long pad[24];
       
   123 } SDL_NAME(XvEvent);
       
   124 
       
   125 typedef struct {
       
   126   int id;                      /* Unique descriptor for the format */
       
   127   int type;                    /* XvRGB, XvYUV */
       
   128   int byte_order;              /* LSBFirst, MSBFirst */
       
   129   char guid[16];               /* Globally Unique IDentifier */
       
   130   int bits_per_pixel;
       
   131   int format;                  /* XvPacked, XvPlanar */
       
   132   int num_planes;
       
   133 
       
   134   /* for RGB formats only */
       
   135   int depth;
       
   136   unsigned int red_mask;       
       
   137   unsigned int green_mask;   
       
   138   unsigned int blue_mask;   
       
   139 
       
   140   /* for YUV formats only */
       
   141   unsigned int y_sample_bits;
       
   142   unsigned int u_sample_bits;
       
   143   unsigned int v_sample_bits;   
       
   144   unsigned int horz_y_period;
       
   145   unsigned int horz_u_period;
       
   146   unsigned int horz_v_period;
       
   147   unsigned int vert_y_period;
       
   148   unsigned int vert_u_period;
       
   149   unsigned int vert_v_period;
       
   150   char component_order[32];    /* eg. UYVY */
       
   151   int scanline_order;          /* XvTopToBottom, XvBottomToTop */
       
   152 } SDL_NAME(XvImageFormatValues); 
       
   153 
       
   154 typedef struct {
       
   155   int id;
       
   156   int width, height;
       
   157   int data_size;              /* bytes */
       
   158   int num_planes;
       
   159   int *pitches;               /* bytes */
       
   160   int *offsets;               /* bytes */
       
   161   char *data;
       
   162   XPointer obdata;     
       
   163 } SDL_NAME(XvImage);
       
   164 
       
   165 _XFUNCPROTOBEGIN
       
   166 
       
   167 extern int SDL_NAME(XvQueryExtension)(
       
   168 #if NeedFunctionPrototypes
       
   169   Display*                 /* display */,
       
   170   unsigned int*            /* p_version */,
       
   171   unsigned int*            /* p_revision */,
       
   172   unsigned int*            /* p_requestBase */,
       
   173   unsigned int*            /* p_eventBase */, 
       
   174   unsigned int*            /* p_errorBase */
       
   175 #endif
       
   176 );
       
   177 
       
   178 extern int SDL_NAME(XvQueryAdaptors)(
       
   179 #if NeedFunctionPrototypes
       
   180   Display*                 /* display */,
       
   181   Window                   /* window */,
       
   182   unsigned int*            /* p_nAdaptors */,
       
   183   SDL_NAME(XvAdaptorInfo)**          /* p_pAdaptors */
       
   184 #endif
       
   185 );
       
   186 
       
   187 extern int SDL_NAME(XvQueryEncodings)(
       
   188 #if NeedFunctionPrototypes
       
   189   Display*                 /* display */,
       
   190   XvPortID                 /* port */,
       
   191   unsigned int*            /* p_nEncoding */,
       
   192   SDL_NAME(XvEncodingInfo)**         /* p_pEncoding */
       
   193 #endif
       
   194 );
       
   195 
       
   196 extern int SDL_NAME(XvPutVideo)(
       
   197 #if NeedFunctionPrototypes
       
   198   Display*                 /* display */,
       
   199   XvPortID                 /* port */,
       
   200   Drawable                 /* d */,
       
   201   GC                       /* gc */,
       
   202   int                      /* vx */, 
       
   203   int                      /* vy */,
       
   204   unsigned int             /* vw */, 
       
   205   unsigned int             /* vh */,
       
   206   int                      /* dx */, 
       
   207   int                      /* dy */,
       
   208   unsigned int             /* dw */,
       
   209   unsigned int             /* dh */
       
   210 #endif
       
   211 );
       
   212 
       
   213 extern int SDL_NAME(XvPutStill)(
       
   214 #if NeedFunctionPrototypes
       
   215   Display*                 /* display */,
       
   216   XvPortID                 /* port */,
       
   217   Drawable                 /* d */,
       
   218   GC                       /* gc */,
       
   219   int                      /* vx */, 
       
   220   int                      /* vy */,
       
   221   unsigned int             /* vw */, 
       
   222   unsigned int             /* vh */,
       
   223   int                      /* dx */, 
       
   224   int                      /* dy */,
       
   225   unsigned int             /* dw */,
       
   226   unsigned int             /* dh */
       
   227 #endif
       
   228 );
       
   229 
       
   230 extern int SDL_NAME(XvGetVideo)(
       
   231 #if NeedFunctionPrototypes
       
   232   Display*                 /* display */,
       
   233   XvPortID                 /* port */,
       
   234   Drawable                 /* d */,
       
   235   GC                       /* gc */,
       
   236   int                      /* vx */, 
       
   237   int                      /* vy */,
       
   238   unsigned int             /* vw */, 
       
   239   unsigned int             /* vh */,
       
   240   int                      /* dx */, 
       
   241   int                      /* dy */,
       
   242   unsigned int             /* dw */,
       
   243   unsigned int             /* dh */
       
   244 #endif
       
   245 );
       
   246 
       
   247 extern int SDL_NAME(XvGetStill)(
       
   248 #if NeedFunctionPrototypes
       
   249   Display*                 /* display */,
       
   250   XvPortID                 /* port */,
       
   251   Drawable                 /* d */,
       
   252   GC                       /* gc */,
       
   253   int                      /* vx */, 
       
   254   int                      /* vy */,
       
   255   unsigned int             /* vw */, 
       
   256   unsigned int             /* vh */,
       
   257   int                      /* dx */, 
       
   258   int                      /* dy */,
       
   259   unsigned int             /* dw */,
       
   260   unsigned int             /* dh */
       
   261 #endif
       
   262 );
       
   263 
       
   264 extern int SDL_NAME(XvStopVideo)(
       
   265 #if NeedFunctionPrototypes
       
   266   Display*                /* display */,
       
   267   XvPortID                /* port */,
       
   268   Drawable                /* drawable */
       
   269 #endif
       
   270 );
       
   271 
       
   272 extern int SDL_NAME(XvGrabPort)(
       
   273 #if NeedFunctionPrototypes
       
   274   Display*                /* display */,
       
   275   XvPortID                /* port */,
       
   276   Time                    /* time */
       
   277 #endif
       
   278 );
       
   279 
       
   280 extern int SDL_NAME(XvUngrabPort)(
       
   281 #if NeedFunctionPrototypes
       
   282   Display*                /* display */,
       
   283   XvPortID                /* port */,
       
   284   Time                    /* time */
       
   285 #endif
       
   286 );
       
   287 
       
   288 extern int SDL_NAME(XvSelectVideoNotify)(
       
   289 #if NeedFunctionPrototypes
       
   290   Display*                /* display */,
       
   291   Drawable                /* drawable */,
       
   292   Bool                    /* onoff */
       
   293 #endif
       
   294 );
       
   295 
       
   296 extern int SDL_NAME(XvSelectPortNotify)(
       
   297 #if NeedFunctionPrototypes
       
   298   Display*                /* display */,
       
   299   XvPortID                /* port */,
       
   300   Bool                    /* onoff */
       
   301 #endif
       
   302 );
       
   303 
       
   304 extern int SDL_NAME(XvSetPortAttribute)(
       
   305 #if NeedFunctionPrototypes
       
   306   Display*                /* display */,
       
   307   XvPortID                /* port */,
       
   308   Atom                    /* attribute */,
       
   309   int                     /* value */
       
   310 #endif
       
   311 );
       
   312 
       
   313 extern int SDL_NAME(XvGetPortAttribute)(
       
   314 #if NeedFunctionPrototypes
       
   315   Display*                /* display */,
       
   316   XvPortID                /* port */,
       
   317   Atom                    /* attribute */,
       
   318   int*                    /* p_value */
       
   319 #endif
       
   320 );
       
   321 
       
   322 extern int SDL_NAME(XvQueryBestSize)(
       
   323 #if NeedFunctionPrototypes
       
   324   Display*                /* display */,
       
   325   XvPortID                /* port */,
       
   326   Bool                    /* motion */,
       
   327   unsigned int            /* vid_w */, 
       
   328   unsigned int            /* vid_h */,
       
   329   unsigned int            /* drw_w */, 
       
   330   unsigned int            /* drw_h */,
       
   331   unsigned int*           /* p_actual_width */, 
       
   332   unsigned int*           /* p_actual_width */
       
   333 #endif
       
   334 );
       
   335 
       
   336 extern SDL_NAME(XvAttribute)* SDL_NAME(XvQueryPortAttributes)(
       
   337 #if NeedFunctionPrototypes
       
   338   Display*                /* display */,
       
   339   XvPortID                /* port */,
       
   340   int*                    /* number */
       
   341 #endif
       
   342 );
       
   343 
       
   344 
       
   345 extern void SDL_NAME(XvFreeAdaptorInfo)(
       
   346 #if NeedFunctionPrototypes
       
   347   SDL_NAME(XvAdaptorInfo)*          /* adaptors */
       
   348 #endif
       
   349 );
       
   350 
       
   351 extern void SDL_NAME(XvFreeEncodingInfo)(
       
   352 #if NeedFunctionPrototypes
       
   353   SDL_NAME(XvEncodingInfo)*         /* encodings */
       
   354 #endif
       
   355 );
       
   356 
       
   357 
       
   358 extern SDL_NAME(XvImageFormatValues) * SDL_NAME(XvListImageFormats) (
       
   359 #if NeedFunctionPrototypes
       
   360    Display 	*display,
       
   361    XvPortID 	port_id,
       
   362    int 		*count_return
       
   363 #endif
       
   364 );
       
   365 
       
   366 extern SDL_NAME(XvImage) * SDL_NAME(XvCreateImage) (
       
   367 #if NeedFunctionPrototypes
       
   368    Display *display,
       
   369    XvPortID port,
       
   370    int id,
       
   371    char *data,
       
   372    int width, 
       
   373    int height 
       
   374 #endif
       
   375 );
       
   376 
       
   377 extern int SDL_NAME(XvPutImage) (
       
   378 #if NeedFunctionPrototypes
       
   379   Display *display,
       
   380    XvPortID id,
       
   381    Drawable d,
       
   382    GC gc,
       
   383    SDL_NAME(XvImage) *image,
       
   384    int src_x,
       
   385    int src_y,
       
   386    unsigned int src_w,
       
   387    unsigned int src_h,
       
   388    int dest_x, 
       
   389    int dest_y,
       
   390    unsigned int dest_w,
       
   391    unsigned int dest_h
       
   392 #endif
       
   393 );
       
   394 
       
   395 extern int SDL_NAME(XvShmPutImage) (
       
   396 #if NeedFunctionPrototypes
       
   397    Display *display,
       
   398    XvPortID id,
       
   399    Drawable d,
       
   400    GC gc,
       
   401    SDL_NAME(XvImage) *image,
       
   402    int src_x,
       
   403    int src_y,
       
   404    unsigned int src_w,
       
   405    unsigned int src_h,
       
   406    int dest_x, 
       
   407    int dest_y,
       
   408    unsigned int dest_w,
       
   409    unsigned int dest_h,
       
   410    Bool send_event
       
   411 #endif
       
   412 );
       
   413 
       
   414 #ifdef _XSHM_H_
       
   415 
       
   416 extern SDL_NAME(XvImage) * SDL_NAME(XvShmCreateImage) (
       
   417 #if NeedFunctionPrototypes
       
   418    Display *display,
       
   419    XvPortID port,
       
   420    int id,
       
   421    char* data,
       
   422    int width, 
       
   423    int height,
       
   424    XShmSegmentInfo *shminfo
       
   425 #endif
       
   426 );
       
   427 
       
   428 #endif
       
   429 
       
   430 
       
   431 _XFUNCPROTOEND
       
   432 
       
   433 #endif /* XVLIB_H */