Skip to content

Commit 6d01645

Browse files
author
Iliyan Malchev
committed
mako: move camera HAL from hardware/qcom/camera, DO NOT MERGE
Change-Id: Ib76c01a8ce47dd17c4e5c986e5988c2ad1c61906 Signed-off-by: Iliyan Malchev <[email protected]>
1 parent 57d1b6c commit 6d01645

File tree

118 files changed

+74344
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+74344
-2
lines changed

Android.mk

+1-2
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,4 @@ include $(BUILD_PREBUILT)
3737

3838
endif
3939

40-
include $(call all-makefiles-under,$(LOCAL_PATH))
41-
40+
include $(call first-makefiles-under,$(LOCAL_PATH))

BoardConfig.mk

+2
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,6 @@ TARGET_RELEASETOOLS_EXTENSIONS := device/lge/mako
9494

9595
BOARD_CHARGER_ENABLE_SUSPEND := true
9696

97+
USE_DEVICE_SPECIFIC_CAMERA := true
98+
9799
-include vendor/lge/mako/BoardConfigVendor.mk

camera/Android.mk

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

camera/CleanSpec.mk

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Copyright (C) 2007 The Android Open Source Project
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
16+
# If you don't need to do a full clean build but would like to touch
17+
# a file or delete some intermediate files, add a clean step to the end
18+
# of the list. These steps will only be run once, if they haven't been
19+
# run before.
20+
#
21+
# E.g.:
22+
# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
23+
# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
24+
#
25+
# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
26+
# files that are missing or have been moved.
27+
#
28+
# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
29+
# Use $(OUT_DIR) to refer to the "out" directory.
30+
#
31+
# If you need to re-do something that's already mentioned, just copy
32+
# the command and add it to the bottom of the list. E.g., if a change
33+
# that you made last week required touching a file and a change you
34+
# made today requires touching the same file, just copy the old
35+
# touch step and add it to the end of the list.
36+
#
37+
# ************************************************
38+
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
39+
# ************************************************
40+
41+
# For example:
42+
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
43+
#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
44+
#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
45+
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
46+
47+
$(call add-clean-step, find $(OUT_DIR) -name "camera.msm8960*" -print0 | xargs -0 rm -rf)

camera/MODULE_LICENSE_BSD

Whitespace-only changes.

camera/Makefile.am

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
ACLOCAL_AMFLAGS = -I m4
2+
3+
#libcamera.so
4+
lib_LTLIBRARIES = libcamera.la
5+
6+
libcamera_la_CFLAGS := $(DEBUG_CFLAGS)
7+
libcamera_la_CFLAGS += -DAMSS_VERSION=$(AMSS_VERSION)
8+
libcamera_la_CFLAGS += -DMSM_CAMERA_GCC
9+
libcamera_la_CFLAGS += -DLINUX_ENABLED
10+
libcamera_la_CFLAGS += -Dstrlcpy=g_strlcpy
11+
libcamera_la_CFLAGS += -fPIC
12+
13+
LOCAL_CFLAGS:= -DDLOPEN_LIBMMCAMERA=1
14+
15+
libcamera_la_CFLAGS += -DHW_ENCODE
16+
17+
if MSM7X27A
18+
libcamera_la_CFLAGS+= -DNUM_PREVIEW_BUFFERS=6
19+
libcamera_la_CFLAGS+= -DVFE_7X27A
20+
else
21+
libcamera_la_CFLAGS+= -DNUM_PREVIEW_BUFFERS=4
22+
endif
23+
24+
# To Choose neon/C routines for YV12 conversion
25+
libcamera_la_CFLAGS+= -DUSE_NEON_CONVERSION
26+
# Uncomment below line to enable smooth zoom
27+
#libcamera_la_CFLAGS+= -DCAMERA_SMOOTH_ZOOM
28+
29+
libcamera_la_SOURCES := mm_camera.c
30+
libcamera_la_SOURCES += mm_camera_channel.c
31+
libcamera_la_SOURCES += mm_camera_helper.c
32+
libcamera_la_SOURCES += mm_camera_interface2.c
33+
libcamera_la_SOURCES += mm_camera_notify.c
34+
libcamera_la_SOURCES += mm_camera_poll_thread.c
35+
libcamera_la_SOURCES += mm_camera_sock.c
36+
libcamera_la_SOURCES += mm_camera_stream.c
37+
38+
if BUILD_JPEG
39+
libcamera_la_SOURCES += mm_jpeg_encoder.c
40+
libcamera_la_SOURCES += mm_omx_jpeg_encoder.c
41+
endif
42+
43+
if BUILD_UNIFIED_CODE
44+
if MSM8960
45+
libcamera_la_SOURCES += QCameraHAL.cpp
46+
libcamera_la_SOURCES += QCameraHWI_Parm.cpp
47+
libcamera_la_SOURCES += QCameraHWI.cpp
48+
libcamera_la_SOURCES += QCameraHWI_Preview.cpp
49+
libcamera_la_SOURCES += QCameraHWI_Record.cpp
50+
libcamera_la_SOURCES += QCameraHWI_Still.cpp
51+
libcamera_la_SOURCES += QCameraHWI_Mem.cpp
52+
libcamera_la_SOURCES += QCameraHWI_Display.cpp
53+
libcamera_la_SOURCES += QCameraStream.cpp
54+
libcamera_la_SOURCES += QualcommCamera2.cpp
55+
elif MSM7X27A
56+
libcamera_la_SOURCES += QCameraHAL.cpp
57+
libcamera_la_SOURCES += QCameraHWI_Parm.cpp
58+
libcamera_la_SOURCES += QCameraHWI.cpp
59+
libcamera_la_SOURCES += QCameraHWI_Preview_7x27A.cpp
60+
libcamera_la_SOURCES += QCameraHWI_Record_7x27A.cpp
61+
libcamera_la_SOURCES += QCameraHWI_Still.cpp
62+
libcamera_la_SOURCES += QCameraHWI_Mem.cpp
63+
libcamera_la_SOURCES += QCameraHWI_Display.cpp
64+
libcamera_la_SOURCES += QCameraStream.cpp
65+
libcamera_la_SOURCES += QualcommCamera2.cpp
66+
endif
67+
endif
68+
69+
libcamera_la_LDFLAGS := $(DEBUG_LDFLAGS)
70+
libcamera_la_LDFLAGS += -shared
71+
libcamera_la_LIBADD = -ldl
72+
73+
dirs :=
74+
SUBDIRS = $(dirs)
75+

