Android Camera移植

http://source.android.com/porting/camera.html

Camera

Android的camera子系統把camera的應用程序與應用程序框架以及用戶空間庫連接起來,反過來也與操作物理camera的硬件層進行通信。 下圖爲camera子系統的結構:

 構建一個camera庫

爲了實現一個camera驅動,創建一個動態鏈接庫實現在CameraHardwareInterface.h中定義的camera接口,你必須把你的動態鏈接庫命名爲libcamera.so,從而在運行時它會從/system/lib被裝載。你還需要把libcamera的源文件以及Android.mk文件放在vendor/acme/chipset_or_board/libcamera/中。

下面的stub Android.mk文件保證了libcamera編譯和連接合適的庫。

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := libcamera

LOCAL_SHARED_LIBRARIES := \
    libutils \
    librpc \
    liblog

LOCAL_SRC_FILES += MyCameraHardware.cpp

LOCAL_CFLAGS +=

LOCAL_C_INCLUDES +=

LOCAL_STATIC_LIBRARIES += \
    libcamera-common \
    libclock-rpc \
    libcommondefs-rpc

include $(BUILD_SHARED_LIBRARY)

 流程圖

預覽

下圖展示了camera 預覽時必須的程序調用以及動作的流程。

 照相

下圖展示了拍攝照片時時必須的程序調用以及動作的流程。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章