요즘 lx800공제땜에 수고가 많으십니다...
몇일 동안 시간나는 동안 짬짬히 해보는데요..
생각보다 잘 안돼네요...
웹캠용 SDL어플리케이션인데요..(spcaview.c)
최현진님이 올려주신 걸로 다시 컴파일하고
이것저것 수정해서 초기화는 된거 같습니다.
Initializing SDL.
480x272x16
SDL initialized.
근데 웹캠에서 데이터를 받아와서 그 내용을
lcd에 뿌려주는 부분에서 사이즈와bpp를 변경하니까
--------------------------------------------------------------------
if (ioctl (fd, VIDIOCSYNC, &ff) < 0) {
perror ("cvsync errn");
}
--------------------------------------------------------------------
void resize16 (unsigned char *dst,unsigned char *src, int Wd,int Hd,int Ws,int Hs)
{
int rx,ry;
int xscale,yscale;
int x,y;
Myrgb24 pixel;
Myrgb16 *output =(Myrgb16*) dst ;
Myrgb24 *input = (Myrgb24*) src ;
xscale = (Ws << 16)/Wd;
yscale = (Hs << 16)/ Hd;
for (y = 0; y < Hd; y++){
for (x = 0; x < Wd; x++){
rx = x*xscale >> 16;
ry = y*yscale >> 16;
output->blue = input[ADDRESSE((int)rx,(int)ry,Ws)].blue >> 3;
output->green = input[ADDRESSE((int)rx,(int)ry,Ws)].green >> 2;
output->red = input[ADDRESSE((int)rx,(int)ry,Ws)].red >> 3;
output++ ;
}
}
}
--------------------------------------------------------------------
두 부분에서 에러가 납니다.
어느부분이 잘못된지 알수 있을까요?
그리고 사이즈와 bpp는 480X272X16보다 작으면
괜찮은가요?
위의 함수는 scale과 24bpp를 16bpp로 변환하는 함수인 듯 한데
정확히 어떤 에러인지 알 수 있을까요?
함수 상으로는 큰 문제는 없어보입니다만....