Merge changes from topic "neven" am: b06c7cc52e
am: caf2eef611

Change-Id: Ic4b486daf9155d17bbcf6bb08b96635d63dcce8c
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..173db03
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,141 @@
+// Copyright (C) 2008 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+cc_library_shared {
+    name: "libFFTEm",
+
+    srcs: [
+        "FaceDetector_jni.cpp",
+        "Embedded/common/src/b_APIEm/DCR.c",
+        "Embedded/common/src/b_APIEm/BFFaceFinder.c",
+        "Embedded/common/src/b_APIEm/FaceFinder.c",
+        "Embedded/common/src/b_APIEm/FaceFinderRef.c",
+        "Embedded/common/src/b_APIEm/Functions.c",
+        "Embedded/common/src/b_BasicEm/APh.c",
+        "Embedded/common/src/b_BasicEm/APhArr.c",
+        "Embedded/common/src/b_BasicEm/Complex.c",
+        "Embedded/common/src/b_BasicEm/ComplexArr.c",
+        "Embedded/common/src/b_BasicEm/Context.c",
+        "Embedded/common/src/b_BasicEm/DynMemManager.c",
+        "Embedded/common/src/b_BasicEm/Functions.c",
+        "Embedded/common/src/b_BasicEm/Int16Arr.c",
+        "Embedded/common/src/b_BasicEm/Int32Arr.c",
+        "Embedded/common/src/b_BasicEm/Int8Arr.c",
+        "Embedded/common/src/b_BasicEm/Math.c",
+        "Embedded/common/src/b_BasicEm/MemSeg.c",
+        "Embedded/common/src/b_BasicEm/MemTbl.c",
+        "Embedded/common/src/b_BasicEm/Memory.c",
+        "Embedded/common/src/b_BasicEm/Phase.c",
+        "Embedded/common/src/b_BasicEm/String.c",
+        "Embedded/common/src/b_BasicEm/UInt16Arr.c",
+        "Embedded/common/src/b_BasicEm/UInt32Arr.c",
+        "Embedded/common/src/b_BasicEm/UInt8Arr.c",
+        "Embedded/common/src/b_BitFeatureEm/BitParam.c",
+        "Embedded/common/src/b_BitFeatureEm/Feature.c",
+        "Embedded/common/src/b_BitFeatureEm/Functions.c",
+        "Embedded/common/src/b_BitFeatureEm/I04Dns2x2Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/I04Dns2x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/I04Tld2x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L01Dns2x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L01Tld1x1Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L01Tld2x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L04Dns2x2Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L04Dns2x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L04Dns3x3Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L04Tld2x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L06Dns3x3Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L06Dns4x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/L06DnsNx4x4Ftr.c",
+        "Embedded/common/src/b_BitFeatureEm/LocalScanDetector.c",
+        "Embedded/common/src/b_BitFeatureEm/LocalScanner.c",
+        "Embedded/common/src/b_BitFeatureEm/ScanDetector.c",
+        "Embedded/common/src/b_BitFeatureEm/Scanner.c",
+        "Embedded/common/src/b_BitFeatureEm/Sequence.c",
+        "Embedded/common/src/b_ImageEm/APhImage.c",
+        "Embedded/common/src/b_ImageEm/ComplexImage.c",
+        "Embedded/common/src/b_ImageEm/Flt16Image.c",
+        "Embedded/common/src/b_ImageEm/Functions.c",
+        "Embedded/common/src/b_ImageEm/HistoEq.c",
+        "Embedded/common/src/b_ImageEm/UInt16ByteImage.c",
+        "Embedded/common/src/b_ImageEm/UInt16BytePyrImage.c",
+        "Embedded/common/src/b_ImageEm/UInt8Image.c",
+        "Embedded/common/src/b_ImageEm/UInt32Image.c",
+        "Embedded/common/src/b_ImageEm/UInt8PyramidalImage.c",
+        "Embedded/common/src/b_TensorEm/Alt.c",
+        "Embedded/common/src/b_TensorEm/Cluster2D.c",
+        "Embedded/common/src/b_TensorEm/Cluster3D.c",
+        "Embedded/common/src/b_TensorEm/CompactAlt.c",
+        "Embedded/common/src/b_TensorEm/CompactMat.c",
+        "Embedded/common/src/b_TensorEm/Flt16Alt2D.c",
+        "Embedded/common/src/b_TensorEm/Flt16Alt3D.c",
+        "Embedded/common/src/b_TensorEm/Flt16Mat2D.c",
+        "Embedded/common/src/b_TensorEm/Flt16Mat3D.c",
+        "Embedded/common/src/b_TensorEm/Flt16Vec.c",
+        "Embedded/common/src/b_TensorEm/Flt16Vec2D.c",
+        "Embedded/common/src/b_TensorEm/Flt16Vec3D.c",
+        "Embedded/common/src/b_TensorEm/Functions.c",
+        "Embedded/common/src/b_TensorEm/IdCluster2D.c",
+        "Embedded/common/src/b_TensorEm/Int16Mat2D.c",
+        "Embedded/common/src/b_TensorEm/Int16Rect.c",
+        "Embedded/common/src/b_TensorEm/Int16Vec2D.c",
+        "Embedded/common/src/b_TensorEm/Int16Vec3D.c",
+        "Embedded/common/src/b_TensorEm/Int32Mat.c",
+        "Embedded/common/src/b_TensorEm/MapSequence.c",
+        "Embedded/common/src/b_TensorEm/Mat.c",
+        "Embedded/common/src/b_TensorEm/Normalizer.c",
+        "Embedded/common/src/b_TensorEm/RBFMap2D.c",
+        "Embedded/common/src/b_TensorEm/SubVecMap.c",
+        "Embedded/common/src/b_TensorEm/Uint32Rect.c",
+        "Embedded/common/src/b_TensorEm/VectorMap.c",
+        "FaceRecEm/common/src/b_FDSDK/DCR.c",
+        "FaceRecEm/common/src/b_FDSDK/FaceFinder.c",
+        "FaceRecEm/common/src/b_FDSDK/SDK.c",
+    ],
+
+    cflags: [
+        "-Wall",
+        "-Werror",
+        "-Wno-enum-conversion",
+        "-Depl_LINUX",
+        "-Wno-unused-parameter",
+    ],
+
+    local_include_dirs: [
+        "FaceRecEm/common/src/b_FDSDK",
+        "FaceRecEm/common/src",
+        "Embedded/common/conf",
+        "Embedded/common/src",
+    ],
+
+    shared_libs: [
+        "libnativehelper",
+        "libutils",
+        "liblog",
+        "libjnigraphics",
+        "libcutils",
+    ],
+
+
+    required: [
+        "RFFspeed_501.bmd",
+        "RFFstd_501.bmd",
+    ],
+
+    //disable build in PDK
+    product_variables: {
+        pdk: {
+            enabled: false,
+        },
+    },
+}
diff --git a/Android.mk b/Android.mk
index 8653519..7548ecf 100644
--- a/Android.mk
+++ b/Android.mk
@@ -17,119 +17,6 @@
 
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
-       FaceDetector_jni.cpp \
-       Embedded/common/src/b_APIEm/DCR.c \
-       Embedded/common/src/b_APIEm/BFFaceFinder.c \
-       Embedded/common/src/b_APIEm/FaceFinder.c \
-       Embedded/common/src/b_APIEm/FaceFinderRef.c \
-       Embedded/common/src/b_APIEm/Functions.c \
-       Embedded/common/src/b_BasicEm/APh.c \
-       Embedded/common/src/b_BasicEm/APhArr.c \
-       Embedded/common/src/b_BasicEm/Complex.c \
-       Embedded/common/src/b_BasicEm/ComplexArr.c \
-       Embedded/common/src/b_BasicEm/Context.c \
-       Embedded/common/src/b_BasicEm/DynMemManager.c \
-       Embedded/common/src/b_BasicEm/Functions.c \
-       Embedded/common/src/b_BasicEm/Int16Arr.c \
-       Embedded/common/src/b_BasicEm/Int32Arr.c \
-       Embedded/common/src/b_BasicEm/Int8Arr.c \
-       Embedded/common/src/b_BasicEm/Math.c.arm \
-       Embedded/common/src/b_BasicEm/MemSeg.c \
-       Embedded/common/src/b_BasicEm/MemTbl.c \
-       Embedded/common/src/b_BasicEm/Memory.c \
-       Embedded/common/src/b_BasicEm/Phase.c \
-       Embedded/common/src/b_BasicEm/String.c \
-       Embedded/common/src/b_BasicEm/UInt16Arr.c \
-       Embedded/common/src/b_BasicEm/UInt32Arr.c \
-       Embedded/common/src/b_BasicEm/UInt8Arr.c \
-       Embedded/common/src/b_BitFeatureEm/BitParam.c \
-       Embedded/common/src/b_BitFeatureEm/Feature.c \
-       Embedded/common/src/b_BitFeatureEm/Functions.c \
-       Embedded/common/src/b_BitFeatureEm/I04Dns2x2Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/I04Dns2x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/I04Tld2x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L01Dns2x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L01Tld1x1Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L01Tld2x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L04Dns2x2Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L04Dns2x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L04Dns3x3Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L04Tld2x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L06Dns3x3Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L06Dns4x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/L06DnsNx4x4Ftr.c \
-       Embedded/common/src/b_BitFeatureEm/LocalScanDetector.c \
-       Embedded/common/src/b_BitFeatureEm/LocalScanner.c \
-       Embedded/common/src/b_BitFeatureEm/ScanDetector.c \
-       Embedded/common/src/b_BitFeatureEm/Scanner.c \
-       Embedded/common/src/b_BitFeatureEm/Sequence.c \
-       Embedded/common/src/b_ImageEm/APhImage.c \
-       Embedded/common/src/b_ImageEm/ComplexImage.c \
-       Embedded/common/src/b_ImageEm/Flt16Image.c \
-       Embedded/common/src/b_ImageEm/Functions.c \
-       Embedded/common/src/b_ImageEm/HistoEq.c \
-       Embedded/common/src/b_ImageEm/UInt16ByteImage.c \
-       Embedded/common/src/b_ImageEm/UInt16BytePyrImage.c \
-       Embedded/common/src/b_ImageEm/UInt8Image.c \
-       Embedded/common/src/b_ImageEm/UInt32Image.c \
-       Embedded/common/src/b_ImageEm/UInt8PyramidalImage.c \
-       Embedded/common/src/b_TensorEm/Alt.c \
-       Embedded/common/src/b_TensorEm/Cluster2D.c \
-       Embedded/common/src/b_TensorEm/Cluster3D.c \
-       Embedded/common/src/b_TensorEm/CompactAlt.c \
-       Embedded/common/src/b_TensorEm/CompactMat.c \
-       Embedded/common/src/b_TensorEm/Flt16Alt2D.c \
-       Embedded/common/src/b_TensorEm/Flt16Alt3D.c \
-       Embedded/common/src/b_TensorEm/Flt16Mat2D.c \
-       Embedded/common/src/b_TensorEm/Flt16Mat3D.c \
-       Embedded/common/src/b_TensorEm/Flt16Vec.c \
-       Embedded/common/src/b_TensorEm/Flt16Vec2D.c \
-       Embedded/common/src/b_TensorEm/Flt16Vec3D.c \
-       Embedded/common/src/b_TensorEm/Functions.c \
-       Embedded/common/src/b_TensorEm/IdCluster2D.c \
-       Embedded/common/src/b_TensorEm/Int16Mat2D.c \
-       Embedded/common/src/b_TensorEm/Int16Rect.c \
-       Embedded/common/src/b_TensorEm/Int16Vec2D.c \
-       Embedded/common/src/b_TensorEm/Int16Vec3D.c \
-       Embedded/common/src/b_TensorEm/Int32Mat.c \
-       Embedded/common/src/b_TensorEm/MapSequence.c \
-       Embedded/common/src/b_TensorEm/Mat.c \
-       Embedded/common/src/b_TensorEm/Normalizer.c \
-       Embedded/common/src/b_TensorEm/RBFMap2D.c \
-       Embedded/common/src/b_TensorEm/SubVecMap.c \
-       Embedded/common/src/b_TensorEm/Uint32Rect.c \
-       Embedded/common/src/b_TensorEm/VectorMap.c \
-       FaceRecEm/common/src/b_FDSDK/DCR.c \
-       FaceRecEm/common/src/b_FDSDK/FaceFinder.c \
-       FaceRecEm/common/src/b_FDSDK/SDK.c
-##
-
-LOCAL_CFLAGS += -Depl_LINUX -Wno-unused-parameter
-
-LOCAL_C_INCLUDES += \
-	$(LOCAL_PATH)/FaceRecEm/common/src/b_FDSDK \
-	$(JNI_H_INCLUDE) \
-	$(LOCAL_PATH)/FaceRecEm/common/src \
-	$(LOCAL_PATH)/Embedded/common/conf \
-	$(LOCAL_PATH)/Embedded/common/src \
-	$(LOCAL_PATH)/unix/src
-
-LOCAL_SHARED_LIBRARIES := \
-	libnativehelper \
-	libutils \
-	liblog \
-	libjnigraphics \
-	libcutils
-
-LOCAL_MODULE:= libFFTEm
-
-LOCAL_REQUIRED_MODULES := RFFspeed_501.bmd RFFstd_501.bmd
-
-include $(BUILD_SHARED_LIBRARY)
-
-include $(CLEAR_VARS)
 LOCAL_MODULE := RFFspeed_501.bmd
 LOCAL_MODULE_CLASS := etc
 LOCAL_MODULE_PATH := $(TARGET_OUT)/usr/share/bmd
