Commit 881979bd authored by Ulrich Sibiller's avatar Ulrich Sibiller Committed by Mike Gabriel

Remove unused Xv and XvMC headers

parent ba87cf40
......@@ -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)
#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
/***********************************************************
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 */
/*****************************************************************************
* 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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment