Xvlib.h
资源名称:NETVIDEO.rar [点击查看]
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:12k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /***********************************************************
- Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
- and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
- All Rights Reserved
- Permission to use, copy, modify, and distribute this software and its
- documentation for any purpose and without fee is hereby granted,
- provided that the above copyright notice appear in all copies and that
- both that copyright notice and this permission notice appear in
- supporting documentation, and that the names of Digital or MIT not be
- used in advertising or publicity pertaining to distribution of the
- software without specific, written prior permission.
- DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
- ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
- DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
- ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
- WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
- ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
- SOFTWARE.
- ******************************************************************/
- /* $XFree86: xc/include/extensions/Xvlib.h,v 1.3 1999/12/11 19:28:48 mvojkovi Exp $ */
- #ifndef XVLIB_H
- #define XVLIB_H
- /*
- ** File:
- **
- ** Xvlib.h --- Xv library public header file
- **
- ** Author:
- **
- ** David Carver (Digital Workstation Engineering/Project Athena)
- **
- ** Revisions:
- **
- ** 26.06.91 Carver
- ** - changed XvFreeAdaptors to XvFreeAdaptorInfo
- ** - changed XvFreeEncodings to XvFreeEncodingInfo
- **
- ** 11.06.91 Carver
- ** - changed SetPortControl to SetPortAttribute
- ** - changed GetPortControl to GetPortAttribute
- ** - changed QueryBestSize
- **
- ** 05.15.91 Carver
- ** - version 2.0 upgrade
- **
- ** 01.24.91 Carver
- ** - version 1.4 upgrade
- **
- */
- #include <X11/Xfuncproto.h>
- #include <XFree86/extensions/Xv.h>
- #include "SDL_name.h"
- typedef struct {
- int numerator;
- int denominator;
- } SDL_NAME(XvRational);
- typedef struct {
- int flags; /* XvGettable, XvSettable */
- int min_value;
- int max_value;
- char *name;
- } SDL_NAME(XvAttribute);
- typedef struct {
- XvEncodingID encoding_id;
- char *name;
- unsigned long width;
- unsigned long height;
- SDL_NAME(XvRational) rate;
- unsigned long num_encodings;
- } SDL_NAME(XvEncodingInfo);
- typedef struct {
- char depth;
- unsigned long visual_id;
- } SDL_NAME(XvFormat);
- typedef struct {
- XvPortID base_id;
- unsigned long num_ports;
- char type;
- char *name;
- unsigned long num_formats;
- SDL_NAME(XvFormat) *formats;
- unsigned long num_adaptors;
- } SDL_NAME(XvAdaptorInfo);
- typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- Drawable drawable; /* drawable */
- unsigned long reason; /* what generated this event */
- XvPortID port_id; /* what port */
- Time time; /* milliseconds */
- } SDL_NAME(XvVideoNotifyEvent);
- typedef struct {
- int type;
- unsigned long serial; /* # of last request processed by server */
- Bool send_event; /* true if this came from a SendEvent request */
- Display *display; /* Display the event was read from */
- XvPortID port_id; /* what port */
- Time time; /* milliseconds */
- Atom attribute; /* atom that identifies attribute */
- long value; /* value of attribute */
- } SDL_NAME(XvPortNotifyEvent);
- typedef union {
- int type;
- SDL_NAME(XvVideoNotifyEvent) xvvideo;
- SDL_NAME(XvPortNotifyEvent) xvport;
- long pad[24];
- } SDL_NAME(XvEvent);
- typedef struct {
- int id; /* Unique descriptor for the format */
- int type; /* XvRGB, XvYUV */
- int byte_order; /* LSBFirst, MSBFirst */
- char guid[16]; /* Globally Unique IDentifier */
- int bits_per_pixel;
- int format; /* XvPacked, XvPlanar */
- int num_planes;
- /* for RGB formats only */
- int depth;
- unsigned int red_mask;
- unsigned int green_mask;
- unsigned int blue_mask;
- /* for YUV formats only */
- unsigned int y_sample_bits;
- unsigned int u_sample_bits;
- unsigned int v_sample_bits;
- unsigned int horz_y_period;
- unsigned int horz_u_period;
- unsigned int horz_v_period;
- unsigned int vert_y_period;
- unsigned int vert_u_period;
- unsigned int vert_v_period;
- char component_order[32]; /* eg. UYVY */
- int scanline_order; /* XvTopToBottom, XvBottomToTop */
- } SDL_NAME(XvImageFormatValues);
- typedef struct {
- int id;
- int width, height;
- int data_size; /* bytes */
- int num_planes;
- int *pitches; /* bytes */
- int *offsets; /* bytes */
- char *data;
- XPointer obdata;
- } SDL_NAME(XvImage);
- _XFUNCPROTOBEGIN
- extern int SDL_NAME(XvQueryExtension)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- unsigned int* /* p_version */,
- unsigned int* /* p_revision */,
- unsigned int* /* p_requestBase */,
- unsigned int* /* p_eventBase */,
- unsigned int* /* p_errorBase */
- #endif
- );
- extern int SDL_NAME(XvQueryAdaptors)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- Window /* window */,
- unsigned int* /* p_nAdaptors */,
- SDL_NAME(XvAdaptorInfo)** /* p_pAdaptors */
- #endif
- );
- extern int SDL_NAME(XvQueryEncodings)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- unsigned int* /* p_nEncoding */,
- SDL_NAME(XvEncodingInfo)** /* p_pEncoding */
- #endif
- );
- extern int SDL_NAME(XvPutVideo)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Drawable /* d */,
- GC /* gc */,
- int /* vx */,
- int /* vy */,
- unsigned int /* vw */,
- unsigned int /* vh */,
- int /* dx */,
- int /* dy */,
- unsigned int /* dw */,
- unsigned int /* dh */
- #endif
- );
- extern int SDL_NAME(XvPutStill)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Drawable /* d */,
- GC /* gc */,
- int /* vx */,
- int /* vy */,
- unsigned int /* vw */,
- unsigned int /* vh */,
- int /* dx */,
- int /* dy */,
- unsigned int /* dw */,
- unsigned int /* dh */
- #endif
- );
- extern int SDL_NAME(XvGetVideo)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Drawable /* d */,
- GC /* gc */,
- int /* vx */,
- int /* vy */,
- unsigned int /* vw */,
- unsigned int /* vh */,
- int /* dx */,
- int /* dy */,
- unsigned int /* dw */,
- unsigned int /* dh */
- #endif
- );
- extern int SDL_NAME(XvGetStill)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Drawable /* d */,
- GC /* gc */,
- int /* vx */,
- int /* vy */,
- unsigned int /* vw */,
- unsigned int /* vh */,
- int /* dx */,
- int /* dy */,
- unsigned int /* dw */,
- unsigned int /* dh */
- #endif
- );
- extern int SDL_NAME(XvStopVideo)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Drawable /* drawable */
- #endif
- );
- extern int SDL_NAME(XvGrabPort)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Time /* time */
- #endif
- );
- extern int SDL_NAME(XvUngrabPort)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Time /* time */
- #endif
- );
- extern int SDL_NAME(XvSelectVideoNotify)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- Drawable /* drawable */,
- Bool /* onoff */
- #endif
- );
- extern int SDL_NAME(XvSelectPortNotify)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Bool /* onoff */
- #endif
- );
- extern int SDL_NAME(XvSetPortAttribute)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Atom /* attribute */,
- int /* value */
- #endif
- );
- extern int SDL_NAME(XvGetPortAttribute)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Atom /* attribute */,
- int* /* p_value */
- #endif
- );
- extern int SDL_NAME(XvQueryBestSize)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- Bool /* motion */,
- unsigned int /* vid_w */,
- unsigned int /* vid_h */,
- unsigned int /* drw_w */,
- unsigned int /* drw_h */,
- unsigned int* /* p_actual_width */,
- unsigned int* /* p_actual_width */
- #endif
- );
- extern SDL_NAME(XvAttribute)* SDL_NAME(XvQueryPortAttributes)(
- #if NeedFunctionPrototypes
- Display* /* display */,
- XvPortID /* port */,
- int* /* number */
- #endif
- );
- extern void SDL_NAME(XvFreeAdaptorInfo)(
- #if NeedFunctionPrototypes
- SDL_NAME(XvAdaptorInfo)* /* adaptors */
- #endif
- );
- extern void SDL_NAME(XvFreeEncodingInfo)(
- #if NeedFunctionPrototypes
- SDL_NAME(XvEncodingInfo)* /* encodings */
- #endif
- );
- extern SDL_NAME(XvImageFormatValues) * SDL_NAME(XvListImageFormats) (
- #if NeedFunctionPrototypes
- Display *display,
- XvPortID port_id,
- int *count_return
- #endif
- );
- extern SDL_NAME(XvImage) * SDL_NAME(XvCreateImage) (
- #if NeedFunctionPrototypes
- Display *display,
- XvPortID port,
- int id,
- char *data,
- int width,
- int height
- #endif
- );
- extern int SDL_NAME(XvPutImage) (
- #if NeedFunctionPrototypes
- Display *display,
- XvPortID id,
- Drawable d,
- GC gc,
- SDL_NAME(XvImage) *image,
- int src_x,
- int src_y,
- unsigned int src_w,
- unsigned int src_h,
- int dest_x,
- int dest_y,
- unsigned int dest_w,
- unsigned int dest_h
- #endif
- );
- extern int SDL_NAME(XvShmPutImage) (
- #if NeedFunctionPrototypes
- Display *display,
- XvPortID id,
- Drawable d,
- GC gc,
- SDL_NAME(XvImage) *image,
- int src_x,
- int src_y,
- unsigned int src_w,
- unsigned int src_h,
- int dest_x,
- int dest_y,
- unsigned int dest_w,
- unsigned int dest_h,
- Bool send_event
- #endif
- );
- #ifdef _XSHM_H_
- extern SDL_NAME(XvImage) * SDL_NAME(XvShmCreateImage) (
- #if NeedFunctionPrototypes
- Display *display,
- XvPortID port,
- int id,
- char* data,
- int width,
- int height,
- XShmSegmentInfo *shminfo
- #endif
- );
- #endif
- _XFUNCPROTOEND
- #endif /* XVLIB_H */