diff --git a/Embedded/common/src/b_BitFeatureEm/LocalScanDetector.c b/Embedded/common/src/b_BitFeatureEm/LocalScanDetector.c
index 880dba3..235f6e7 100644
--- a/Embedded/common/src/b_BitFeatureEm/LocalScanDetector.c
+++ b/Embedded/common/src/b_BitFeatureEm/LocalScanDetector.c
@@ -675,7 +675,8 @@
 			}
 			while( !sortedL );
 
-			for( iL = ( sizeL >> 1 ); iL < sizeL && actArrL[ idxArrL[ iL ] ] >= 0; iL++ );
+			for( iL = ( sizeL >> 1 ); iL < sizeL && actArrL[ idxArrL[ iL ] ] >= 0; iL++ )
+				;
 
 			{
 				uint32 subSizeL = iL;
diff --git a/FaceDetector_jni.cpp b/FaceDetector_jni.cpp
index b31761c..ab765fc 100644
--- a/FaceDetector_jni.cpp
+++ b/FaceDetector_jni.cpp
@@ -197,7 +197,6 @@
     btk_HDCR hdcr = (btk_HDCR)(_env->GetLongField(_this, gFaceDetectorOffsets.dcr));
     btk_HFaceFinder hfd =
         (btk_HFaceFinder)(_env->GetLongField(_this, gFaceDetectorOffsets.fd));
-    u32 maxFaces = _env->GetIntField(_this, gFaceDetectorOffsets.maxFaces);
     u32 width = _env->GetIntField(_this, gFaceDetectorOffsets.width);
     u32 height = _env->GetIntField(_this, gFaceDetectorOffsets.height);
 
@@ -257,7 +256,6 @@
     btk_FaceFinder_getDCR(hfd, hdcr);
     getFaceData(hdcr, &faceData);
 
-    const float X2F = 1.0f / 65536.0f;
     _env->SetFloatField(face, gFaceOffsets.confidence,  faceData.confidence);
     _env->SetFloatField(face, gFaceOffsets.midpointx,   faceData.midpointx);
     _env->SetFloatField(face, gFaceOffsets.midpointy,   faceData.midpointy);