/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ #ifndef __XVACCELRENDERER_H__ #define __XVACCELRENDERER_H__ #include #include #include #include #include #include #include #include #include #include // Use this define for YV12 colorspace, default is YUY2 //#define COLORSPACE_YV12 //typedef unsigned long int QWidget; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; #define ADM_assert(x) assert(x) class XvAccelRender { public: XvAccelRender(QWidget *window, uint32_t w, uint32_t h); ~XvAccelRender(); uint8_t display(uint32_t w, uint32_t h); unsigned int width, height; char *getDisplayData(); private: unsigned int xv_port; uint32_t xv_format; Display *xv_display; XvImage *xvimage; GC xv_gc; XGCValues xv_xgc; Window xv_win; XShmSegmentInfo Shminfo; uint8_t GUI_XvList(Display *dis, uint32_t port, uint32_t * fmt); uint8_t GUI_XvInit(QWidget *window, uint32_t w, uint32_t h); void GUI_XvEnd(); uint8_t GUI_XvDisplay(uint32_t w, uint32_t h); }; #endif/*__XVACCELRENDERER_H__*/