radeon_video.h revision de2362d3
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 */ 16typedef 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 */ 67typedef 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 84XF86VideoAdaptorPtr 85RADEONSetupImageTexturedVideo(ScreenPtr pScreen); 86 87XF86MCAdaptorPtr 88RADEONCreateAdaptorXvMC(ScreenPtr pScreen, char *xv_adaptor_name); 89 90void 91RADEONCopyData(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 96void 97RADEONCopyMungedData(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 103Bool radeon_crtc_is_enabled(xf86CrtcPtr crtc); 104uint32_t radeon_get_interpolated_vblanks(xf86CrtcPtr crtc); 105 106#endif 107