1 #ifndef __RADEON_VIDEO_H__ 2 #define __RADEON_VIDEO_H__ 3 4 #include "xf86i2c.h" 5 #include "i2c_def.h" 6 7 #include "xf86Crtc.h" 8 9 #include "bicubic_table.h" 10 11 #include <xf86xvmc.h> 12 13 #define ClipValue(v,min,max) ((v) < (min) ? (min) : (v) > (max) ? (max) : (v)) 14 15 /* Xvideo port struct */ 16 typedef struct { 17 uint32_t transform_index; 18 uint32_t gamma; /* gamma value x 1000 */ 19 int brightness; 20 int saturation; 21 int hue; 22 int contrast; 23 24 unsigned char currentBuffer; 25 RegionRec clip; 26 27 Time offTime; 28 Time freeTime; 29 xf86CrtcPtr desired_crtc; 30 31 int size; 32 33 struct radeon_bo *video_memory; 34 35 int planeu_offset; 36 int planev_offset; 37 38 /* bicubic filtering */ 39 Bool bicubic_enabled; 40 int bicubic_state; 41 #define BICUBIC_OFF 0 42 #define BICUBIC_ON 1 43 #define BICUBIC_AUTO 2 44 45 /* textured video */ 46 Bool textured; 47 DrawablePtr pDraw; 48 PixmapPtr pPixmap; 49 50 uint32_t src_pitch; 51 uint8_t *src_addr; 52 53 int id; 54 int src_w, src_h, dst_w, dst_h; 55 int w, h; 56 int drw_x, drw_y; 57 int src_x, src_y; 58 int vsync; 59 Bool is_planar; 60 int vtx_count; 61 int hw_align; 62 63 struct radeon_bo *src_bo[2]; 64 } RADEONPortPrivRec, *RADEONPortPrivPtr; 65 66 /* Reference color space transform data */ 67 typedef struct tagREF_TRANSFORM 68 { 69 float RefLuma; 70 float RefRCb; 71 float RefRCr; 72 float RefGCb; 73 float RefGCr; 74 float RefBCb; 75 float RefBCr; 76 } REF_TRANSFORM; 77 78 #define RTFSaturation(a) (1.0 + ((a)*1.0)/1000.0) 79 #define RTFBrightness(a) (((a)*1.0)/2000.0) 80 #define RTFIntensity(a) (((a)*1.0)/2000.0) 81 #define RTFContrast(a) (1.0 + ((a)*1.0)/1000.0) 82 #define RTFHue(a) (((a)*3.1416)/1000.0) 83 84 XF86VideoAdaptorPtr 85 RADEONSetupImageTexturedVideo(ScreenPtr pScreen); 86 87 XF86MCAdaptorPtr 88 RADEONCreateAdaptorXvMC(ScreenPtr pScreen, char *xv_adaptor_name); 89 90 void 91 RADEONCopyData(ScrnInfoPtr pScrn, 92 unsigned char *src, unsigned char *dst, 93 unsigned int srcPitch, unsigned int dstPitch, 94 unsigned int h, unsigned int w, unsigned int bpp); 95 96 void 97 RADEONCopyMungedData(ScrnInfoPtr pScrn, 98 unsigned char *src1, unsigned char *src2, 99 unsigned char *src3, unsigned char *dst1, 100 unsigned int srcPitch, unsigned int srcPitch2, 101 unsigned int dstPitch, unsigned int h, unsigned int w); 102 103 Bool radeon_crtc_is_enabled(xf86CrtcPtr crtc); 104 105 #endif 106