2
xfree 4.0 XV extension desk mode
3
Copyright (C) 2000 Martin Vogt
5
This program is free software; you can redistribute it and/or modify
6
it under the terms of the GNU Library General Public License as published by
7
the Free Software Foundation.
9
For more information look at the file COPYRIGHT in this package
14
#ifndef __IMAGEXVDESK_H
15
#define __IMAGEXVDESK_H
19
#include "../imageBase.h"
20
#include "../dither2YUV/dither2YUV.h"
24
#include <semaphore.h>
28
#define GUID_YUV12_PLANAR 0x32315659
29
#define GUID_I420_PLANAR 0x30323449
30
#define GUID_YUY2_PACKED 0x32595559
31
#define GUID_UYVY_PACKED 0x59565955
34
The XV extension dither yuv images in hardware and allows
36
But its currently not supported by many drivers.
41
class ImageXVDesk : public ImageBase {
47
XvImageFormatValues *fo;
56
XShmSegmentInfo yuv_shminfo;
58
Dither2YUV* ditherWrapper;
67
void init(XWindow* xWindow, YUVPicture* pic = NULL);
71
int openImage(int imageMode);
74
void ditherImage(YUVPicture* pic);
77
void setKeepRatio(bool enable);
80
int haveXVSupport(XWindow* xWindow);
82
void createImage(int id);