camera/QCamera/Android.mk

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
ifeq ($(TARGET_ARCH),arm)
2+
include $(call all-subdir-makefiles)
3+
endif

camera/QCamera/HAL/Android.mk

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
LOCAL_PATH:= $(call my-dir)
2+
#include $(LOCAL_PATH)/core/Android.mk
3+
#include $(LOCAL_PATH)/test/Android.mk

camera/QCamera/HAL/core/Android.mk

+91
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
2+
#ifeq ($(call is-board-platform,msm8960),true)
3+
OLD_LOCAL_PATH := $(LOCAL_PATH)
4+
LOCAL_PATH := $(call my-dir)
5+
6+
include $(CLEAR_VARS)
7+
8+
ifeq ($(strip $(TARGET_USES_ION)),true)
9+
LOCAL_CFLAGS += -DUSE_ION
10+
endif
11+
12+
DLOPEN_LIBMMCAMERA:=0
13+
14+
LOCAL_CFLAGS:= -DDLOPEN_LIBMMCAMERA=$(DLOPEN_LIBMMCAMERA)
15+
16+
LOCAL_CFLAGS += -DCAMERA_ION_HEAP_ID=ION_CP_MM_HEAP_ID # 8660=SMI, Rest=EBI
17+
LOCAL_CFLAGS += -DCAMERA_ZSL_ION_HEAP_ID=ION_CP_MM_HEAP_ID
18+
19+
LOCAL_CFLAGS+= -DHW_ENCODE
20+
LOCAL_CFLAGS+= -DUSE_NEON_CONVERSION
21+
22+
ifeq ($(call is-board-platform,msm8960),true)
23+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_MM_HEAP
24+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_IOMMU_HEAP
25+
LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
26+
LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_IOMMU_HEAP_ID
27+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
28+
else ifeq ($(call is-chipset-prefix-in-board-platform,msm8660),true)
29+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP
30+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_CAMERA_HEAP # Don't Care
31+
LOCAL_CFLAGS += -DCAMERA_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID # EBI
32+
LOCAL_CFLAGS += -DCAMERA_ZSL_ION_FALLBACK_HEAP_ID=ION_CAMERA_HEAP_ID
33+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=0
34+
else
35+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP
36+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_FALLBACK_HEAP_ID=GRALLOC_USAGE_PRIVATE_ADSP_HEAP # Don't Care
37+
LOCAL_CFLAGS += -DCAMERA_GRALLOC_CACHING_ID=GRALLOC_USAGE_PRIVATE_UNCACHED #uncached
38+
endif
39+
40+
LOCAL_HAL_FILES := \
41+
src/QCameraHAL.cpp \
42+
src/QCameraHWI_Parm.cpp \
43+
src/QCameraHWI.cpp \
44+
src/QCameraHWI_Preview.cpp \
45+
src/QCameraHWI_Record.cpp \
46+
src/QCameraHWI_Still.cpp \
47+
src/QCameraHWI_Mem.cpp \
48+
src/QCameraStream.cpp
49+
50+
LOCAL_HAL_WRAPPER_FILES := ../wrapper/QualcommCamera.cpp
51+
52+
LOCAL_C_INCLUDES := \
53+
$(LOCAL_PATH)/../wrapper \
54+
$(LOCAL_PATH)/inc \
55+
$(TARGET_OUT_INTERMEDIATES)/include/mm-camera-interface_badger \
56+
57+
# may need remove this includes
58+
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-camera
59+
LOCAL_C_INCLUDES += $(TARGET_OUT_HEADERS)/mm-still \
60+
$(TARGET_OUT_HEADERS)/mm-still/jpeg
61+
#end
62+
63+
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
64+
LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include/media
65+
LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
66+
67+
LOCAL_C_INCLUDES += hardware/qcom/display/libgralloc \
68+
hardware/qcom/display/libgenlock \
69+
hardware/qcom/media/libstagefrighthw
70+
71+
# if debug service layer and up , use stub camera!
72+
LOCAL_C_INCLUDES += \
73+
frameworks/base/services/camera/libcameraservice
74+
75+
LOCAL_SRC_FILES := \
76+
$(LOCAL_HAL_WRAPPER_FILES) \
77+
$(LOCAL_HAL_FILES)
78+
79+
LOCAL_SHARED_LIBRARIES := libutils libui libcamera_client liblog libcutils
80+
LOCAL_SHARED_LIBRARIES += libmmcamera_interface_badger
81+
LOCAL_SHARED_LIBRARIES+= libgenlock libbinder
82+
83+
LOCAL_CFLAGS += -include bionic/libc/include/sys/socket.h
84+
85+
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
86+
LOCAL_MODULE:= camera_badger.$(TARGET_BOARD_PLATFORM)
87+
LOCAL_MODULE_TAGS := optional
88+
include $(BUILD_SHARED_LIBRARY)
89+
90+
LOCAL_PATH := $(OLD_LOCAL_PATH)
91+

0 commit comments

Comments
 (0)