参考http://hi.baidu.com/aokikyon/blog/item/ee9339f3e1b23fc60b46e047.html 的设计
使用zc301 USB摄像头,这个摄像头返回JPEG图形留,camera的preview需要进行jpeg解码(没做),但是可以直接take jpeg照片。
1、修改你的BoardConfig.mk
USE_CAMERA_STUB := false
将stub设置为false,在编译时不会编译android2.1/frameworks/base/camera/libcameraservice中的
CameraHardwareStub.cpp
CameraHardwareStub.h
FakeCamera.cpp
FakeCamera.h
几个文件
2、hardware下建立Camera HAL目录,android2.1/hardware/your board/libcamera
复制以上几个文件
CameraHardwareStub.cpp
CameraHardwareStub.h
FakeCamera.cpp
FakeCamera.h
可以将其重命名
S3C6410CameraHardware.cpp
UsbCamera.cpp
文件中的Fake和Stub同样可以替换
3、编写Android.mk文件
================================================================
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= S3C6410CameraHardware.cpp /
UsbCamera.cpp
LOCAL_C_INCLUDES := /
external/jpeg
LOCAL_SHARED_LIBRARIES:= libutils libbinder libui liblog
LOCAL_STATIC_LIBRARIES:= /
libjpeg
LOCAL_MODULE:= libcamera
include $(BUILD_SHARED_LIBRARY)
=================================================================
其中jpeg库是为了将来解码jpeg使用的,根据这个脚本可编译出libcamera.so
4、修改FakeCamera.cpp->UsbCamera.cpp
目前只实现了基本功能
该文件可以按照V4L2流程来

本文介绍了如何在Android系统中实现USB摄像头的HAL模块。主要步骤包括修改BoardConfig.mk禁用相机Stub,创建HAL目录,编写Android.mk编译库,以及改造FakeCamera.cpp和CameraHardwareStub.cpp文件以支持USB摄像头的初始化、帧获取和拍照功能。虽然目前仅实现了基本功能,但已能拍照,仍需解决JPEG解码和效率问题。
最低0.47元/天 解锁文章
2647

被折叠的 条评论
为什么被折叠?



