Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1424 → Rev 1425

/demos/trunk/bttvdemo/bttv.c
65,10 → 65,10
TASK grab_task(void *arg) {
 
struct video_picture vpic;
struct video_buffer fbuf;
struct video_buffer fbuf[2];
struct video_window win;
struct video_channel chan;
int on;
int on,display,temp,save;
 
task_nopreempt();
 
87,14 → 87,21
VIDEODEV26_ioctl(0,VIDIOCSPICT,(unsigned long)&vpic);
 
fbuf.base = malloc(320*200);
fbuf.height = 200;
fbuf.width = 320;
fbuf.bytesperline = 320;
fbuf.depth = 8;
VIDEODEV26_ioctl(0,VIDIOCSFBUF,(unsigned long)&fbuf);
fbuf[0].base = malloc(320*200);
fbuf[0].height = 200;
fbuf[0].width = 320;
fbuf[0].bytesperline = 320;
fbuf[0].depth = 8;
fbuf[1].base = malloc(320*200);
fbuf[1].height = 200;
fbuf[1].width = 320;
fbuf[1].bytesperline = 320;
fbuf[1].depth = 8;
 
VIDEODEV26_ioctl(0,VIDIOCSFBUF,(unsigned long)&(fbuf[0]));
VIDEODEV26_ioctl(0,VIDIOCSFBUF,(unsigned long)&(fbuf[1]));
 
VIDEODEV26_ioctl(0,VIDIOCGWIN,(unsigned long)&win);
win.x = 0;
105,21 → 112,26
VIDEODEV26_ioctl(0,VIDIOCSWIN,(unsigned long)&win);
 
task_preempt();
display = 1;
save = 0;
while(1) {
task_nopreempt();
VIDEODEV26_ioctl(0,VIDIOCSFBUF,(unsigned long)&fbuf);
VIDEODEV26_ioctl(0,VIDIOCSFBUF,(unsigned long)&(fbuf[save]));
 
on = 1;
VIDEODEV26_ioctl(0,VIDIOCCAPTURE,(unsigned long)&on);
 
task_preempt();
 
task_endcycle();
elaborate_image(fbuf[display].base);
 
elaborate_image(fbuf.base);
temp = display;
display = save;
save = temp;
 
task_endcycle();
 
154,7 → 166,7
PID grab_task_pid;
 
soft_task_default_model(st);
soft_task_def_period(st,100000);
soft_task_def_period(st,50000);
soft_task_def_met(st,40000);
soft_task_def_arg(st, (void *)(1));
soft_task_def_ctrl_jet(st);