diff options
Diffstat (limited to 'nx-X11')
-rw-r--r-- | nx-X11/include/extensions/Imakefile | 7 | ||||
-rw-r--r-- | nx-X11/include/extensions/XvMClib.h | 215 | ||||
-rw-r--r-- | nx-X11/include/extensions/Xvlib.h | 385 | ||||
-rw-r--r-- | nx-X11/include/extensions/vldXvMC.h | 175 |
4 files changed, 2 insertions, 780 deletions
diff --git a/nx-X11/include/extensions/Imakefile b/nx-X11/include/extensions/Imakefile index ad80e5299..d9433a098 100644 --- a/nx-X11/include/extensions/Imakefile +++ b/nx-X11/include/extensions/Imakefile @@ -8,8 +8,8 @@ SCREENSAVERHEADERS = saver.h saverproto.h scrnsaver.h XF86BIGFONTHEADERS = xf86bigfont.h xf86bigfproto.h #endif #if BuildXvExt -XVHEADERS = Xv.h Xvlib.h Xvproto.h -XVMCHEADERS = XvMC.h XvMClib.h XvMCproto.h vldXvMC.h +XVHEADERS = Xv.h Xvproto.h +XVMCHEADERS = XvMC.h XvMCproto.h #endif #if BuildXinerama XINERAMAHEADERS = panoramiXext.h panoramiXproto.h @@ -80,7 +80,4 @@ InstallDriverSDKNonExecFile(dpms.h,$(DRIVERSDKINCLUDEDIR)/extensions) InstallDriverSDKNonExecFile(renderproto.h,$(DRIVERSDKINCLUDEDIR)) InstallDriverSDKNonExecFile(Xv.h,$(DRIVERSDKINCLUDEDIR)/extensions) InstallDriverSDKNonExecFile(XvMC.h,$(DRIVERSDKINCLUDEDIR)) -InstallDriverSDKNonExecFile(vldXvMC.h,$(DRIVERSDKINCLUDEDIR)) -InstallDriverSDKNonExecFile(Xvlib.h,$(DRIVERSDKINCLUDEDIR)/extensions) InstallDriverSDKNonExecFile(Xv.h,$(DRIVERSDKINCLUDEDIR)/X11/extensions) -InstallDriverSDKNonExecFile(Xvlib.h,$(DRIVERSDKINCLUDEDIR)/X11/extensions) diff --git a/nx-X11/include/extensions/XvMClib.h b/nx-X11/include/extensions/XvMClib.h deleted file mode 100644 index cb5406475..000000000 --- a/nx-X11/include/extensions/XvMClib.h +++ /dev/null @@ -1,215 +0,0 @@ - -#ifndef _XVMCLIB_H_ -#define _XVMCLIB_H_ - -#include <nx-X11/Xfuncproto.h> -#include <nx-X11/extensions/Xvlib.h> -#include <nx-X11/extensions/XvMC.h> - -_XFUNCPROTOBEGIN - -Bool XvMCQueryExtension (Display *display, int *eventBase, int *errBase); -Status XvMCQueryVersion (Display *display, int *major_versionp, - int *minor_versionp); -Status XvMCGetDRInfo(Display *dpy, XvPortID port, - char **name, char **busID, - int *major, int *minor, - int *patchLevel, - int *isLocal); - - -XvMCSurfaceInfo * XvMCListSurfaceTypes(Display *dpy, XvPortID port, int *num); - -Status XvMCCreateContext ( - Display *display, - XvPortID port, - int surface_type_id, - int width, - int height, - int flags, - XvMCContext * context -); - -Status XvMCDestroyContext (Display *display, XvMCContext * context); - -Status -XvMCCreateSurface( - Display *display, - XvMCContext * context, - XvMCSurface * surface -); - -Status XvMCDestroySurface(Display *display, XvMCSurface *surface); - -XvImageFormatValues * XvMCListSubpictureTypes ( - Display * display, - XvPortID port, - int surface_type_id, - int *count_return -); - -Status -XvMCPutSurface( - Display *display, - XvMCSurface *surface, - Drawable draw, - short srcx, - short srcy, - unsigned short srcw, - unsigned short srch, - short destx, - short desty, - unsigned short destw, - unsigned short desth, - int flags -); - -Status XvMCHideSurface(Display *display, XvMCSurface *surface); - -Status -XvMCCreateSubpicture ( - Display *display, - XvMCContext *context, - XvMCSubpicture *subpicture, - unsigned short width, - unsigned short height, - int xvimage_id -); - - -Status -XvMCClearSubpicture ( - Display *display, - XvMCSubpicture *subpicture, - short x, - short y, - unsigned short width, - unsigned short height, - unsigned int color -); - -Status -XvMCCompositeSubpicture ( - Display *display, - XvMCSubpicture *subpicture, - XvImage *image, - short srcx, - short srcy, - unsigned short width, - unsigned short height, - short dstx, - short dsty -); - -Status -XvMCDestroySubpicture (Display *display, XvMCSubpicture *subpicture); - -Status -XvMCSetSubpicturePalette ( - Display *display, - XvMCSubpicture *subpicture, - unsigned char *palette -); - -Status -XvMCBlendSubpicture ( - Display *display, - XvMCSurface *target_surface, - XvMCSubpicture *subpicture, - short subx, - short suby, - unsigned short subw, - unsigned short subh, - short surfx, - short surfy, - unsigned short surfw, - unsigned short surfh -); - -Status -XvMCBlendSubpicture2 ( - Display *display, - XvMCSurface *source_surface, - XvMCSurface *target_surface, - XvMCSubpicture *subpicture, - short subx, - short suby, - unsigned short subw, - unsigned short subh, - short surfx, - short surfy, - unsigned short surfw, - unsigned short surfh -); - -Status XvMCSyncSurface (Display *display, XvMCSurface *surface); -Status XvMCFlushSurface (Display *display, XvMCSurface *surface); -Status XvMCGetSurfaceStatus (Display *display, XvMCSurface *surface, int *stat); - -Status XvMCRenderSurface ( - Display *display, - XvMCContext *context, - unsigned int picture_structure, - XvMCSurface *target_surface, - XvMCSurface *past_surface, - XvMCSurface *future_surface, - unsigned int flags, - unsigned int num_macroblocks, - unsigned int first_macroblock, - XvMCMacroBlockArray *macroblock_array, - XvMCBlockArray *blocks -); - - -Status XvMCSyncSubpicture (Display *display, XvMCSubpicture *subpicture); -Status XvMCFlushSubpicture (Display *display, XvMCSubpicture *subpicture); -Status -XvMCGetSubpictureStatus (Display *display, XvMCSubpicture *subpic, int *stat); - -Status XvMCCreateBlocks ( - Display *display, - XvMCContext *context, - unsigned int num_blocks, - XvMCBlockArray *block -); - -Status XvMCDestroyBlocks (Display *display,XvMCBlockArray *block); - -Status XvMCCreateMacroBlocks ( - Display *display, - XvMCContext *context, - unsigned int num_blocks, - XvMCMacroBlockArray *blocks -); - -Status XvMCDestroyMacroBlocks ( - Display *display, - XvMCMacroBlockArray *block -); - -XvAttribute * -XvMCQueryAttributes ( - Display *display, - XvMCContext *context, - int *number -); - -Status -XvMCSetAttribute ( - Display *display, - XvMCContext *context, - Atom attribute, - int value -); - -Status -XvMCGetAttribute ( - Display *display, - XvMCContext *context, - Atom attribute, - int *value -); - -_XFUNCPROTOEND - -#endif diff --git a/nx-X11/include/extensions/Xvlib.h b/nx-X11/include/extensions/Xvlib.h deleted file mode 100644 index eb6ebd825..000000000 --- a/nx-X11/include/extensions/Xvlib.h +++ /dev/null @@ -1,385 +0,0 @@ -/*********************************************************** -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. - -******************************************************************/ - -#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 <nx-X11/Xfuncproto.h> -#include <nx-X11/extensions/Xv.h> - -typedef struct { - int numerator; - int denominator; -} XvRational; - -typedef struct { - int flags; /* XvGettable, XvSettable */ - int min_value; - int max_value; - char *name; -} XvAttribute; - -typedef struct { - XvEncodingID encoding_id; - char *name; - unsigned long width; - unsigned long height; - XvRational rate; - unsigned long num_encodings; -} XvEncodingInfo; - -typedef struct { - char depth; - unsigned long visual_id; -} XvFormat; - -typedef struct { - XvPortID base_id; - unsigned long num_ports; - char type; - char *name; - unsigned long num_formats; - XvFormat *formats; - unsigned long num_adaptors; -} 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 */ -} 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 */ -} XvPortNotifyEvent; - -typedef union { - int type; - XvVideoNotifyEvent xvvideo; - XvPortNotifyEvent xvport; - long pad[24]; -} 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 */ -} 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; -} XvImage; - -_XFUNCPROTOBEGIN - -extern int XvQueryExtension( - Display* /* display */, - unsigned int* /* p_version */, - unsigned int* /* p_revision */, - unsigned int* /* p_requestBase */, - unsigned int* /* p_eventBase */, - unsigned int* /* p_errorBase */ -); - -extern int XvQueryAdaptors( - Display* /* display */, - Window /* window */, - unsigned int* /* p_nAdaptors */, - XvAdaptorInfo** /* p_pAdaptors */ -); - -extern int XvQueryEncodings( - Display* /* display */, - XvPortID /* port */, - unsigned int* /* p_nEncoding */, - XvEncodingInfo** /* p_pEncoding */ -); - -extern int XvPutVideo( - 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 */ -); - -extern int XvPutStill( - 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 */ -); - -extern int XvGetVideo( - 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 */ -); - -extern int XvGetStill( - 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 */ -); - -extern int XvStopVideo( - Display* /* display */, - XvPortID /* port */, - Drawable /* drawable */ -); - -extern int XvGrabPort( - Display* /* display */, - XvPortID /* port */, - Time /* time */ -); - -extern int XvUngrabPort( - Display* /* display */, - XvPortID /* port */, - Time /* time */ -); - -extern int XvSelectVideoNotify( - Display* /* display */, - Drawable /* drawable */, - Bool /* onoff */ -); - -extern int XvSelectPortNotify( - Display* /* display */, - XvPortID /* port */, - Bool /* onoff */ -); - -extern int XvSetPortAttribute( - Display* /* display */, - XvPortID /* port */, - Atom /* attribute */, - int /* value */ -); - -extern int XvGetPortAttribute( - Display* /* display */, - XvPortID /* port */, - Atom /* attribute */, - int* /* p_value */ -); - -extern int XvQueryBestSize( - 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 */ -); - -extern XvAttribute* XvQueryPortAttributes( - Display* /* display */, - XvPortID /* port */, - int* /* number */ -); - - -extern void XvFreeAdaptorInfo( - XvAdaptorInfo* /* adaptors */ -); - -extern void XvFreeEncodingInfo( - XvEncodingInfo* /* encodings */ -); - - -extern XvImageFormatValues * XvListImageFormats ( - Display *display, - XvPortID port_id, - int *count_return -); - -extern XvImage * XvCreateImage ( - Display *display, - XvPortID port, - int id, - char *data, - int width, - int height -); - -extern int XvPutImage ( - Display *display, - XvPortID id, - Drawable d, - GC gc, - 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 -); - -extern int XvShmPutImage ( - Display *display, - XvPortID id, - Drawable d, - GC gc, - 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 -); - -#ifdef _XSHM_H_ - -extern XvImage * XvShmCreateImage ( - Display *display, - XvPortID port, - int id, - char* data, - int width, - int height, - XShmSegmentInfo *shminfo -); - -#endif - - -_XFUNCPROTOEND - -#endif /* XVLIB_H */ diff --git a/nx-X11/include/extensions/vldXvMC.h b/nx-X11/include/extensions/vldXvMC.h deleted file mode 100644 index 355c662e6..000000000 --- a/nx-X11/include/extensions/vldXvMC.h +++ /dev/null @@ -1,175 +0,0 @@ -/***************************************************************************** - * VLD XvMC Nonstandard extension API. - * - * Copyright (c) 2004 The Unichrome Project. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Author: Thomas Hellström, 2004. - */ - - -#ifndef _VLDXVMC_H -#define _VLDXVMC_H - -#include <nx-X11/Xlib.h> -#include <nx-X11/extensions/XvMC.h> -#include <nx-X11/extensions/XvMClib.h> - -/* - * New "Motion compensation type". - */ - -#define XVMC_VLD 0x0020000 - -/* - * Below Flags to be passed in the XvMCMpegControl structure 'flag' field. - */ - -#define XVMC_PROGRESSIVE_SEQUENCE 0x00000010 - -/* - * Zig-Zag Scan / Alternative Scan. - */ - -#define XVMC_ZIG_ZAG_SCAN 0x00000000 -#define XVMC_ALTERNATE_SCAN 0x00000100 - -/* - * Frame DCT and frame prediction are used. / - * Field prediction - */ - -#define XVMC_PRED_DCT_FRAME 0x00000040 -#define XVMC_PRED_DCT_FIELD 0x00000000 - -/* - * Top / Bottom field first - */ - -#define XVMC_TOP_FIELD_FIRST 0x00000080 -#define XVMC_BOTTOM_FIELD_FIRST 0x00000000 - -/* - * Motion vectors coded in intra macroblocks - */ - -#define XVMC_CONCEALMENT_MOTION_VECTORS 0x00000200 - -/* - * Which of two mappings between quantiser_scale_code - * and quantiser_scale shall apply. - */ - -#define XVMC_Q_SCALE_TYPE 0x00000400 - -/* - * Intra VLC Format: Bit = 0, Bit = 1 - * Intra blocks B-14 B-15 - * Non-intra blocks B-14 B-14 - */ -#define XVMC_INTRA_VLC_FORMAT 0x00000800 - -/* - * Also XVMC_SECOND_FIELD should be set in flags if active. - */ - -#define XVMC_I_PICTURE 1 -#define XVMC_P_PICTURE 2 -#define XVMC_B_PICTURE 3 - -typedef struct _XvMCMpegControl{ - unsigned - BVMV_range, /* Backward vertical motion vector range */ - BHMV_range, /* Backward horizontal motion vector range */ - FVMV_range, /* Forward vertical motion vector range */ - FHMV_range, /* Forward horizontal motion vector range */ - picture_structure, /* XVMC_TOP_FIELD, XVMC_BOTTOM_FIELD, - * XVMC_FRAME_PICTURE - */ - intra_dc_precision, /* 0x00 - 0x03 corresponds to 8 to 11 bits prec. */ - picture_coding_type,/* XVMC_X_PICTURE */ - mpeg_coding, /* XVMC_MPEG_2 */ - flags; /* See above */ -}XvMCMpegControl; - - -/* - * The following function is called BEFORE starting sending slices to the - * lib. It grabs the decoder hardware and prepares it for coming slices. - * The function XvMCSyncSurface will release the hardware for other contexts - * in addition to it's current functionality. - */ - -extern Status XvMCBeginSurface(Display *display, - XvMCContext *context, - XvMCSurface *target_surface, - XvMCSurface *past_surface, - XvMCSurface *future_surface, - const XvMCMpegControl *control); - - -/* - * The quantizer matrix structure. This should be filled in by the user and - * uploaded whenever a change is needed. The lib initializes with - * default matrices and will automatically load the hardware with new matrices - * on decoder context switches. To load data, set the corresponding load flag - * to true and fill in the values. The VIA MPEG2 engine only uses the - * intra_quantiser_matrix and the non_intra_quantiser_matrix. - */ - -typedef struct _XvMCQMatrix { - int load_intra_quantiser_matrix; - int load_non_intra_quantiser_matrix; - int load_chroma_intra_quantiser_matrix; - int load_chroma_non_intra_quantiser_matrix; - unsigned char intra_quantiser_matrix[64]; - unsigned char non_intra_quantiser_matrix[64]; - unsigned char chroma_intra_quantiser_matrix[64]; - unsigned char chroma_non_intra_quantiser_matrix[64]; -} XvMCQMatrix; - -/* - * Upload a XvMCQMatrix structure to the clientlib. - * The hardware will start using it the next XvMCBeginSurface. - */ - -extern Status XvMCLoadQMatrix(Display *display, XvMCContext *context, - const XvMCQMatrix *qmx); - - -/* - * Put a slice to the decoder. The hardware will start processing it - * immediately. - */ - -extern Status XvMCPutSlice(Display *display,XvMCContext *context, - char *slice, int nBytes); -/* - * Put a slice without the slice start code to the decoder. - * The hardware will start processing it - * immediately. This function is for client optimization. - * XvMCPutSlice(display,context,slice,nBytes) is equivalent to - * XvMCPutSlice2(display,context,slice+4,nBytes-4,slice[3]); - */ - -extern Status XvMCPutSlice2(Display *display,XvMCContext *context, - char *slice, int nBytes, int sliceCode); - -#endif |