/* -*- mode: c++ -*- */ #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(); uint8_t init(QWidget *window, uint32_t w, uint32_t h); uint8_t end(void); uint8_t display(uint8_t *ptr, uint32_t w, uint32_t h); unsigned int width, height; 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(uint8_t * src, uint32_t w, uint32_t h); }; #endif/*__XVACCELRENDERER_H__*/