기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

webcam 어플리케이션인 spcaview프로그램에서

이상한 부분이 있어서 물어볼려고 합니다.

struct video_mbuf videombuf;

memset(&videombuf, 0, sizeof(videombuf));
여기서 printf문으로 sizeof(videombuf)를 찍어봤더니
136이 나왔습니다.

videombuf.size = 614416;
unsigned char *pFramebuffer;

pFramebuffer = (unsigned char *) mmap (0,
                                                       videombuf.size,
                                    PROT_READ | PROT_WRITE,
                                    MAP_SHARED, fd, 0);
-------------------------------------------------------------------
여기까지가 웹캠에서 데이터를 읽어오는 부분을 셋팅한거 같습니다.

frame_size=240x320=76800;
tmp = (unsigned char*)malloc (frame_size);

memset(tmp, 0x00, frame_size);

memcpy (tmp,
        pFramebuffer +videombuf.offsets[vmmap.frame],
        frame_size);
--------------------------------------------------------------------
여기가 웹캠 데이터를 tmp에 저장하는 부분인 것 같습니다.

그리고 최종으로 나중에 refresh_screen함수를 호출합니다.

SDL_Surface *pscreen;
p=pscreen->pixels;
image_width=320;
image_height=240;
owidth=320;
oheight=240;
image_width*image_height*bpp=320x240x3;

refresh_screen ( tmp,
                       p,
                       format,
                       image_width,
                       image_height,
                       owidth,
                       oheight,
                       image_width*image_height*bpp,
                       autobright);

프로그램을 실행할때 memset,mmap,memcpy를 사용하지않고
직접적으로 read함수를 호출해서 사용하면 이미지와 영상은 저장됩니다.

제가 size값을 이리 저리 바꾸어도 않되는데요..
혹시 감이 가시는 부분이 있나요?
답변 부탁드립니다.

수고하세요...

고현철

2007.05.22 03:25:18
*.70.26.87

mmap을 이용해서 제어하시려면(즉, read하시려는 듯 한데)
실제 video buf의 데이터 영역을 읽어야 합니다.

structure로 읽으면 해당 영역을 접근 못하게 될 듯 한데요.
즉, 136 bytes mmap()되어 버려서, 실제 데이터에는 접근을 못할 듯 보여집니다....

코드 내용을 잘 모르니...허접한 답변만.....쩝...

이태간

2007.05.22 18:40:49
*.163.45.91

제가 videombuf.size로 mmap을 해주니까 세그멘테이션 에러가 나더라고요.

파일을 첨부하니까 한번 봐주세요....

수고하세요...

고현철

2007.05.22 22:42:19
*.70.26.87

videombuf.size 가 얼마되는지 모르겠네요.....

mmap은 아마도 v4l driver에서 구현이 되어 잇을텐데, 커널 메모리가 모자를 경우도
이런 케이스가 발생하고요. size에 알맞는...

코드 상으로는 큰 문제는 없어보입니다. device의 세팅이나, 커널상의 메모리 문제일지도
모르겠다는 생각은 드는데,

장비가 없으니....쩝......답하기가 난감하네요....

이태간

2007.05.22 23:45:01
*.163.45.91

답변 감사합니다.

videombuf.size가 614416입니다.

이걸 반으로 쪼개서 읽는것 같은데요..

암튼 아직 초보인 저에게 힘드네요...

고현철

2007.05.24 06:21:19
*.187.44.98

spcaview를 카메라 붙여서 함 돌려봐야겠네요.....--;
List of Articles
번호 제목 글쓴이 날짜 조회 수
1308 [완료] S3C2440 rebis에서의 SD/USB 질문입니다... <== [... [1] 이순일 2007-05-29 1131
1307 [완료] 난드에 대해서 또 질문이있습니다^^ [3] 문철민 2007-05-29 724
1306 [완료] k9f1g08u0a 삼성난드 질문입니다. [4] 문철민 2007-05-28 818
1305 [질문] 터치 이벤트 처리 [1] 김증일 2007-05-28 810
1304 [완료] ts_calibrate 에러 [4] 이종현 2007-05-28 1556
1303 [질문] 아직 시리얼통신 못했습니다 ㅠㅠ [7] 김민철 2007-05-26 1098
1302 [네트웍] smsc 91c113-ne 속도측정 [7] 김유석 2007-05-26 928
1301 [질문]SDL에서 jpeg포멧 lcd로 출력... [4] 이태간 2007-05-25 1439
1300 [질문] S3C2440 과 smc91x 드라이버 관련입니다. [6] 김현기 2007-05-24 1561
1299 [완료]serial gadget에 관해서.. [5] 박기호 2007-05-24 3539
1298 [질문] SD Card 재 인식에 관한 문의 [미결] [6] 지재선 2007-05-24 1156
1297 삼성2440 Camera 에 대하여 [4] 마루치 2007-05-23 1218
1296 [완료] 제온 서버 사용 가능 여부 [2] 김유석 2007-05-22 869
» [질문]memset, mmap, memcpy에 대해서 질문 있습니다. [5] 이태간 2007-05-22 44534
1294 [완료]makefile 질문입니다. [3] 서두원 2007-05-21 878
1293 [완료]아래 케이스공구건 어떻게 된건지요? [1] 최재혁 2007-05-19 714
1292 [완료] 윤덕배님~ H-JTAG 질문 하나 있는데요~ [2] 이재명 2007-05-19 1048
1291 [질문]LAN91x 커널 패닉(S3C2440/2.4.20 커널) [4] 김현기 2007-05-19 1185
1290 [완료] 2440 시리얼통신.. [2] 김민철 2007-05-19 857
1289 [완료] 이솝 3차보드의 메모리맵은 어떻게 되나요? [2] 이재명 2007-05-18 771

사용자 로그인