Changeset 4016
- Timestamp:
- 08/24/07 00:26:26 (1 year ago)
- Files:
-
- ivtv/trunk/test/Makefile (modified) (1 diff)
- ivtv/trunk/test/ivtv-fb-colormap-test.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ivtv/trunk/test/Makefile
r4012 r4016 5 5 mpeg-read-test mpeg-freq-test mpeg-read-sleep-test \ 6 6 mpeg-enc-stop-start-test ivtv-yuv-dma-test \ 7 ivtv-osd-dma-test 7 ivtv-osd-dma-test ivtv-fb-colormap-test 8 8 9 9 CFLAGS = -I../driver -I../utils -D_GNU_SOURCE -O2 -Wall ivtv/trunk/test/ivtv-fb-colormap-test.c
r4011 r4016 7 7 #include <linux/videodev2.h> 8 8 #include <linux/fb.h> 9 #include <linux/matroxfb.h> 10 #include "media/ivtv-fb.h" 11 12 #define W 720 13 #define H 576 14 15 static unsigned char osd[720*576]; 9 16 10 17 int main(int argc, char **argv) … … 13 20 __u16 red[256], green[256], blue[256], transp[256]; 14 21 struct fb_cmap cmap; 22 struct fb_var_screeninfo vi; 23 struct ivtvfb_dma_frame df; 15 24 int fd; 16 25 int i; … … 24 33 exit(-1); 25 34 } 35 36 ioctl(fd, FBIOGET_VSCREENINFO, &vi); 37 vi.nonstd = 0; 38 vi.bits_per_pixel = 8; 39 vi.xres = W; 40 vi.yres = H; 41 vi.xres_virtual = W; 42 vi.yres_virtual = H; 43 vi.xoffset = 0; 44 vi.yoffset = 0; 45 ioctl(fd, FBIOPUT_VSCREENINFO, &vi); 26 46 27 47 cmap.red = red; … … 38 58 } 39 59 60 memset(osd, 0x10, sizeof(osd)); 61 df.source = osd; 62 df.dest_offset = 0; 63 df.count = sizeof(osd); 64 ioctl(fd, IVTVFB_IOC_DMA_FRAME, &df); 65 66 cmap.transp[0x10] = 0xffff; 67 // go from black to white (opaque) 68 for (i = 0; i < 256; i++) { 69 cmap.red[0x10] = i << 8; 70 cmap.blue[0x10] = i << 8; 71 cmap.green[0x10] = i << 8; 72 ioctl(fd, FBIOPUTCMAP, &cmap); 73 ioctl(fd, FBIO_WAITFORVSYNC, 0); 74 } 75 // go from opaque to transparent 76 for (i = 255; i >= 0; i--) { 77 cmap.transp[0x10] = i << 8; 78 ioctl(fd, FBIOPUTCMAP, &cmap); 79 ioctl(fd, FBIO_WAITFORVSYNC, 0); 80 } 81 40 82 return 0; 41 83 }
