xf86xv.h revision a2760a4d593af57a19ec32cdfd1723b68495df8c
/* $XFree86: xc/programs/Xserver/hw/xfree86/common/xf86xv.h,v 1.22 2001/06/16 21:57:42 mvojkovi Exp $ */
#ifndef _XF86XV_H_
#define _XF86XV_H_
#include "xvdix.h"
#include "xf86str.h"
#define VIDEO_NO_CLIPPING 0x00000001
#define VIDEO_INVERT_CLIPLIST 0x00000002
#define VIDEO_OVERLAID_IMAGES 0x00000004
#define VIDEO_OVERLAID_STILLS 0x00000008
#define VIDEO_CLIP_TO_VIEWPORT 0x00000010
typedef struct {
int id;
int type;
int byte_order;
unsigned char guid[16];
int bits_per_pixel;
int format;
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];
int scanline_order;
} XF86ImageRec, *XF86ImagePtr;
typedef struct {
int id;
int *pitches; /* bytes */
int *offsets; /* in bytes from start of framebuffer */
typedef enum {
} XvStatus;
/*** this is what the driver needs to fill out ***/
typedef struct {
int id;
char *name;
typedef struct {
char depth;
short class;
typedef struct {
int flags;
int min_value;
int max_value;
char *name;
typedef struct {
unsigned int type;
int flags;
char *name;
int nEncodings;
int nFormats;
int nPorts;
int nAttributes;
int nImages;
typedef struct {
int flags;
int id,
unsigned short width,
unsigned short height,
int max_width;
int max_height;
int num_attributes;
int num
);
int
);
int
);
int num
);
int *num
);
void
);
/*** These are DDX layer privates ***/
extern int XF86XvScreenIndex;
typedef struct {
void (*AdjustFrame)(int, int, int, int);
void (*LeaveVT)(int, int);
typedef struct {
int flags;
typedef struct {
unsigned char type;
unsigned int subWindowMode;
typedef struct _XF86XVWindowRec{
struct _XF86XVWindowRec *next;
#endif /* _XF86XV_H_ */