diff fbt.c @ 3:e8957085fe8a

working
author Peter Meerwald <pmeerw@pmeerw.net>
date Sun, 08 May 2011 23:08:45 +0200
parents bac8ed8d6eb9
children 66c77f9ba9b9
line wrap: on
line diff
--- a/fbt.c	Sun May 08 18:22:22 2011 +0200
+++ b/fbt.c	Sun May 08 23:08:45 2011 +0200
@@ -1,13 +1,21 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <fcntl.h>
+#include <unistd.h>
 #include <sys/ioctl.h>
 
 #include "linux/fb.h"
 
+#include "common.h"
+
 int main(int argc, char *argv[]) {
 
-  int fd = open("/dev/fb0", O_RDWR);
+  if (argc != 2) {
+    fprintf(stderr, "usage: fbt /dev/fbX\n");
+    exit(EXIT_FAILURE);
+  }
+
+  int fd = open(argv[1], O_RDWR);
   if (fd < 0) {
     perror("");
     exit(EXIT_FAILURE);
@@ -34,5 +42,26 @@
   printf("res x %d y %d\n", siv.xres, siv.yres);
   printf("bpp %d\n", siv.bits_per_pixel);
 
+  printf("-------------\n");
+  fflush(stdout);
+
+  jpg_buf_t jpg_buf = build_jpg_from_fb(fd, siv.xres, siv.yres);
+
+  close(fd);
+
+  printf("jpg %ld\n", jpg_buf.size);
+
+  FILE *f = fopen("test.jpg", "wb");
+  if (!f) {
+	fprintf(stderr, "fopen failed\n");
+    exit(EXIT_FAILURE);
+  }
+
+  fwrite(jpg_buf.ptr, 1, jpg_buf.size, f);
+
+  fclose(f);
+
+  free(jpg_buf.ptr);
+
   exit(EXIT_SUCCESS);
 }

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.