diff --git "a/a9\346\216\245\345\217\227mo\345\217\215\351\246\210.docx" "b/a9\346\216\245\345\217\227mo\345\217\215\351\246\210.docx" new file mode 100755 index 0000000000000000000000000000000000000000..64a98309389408e42eea53f04734bf81a61ec1bd Binary files /dev/null and "b/a9\346\216\245\345\217\227mo\345\217\215\351\246\210.docx" differ diff --git "a/a9\347\273\231m0\345\217\221\345\221\275\344\273\244.docx" "b/a9\347\273\231m0\345\217\221\345\221\275\344\273\244.docx" new file mode 100755 index 0000000000000000000000000000000000000000..e5cdfc97b7f638f8f37fd259c857b4290f2cf3b3 Binary files /dev/null and "b/a9\347\273\231m0\345\217\221\345\221\275\344\273\244.docx" differ diff --git a/camera_server/Makefile b/camera_server/Makefile index 0c184cfbdf03e32ccadd24586fd5f0598729e181..14e6ae2338e59cc0343594586c9131745a7ac0ec 100755 --- a/camera_server/Makefile +++ b/camera_server/Makefile @@ -4,7 +4,7 @@ CC=arm-none-linux-gnueabi-gcc TARGET=camera $(TARGET):$(OBJS) - $(CC) $^ -o $@ -lpthread -ljpeg -L/home/farsight/jpeg_8/lib + $(CC) $^ -o $@ -lpthread -ljpeg -L/home/linux/jpeg_9/lib clean: rm -rf $(TARGET) diff --git a/camera_server/src/camera.c b/camera_server/src/camera.c index 6cfb86a9dc361705b8407817c1b32268c0af9cec..0f905daa8f2e00b3f9efad046b657b171add7fd9 100755 --- a/camera_server/src/camera.c +++ b/camera_server/src/camera.c @@ -53,21 +53,6 @@ int camera_init(char *devpath, unsigned int *width, unsigned int *height, unsign return -1; } - /*memset(&format, 0, sizeof(format)); - format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; - format.fmt.pix.pixelformat = V4L2_PIX_FMT_MJPEG; - format.fmt.pix.width = *width; - format.fmt.pix.height = *height; - format.fmt.pix.field = V4L2_FIELD_ANY; - ret = ioctl(fd, VIDIOC_S_FMT, &format); - if(ret == -1) - perror("camera init"); - else { - fprintf(stdout, "camera->init: picture format is mjpeg\n"); - *ismjpeg = 1; - goto get_fmt; - } -*/ memset(&format, 0, sizeof(format)); format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; format.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV; diff --git a/camera_server/src/main.c b/camera_server/src/main.c index 3aabe40c23d74600418f2b8c049355cb4bb3c6d7..23c4e30308a8f154c10b95889719dd97c54debe0 100755 --- a/camera_server/src/main.c +++ b/camera_server/src/main.c @@ -63,7 +63,7 @@ void *thread_cam(void *arg) /* A8的屏幕比较小,所以设了较低的像素 */ width = 1024; - height = 1024; + height = 768; fd = camera_init(CAMERA_DEV_PATH, &width, &height, &size, &ismjpeg); if (fd == -1) exit(EXIT_FAILURE); @@ -104,18 +104,6 @@ void *thread_cam(void *arg) ret = camera_dqbuf(fd, (void **)&yuv, &size, &index); if (ret == -1) exit(EXIT_FAILURE); - - /*if (ismjpeg) { - pthread_mutex_lock(&jpg_mutex); - memcpy(jpg->buf, yuv, size); - jpg->len = size; - pthread_mutex_unlock(&jpg_mutex); - } else { - convert_yuv_to_rgb(yuv, rgb, width, height, 24); - pthread_mutex_lock(&jpg_mutex); - jpg->len = convert_rgb_to_jpg_work(rgb, jpg->buf, width, height, 24, 80); - pthread_mutex_unlock(&jpg_mutex); - }*/ convert_yuv_to_rgb(yuv, rgb, width, height, 24); pthread_mutex_lock(&jpg_mutex); diff --git a/camera_server/src/srv.c b/camera_server/src/srv.c index 78c9a4a575e3e68924f4657a758a2f20a18e2b7b..bbbf91e14816c7868156c2257fb9474a9bb111b4 100755 --- a/camera_server/src/srv.c +++ b/camera_server/src/srv.c @@ -20,43 +20,6 @@ extern pthread_mutex_t jpg_mutex; int client_process(int connfd, struct jpg_buf_t *jpg) { - /*int ret; - char request[REQ_DATA_SIZE] = {0}; - char response[HDR_DATA_SIZE] = {0}; - - memset(request, 0, sizeof(request)); - ret = tcp_server_recv(connfd, request, sizeof(request)); - if (ret <= 0) - return -1; - -#ifdef DEBUG - fprintf(stdout, "server->read: the request is\n%s\n", request); -#endif - - if (strstr(request, "pic") != NULL) { - int ret; - - pthread_mutex_lock(&jpg_mutex); - snprintf(response, sizeof(response), "%dlen", jpg->len); -#ifdef DEBUG - fprintf(stdout, "server->response: the response is: %s\n", response); -#endif - ret = tcp_server_send_exact_nbytes(connfd, response, sizeof(response)); - if (ret != sizeof(response)) { - fprintf(stderr, "server->write: send response failed\n"); - return -1; - } - - ret = tcp_server_send_exact_nbytes(connfd, jpg->buf, jpg->len); - if (ret != jpg->len) { - fprintf(stderr, "server->write: send response failed\n"); - return -1; - } - - pthread_mutex_unlock(&jpg_mutex); - } - - return 0;*/ unsigned int piclen = 0; unsigned char * buf ; char response[20] = {0}; @@ -65,11 +28,9 @@ int client_process(int connfd, struct jpg_buf_t *jpg) int ret1 = 0; ret1 = read(connfd,msg,3); - printf("msg : %s\n",msg); pthread_mutex_lock(&jpg_mutex); piclen = jpg->len; - printf("piclen = %d\n",piclen); snprintf(response, sizeof(response), "%dlen", piclen); buf = (unsigned char *)malloc(piclen); @@ -79,7 +40,6 @@ int client_process(int connfd, struct jpg_buf_t *jpg) pthread_mutex_unlock(&jpg_mutex); int ret = write(connfd,response,20); - printf("ret = %d\n",ret); while(piclen>total) { ret1 = write(connfd,buf+total,piclen-total); @@ -88,8 +48,6 @@ int client_process(int connfd, struct jpg_buf_t *jpg) break; } total += ret1; - printf("total = %d\n",total); - } return 0;