1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
LOCAL_PATH:= $(call my-dir)
ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
ifneq ($(USE_CAMERA_STUB),true)
ifeq ($(USE_DEVICE_SPECIFIC_CAMERA),true)
# When zero we link against libmmcamera; when 1, we dlopen libmmcamera.
DLOPEN_LIBMMCAMERA:=1
ifneq ($(BUILD_TINY_ANDROID),true)
V4L2_BASED_LIBCAM := true
LOCAL_PATH1:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_CFLAGS:= -DDLOPEN_LIBMMCAMERA=$(DLOPEN_LIBMMCAMERA)
#define BUILD_UNIFIED_CODE
ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
BUILD_UNIFIED_CODE := true
else
BUILD_UNIFIED_CODE := false
endif
ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
LOCAL_CFLAGS+= -DVFE_7X27A
endif
ifeq ($(strip $(TARGET_USES_ION)),true)
LOCAL_CFLAGS += -DUSE_ION
endif
LOCAL_CFLAGS += -DCAMERA_ION_HEAP_ID=ION_CP_MM_HEAP_ID # 8660=SMI, Rest=EBI
LOCAL_CFLAGS += -DCAMERA_ZSL_ION_HEAP_ID=ION_CP_MM_HEAP_ID
ifeq ($(TARGET_BOARD_PLATFORM),msm8960)
LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_IOMMU_HEAP
LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_SYSTEM_HEAP
LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
else ifeq ($(TARGET_BOARD_PLATFORM),msm8660)
LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP
LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP # Don't Care
LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID # EBI
LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID
LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
else
LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP
LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP # Don't Care
LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=GRALLOC_USAGE_PRIVATE_UNCACHED #uncached
endif
ifeq ($(V4L2_BASED_LIBCAM),true)
ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
LOCAL_HAL_FILES := QCameraHAL.cpp QCameraHWI_Parm.cpp\
QCameraHWI.cpp QCameraHWI_Preview.cpp \
QCameraHWI_Record_7x27A.cpp QCameraHWI_Still.cpp \
QCameraHWI_Mem.cpp QCameraHWI_Display.cpp \
QCameraStream.cpp QualcommCamera2.cpp
else
LOCAL_HAL_FILES := QCameraHAL.cpp QCameraHWI_Parm.cpp\
QCameraHWI.cpp QCameraHWI_Preview.cpp \
QCameraHWI_Record.cpp QCameraHWI_Still.cpp \
QCameraHWI_Mem.cpp QCameraHWI_Display.cpp \
QCameraStream.cpp QualcommCamera2.cpp QCameraParameters.cpp
endif
else
LOCAL_HAL_FILES := QualcommCamera.cpp QualcommCameraHardware.cpp
endif
LOCAL_CFLAGS+= -DHW_ENCODE
# if debug service layer and up , use stub camera!
LOCAL_C_INCLUDES += \
frameworks/base/services/camera/libcameraservice #
LOCAL_SRC_FILES := $(MM_CAM_FILES) $(LOCAL_HAL_FILES)
ifeq ($(TARGET_BOARD_PLATFORM),msm7627a)
LOCAL_CFLAGS+= -DNUM_PREVIEW_BUFFERS=6 -D_ANDROID_
else
LOCAL_CFLAGS+= -DNUM_PREVIEW_BUFFERS=4 -D_ANDROID_
endif
# To Choose neon/C routines for YV12 conversion
LOCAL_CFLAGS+= -DUSE_NEON_CONVERSION
# Uncomment below line to enable smooth zoom
#LOCAL_CFLAGS+= -DCAMERA_SMOOTH_ZOOM
ifeq ($(V4L2_BASED_LIBCAM),true)
LOCAL_C_INCLUDES+= hardware/qcom/media/mm-core/inc
LOCAL_C_INCLUDES+= $(LOCAL_PATH)/mm-camera-interface
endif
LOCAL_C_INCLUDES+= hardware/qcom/display/libgralloc
LOCAL_C_INCLUDES+= hardware/qcom/display/libgenlock
LOCAL_C_INCLUDES+= hardware/qcom/media/libstagefrighthw
ifeq ($(V4L2_BASED_LIBCAM),true)
LOCAL_SHARED_LIBRARIES:= libutils libui libcamera_client liblog libcutils
LOCAL_SHARED_LIBRARIES += libmmcamera_interface2
else
LOCAL_SHARED_LIBRARIES:= libutils libui libcamera_client liblog libcutils libmmjpeg
endif
LOCAL_SHARED_LIBRARIES+= libgenlock libbinder
ifneq ($(DLOPEN_LIBMMCAMERA),1)
LOCAL_SHARED_LIBRARIES+= liboemcamera
else
LOCAL_SHARED_LIBRARIES+= libdl
endif
LOCAL_CFLAGS += -include bionic/libc/include/sys/socket.h
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_MODULE:= camera.$(TARGET_DEVICE)
LOCAL_MODULE_TAGS := optional
include $(BUILD_SHARED_LIBRARY)
endif # BUILD_TINY_ANDROID
ifeq ($(V4L2_BASED_LIBCAM),true)
include $(LOCAL_PATH)/mm-camera-interface/Android.mk
endif
#Enable only to compile new interafece and HAL files.
ifeq ($(V4L2_BASED_LIBCAM),true)
#include $(LOCAL_PATH1)/QCamera/Android.mk
endif
endif # USE_CAMERA_STUB
endif
endif
|