7,6 → 7,7 |
|
#include <drivers/bttv.h> |
#include <kernel/kern.h> |
#include <unistd.h> |
|
extern void bttv_start(struct bttv *btv); |
extern int bttv_ioctl(struct bttv *btv, unsigned int cmg, void *arg); |
16,8 → 17,14 |
|
static struct bttv btv; |
static struct video_mmap vmm; |
void * fbuf_pointer; |
static void * fbuf_pointer; |
|
static void (*elaborate_frame_hook)(void * ptrframe); |
|
void dummy_elaborate_frame(void * ptrframe) |
{ |
} |
|
TASK FG_refresh(void) |
{ |
|
32,7 → 39,9 |
} |
|
bttv_ioctl(&btv, VIDIOCMCAPTURE, &vmm); |
|
|
elaborate_frame_hook(fbuf_pointer); |
|
task_endcycle(); |
|
} |
82,7 → 91,11 |
vmm.width = vw.width; |
vmm.format = p.palette; |
bttv_ioctl(&btv, VIDIOCMCAPTURE, &vmm); |
|
elaborate_frame_hook = dummy_elaborate_frame; |
|
sleep(1); |
|
task_activate(refresh_PID); |
|
return 0; |
103,3 → 116,9 |
|
} |
|
void FG_set_hook(void * funptr) |
{ |
|
elaborate_frame_hook = (void *)funptr; |
|
} |