am 1112f2fc: Merge "exynos: vdec: support disabling metadata and native buffer modes" into lmp-mr1-dev

* commit '1112f2fc374699af6ea7c40dc5e57f0bfd77c338':
  exynos: vdec: support disabling metadata and native buffer modes
diff --git a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/Android.mk b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/Android.mk
index 8cd8248..f6ab869 100644
--- a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/Android.mk
+++ b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/Android.mk
@@ -2,6 +2,10 @@
 
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += \
+	-Wno-int-conversion \
+	-Wno-incompatible-pointer-types
+
 LOCAL_SRC_FILES := \
 	dec/src/ExynosVideoDecoder.c \
 	enc/src/ExynosVideoEncoder.c
@@ -13,7 +17,6 @@
 
 LOCAL_MODULE := libExynosVideoApi
 LOCAL_MODULE_TAGS := optional
-LOCAL_PRELINK_MODULE := false
 LOCAL_ARM_MODE := arm
 
 include $(BUILD_STATIC_LIBRARY)
diff --git a/exynos_omx/openmax/exynos_omx/component/audio/dec/mp3/Android.mk b/exynos_omx/openmax/exynos_omx/component/audio/dec/mp3/Android.mk
index 57fd44e..6586ec2 100644
--- a/exynos_omx/openmax/exynos_omx/component/audio/dec/mp3/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/audio/dec/mp3/Android.mk
@@ -7,7 +7,6 @@
 	Exynos_OMX_Mp3dec.c \
 	library_register.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libOMX.Exynos.MP3.Decoder
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/omx
 
diff --git a/exynos_omx/openmax/exynos_omx/component/common/Android.mk b/exynos_omx/openmax/exynos_omx/component/common/Android.mk
index c1e6124..81c9da7 100644
--- a/exynos_omx/openmax/exynos_omx/component/common/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/common/Android.mk
@@ -27,7 +27,6 @@
 LOCAL_SRC_FILES := \
 	Exynos_OMX_Resourcemanager.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libExynosOMX_Resourcemanager
 
 LOCAL_CFLAGS :=
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/dec/Android.mk
index 816f044..bc40bb6 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/Android.mk
@@ -1,6 +1,8 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_SRC_FILES := \
 	Exynos_OMX_VdecControl.c \
 	Exynos_OMX_Vdec.c
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.c b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.c
index d16d811..cba6046 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.c
@@ -65,7 +65,7 @@
     return (mbX * 16) * (mbY * 16);
 }
 
-inline void Exynos_UpdateFrameSize(OMX_COMPONENTTYPE *pOMXComponent)
+void Exynos_UpdateFrameSize(OMX_COMPONENTTYPE *pOMXComponent)
 {
     EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     EXYNOS_OMX_BASEPORT      *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Android.mk
index 984bd9d..57ddf76 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Android.mk
@@ -1,13 +1,14 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_SRC_FILES := \
 	Exynos_OMX_H264dec.c \
 	library_register.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libOMX.Exynos.AVC.Decoder
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/omx
 
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Android.mk
index d3dec8e..5648436 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Android.mk
@@ -1,13 +1,14 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_SRC_FILES := \
 	Exynos_OMX_Mpeg4dec.c \
 	library_register.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libOMX.Exynos.MPEG4.Decoder
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/omx
 
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Android.mk
index a6f5628..06ca1ff 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Android.mk
@@ -1,13 +1,14 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_SRC_FILES := \
 	Exynos_OMX_Vp8dec.c \
 	library_register.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libOMX.Exynos.VP8.Decoder
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/omx
 
diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
index 2435e0f..558ddda 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/enc/Android.mk
@@ -1,6 +1,8 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_SRC_FILES := \
 	Exynos_OMX_VencControl.c \
 	Exynos_OMX_Venc.c
diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c b/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c
index e271ff4..8a443db 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/enc/Exynos_OMX_Venc.c
@@ -52,7 +52,7 @@
 #include "Exynos_OSAL_Log.h"
 
 
-inline void Exynos_UpdateFrameSize(OMX_COMPONENTTYPE *pOMXComponent)
+void Exynos_UpdateFrameSize(OMX_COMPONENTTYPE *pOMXComponent)
 {
     EXYNOS_OMX_BASECOMPONENT *pExynosComponent = (EXYNOS_OMX_BASECOMPONENT *)pOMXComponent->pComponentPrivate;
     EXYNOS_OMX_BASEPORT      *exynosInputPort = &pExynosComponent->pExynosPort[INPUT_PORT_INDEX];
diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/h264/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/enc/h264/Android.mk
index 716fcd8..8da4444 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/enc/h264/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/enc/h264/Android.mk
@@ -1,13 +1,14 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_SRC_FILES := \
 	Exynos_OMX_H264enc.c \
 	library_register.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libOMX.Exynos.AVC.Encoder
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/omx
 
diff --git a/exynos_omx/openmax/exynos_omx/component/video/enc/mpeg4/Android.mk b/exynos_omx/openmax/exynos_omx/component/video/enc/mpeg4/Android.mk
index c7bdebf..f4e2e28 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/enc/mpeg4/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/component/video/enc/mpeg4/Android.mk
@@ -1,13 +1,14 @@
 LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_MODULE_TAGS := optional
 
 LOCAL_SRC_FILES := \
 	Exynos_OMX_Mpeg4enc.c \
 	library_register.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libOMX.Exynos.MPEG4.Encoder
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/omx
 
diff --git a/exynos_omx/openmax/exynos_omx/core/Android.mk b/exynos_omx/openmax/exynos_omx/core/Android.mk
index 7de591d..253d49e 100644
--- a/exynos_omx/openmax/exynos_omx/core/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/core/Android.mk
@@ -7,7 +7,6 @@
 	Exynos_OMX_Component_Register.c \
 	Exynos_OMX_Core.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libExynosOMX_Core
 
 LOCAL_CFLAGS :=
diff --git a/exynos_omx/openmax/exynos_omx/osal/Android.mk b/exynos_omx/openmax/exynos_omx/osal/Android.mk
index ec9127a..ef1ce87 100644
--- a/exynos_omx/openmax/exynos_omx/osal/Android.mk
+++ b/exynos_omx/openmax/exynos_omx/osal/Android.mk
@@ -16,11 +16,15 @@
 	Exynos_OSAL_Log.c \
 	Exynos_OSAL_SharedMemory.c
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE := libExynosOMX_OSAL
 
 LOCAL_CFLAGS :=
 
+LOCAL_CLANG_CFLAGS += \
+	-Wno-implicit-function-declaration \
+	-Wno-int-conversion \
+	-Wno-sign-compare
+
 ifeq ($(BOARD_USE_S3D_SUPPORT), true)
 LOCAL_CFLAGS += -DS3D_SUPPORT
 endif
diff --git a/exynos_omx/openmax/exynos_omx/osal/Exynos_OSAL_Android.cpp b/exynos_omx/openmax/exynos_omx/osal/Exynos_OSAL_Android.cpp
index b91365b..b128aaf 100644
--- a/exynos_omx/openmax/exynos_omx/osal/Exynos_OSAL_Android.cpp
+++ b/exynos_omx/openmax/exynos_omx/osal/Exynos_OSAL_Android.cpp
@@ -81,7 +81,7 @@
     GraphicBufferMapper &mapper = GraphicBufferMapper::get();
     buffer_handle_t bufferHandle = (buffer_handle_t) handle;
     private_handle_t *priv_hnd = (private_handle_t *) bufferHandle;
-    Rect bounds(width, height);
+    Rect bounds((uint32_t)width, (uint32_t)height);
     ExynosVideoPlane *vplanes = (ExynosVideoPlane *) planes;
     void *vaddr[MAX_BUFFER_PLANE];
 
diff --git a/libcamera2/Android.mk b/libcamera2/Android.mk
index 274dc7a..bf87b18 100644
--- a/libcamera2/Android.mk
+++ b/libcamera2/Android.mk
@@ -2,6 +2,8 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
+LOCAL_CLANG_CFLAGS += -Wno-c++11-narrowing
+
 # HAL module implemenation stored in
 # hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.product.board>.so
 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/hw
diff --git a/libcamera2/ExynosJpegEncoderForCamera.cpp b/libcamera2/ExynosJpegEncoderForCamera.cpp
index 9eb924f..14d73af 100644
--- a/libcamera2/ExynosJpegEncoderForCamera.cpp
+++ b/libcamera2/ExynosJpegEncoderForCamera.cpp
@@ -17,6 +17,7 @@
 
 #define LOG_TAG "ExynosJpegForCamera"
 #include <utils/Log.h>
+#include <string.h>
 
 #include "ExynosJpegEncoderForCamera.h"
 
diff --git a/libcsc/Android.mk b/libcsc/Android.mk
index bbf0ece..c485b99 100644
--- a/libcsc/Android.mk
+++ b/libcsc/Android.mk
@@ -44,7 +44,6 @@
 
 LOCAL_MODULE := libcsc
 
-LOCAL_PRELINK_MODULE := false
 
 LOCAL_ARM_MODE := arm
 
diff --git a/libcsc/csc.c b/libcsc/csc.c
index 0831f61..f16502a 100644
--- a/libcsc/csc.c
+++ b/libcsc/csc.c
@@ -30,6 +30,7 @@
 #define LOG_TAG "libcsc"
 #include <cutils/log.h>
 
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <utils/Log.h>
diff --git a/libexynosutils/Android.mk b/libexynosutils/Android.mk
index 627e823..90b7e70 100644
--- a/libexynosutils/Android.mk
+++ b/libexynosutils/Android.mk
@@ -15,7 +15,6 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_SHARED_LIBRARIES := liblog libutils libcutils
 
 LOCAL_CFLAGS += -DEXYNOS_PLATFORM_ON_ANDROID
diff --git a/libgscaler/Android.mk b/libgscaler/Android.mk
index 144f19b..5f3c9ad 100644
--- a/libgscaler/Android.mk
+++ b/libgscaler/Android.mk
@@ -17,7 +17,8 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_PRELINK_MODULE := false
+LOCAL_CLANG_CFLAGS += -Wno-int-conversion
+
 LOCAL_SHARED_LIBRARIES := liblog libutils libcutils libexynosutils libexynosv4l2
 
 # to talk to secure side
diff --git a/libhwc/Android.mk b/libhwc/Android.mk
index 5ef9373..123d20d 100644
--- a/libhwc/Android.mk
+++ b/libhwc/Android.mk
@@ -17,7 +17,6 @@
 # hw/<COPYPIX_HARDWARE_MODULE_ID>.<ro.product.board>.so
 
 include $(CLEAR_VARS)
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES)/hw
 LOCAL_SHARED_LIBRARIES := liblog libcutils libEGL libGLESv1_CM libhardware \
     libhardware_legacy libion_exynos libutils libsync libexynosgscaler libexynosv4l2 libMcClient
diff --git a/librotator/Android.mk b/librotator/Android.mk
index 5185235..8b01e85 100644
--- a/librotator/Android.mk
+++ b/librotator/Android.mk
@@ -17,7 +17,6 @@
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_PRELINK_MODULE := false
 LOCAL_SHARED_LIBRARIES := liblog libutils libcutils libexynosutils libexynosv4l2
 
 LOCAL_C_INCLUDES := \
diff --git a/libswconverter/Android.mk b/libswconverter/Android.mk
index be9d2bc..b37a1e9 100644
--- a/libswconverter/Android.mk
+++ b/libswconverter/Android.mk
@@ -18,7 +18,6 @@
 
 LOCAL_MODULE := libswconverter
 
-LOCAL_PRELINK_MODULE := false
 
 LOCAL_CFLAGS :=
 
diff --git a/libv4l2/Android.mk b/libv4l2/Android.mk
index a05bbd6..90d8bfd 100644
--- a/libv4l2/Android.mk
+++ b/libv4l2/Android.mk
@@ -31,7 +31,6 @@
 	libexynosutils 
 
 LOCAL_MODULE := libexynosv4l2
-LOCAL_PRELINK_MODULE := false
 LOCAL_MODULE_TAGS := eng
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/mobicore/Android.mk b/mobicore/Android.mk
index c89cb22..7075200 100644
--- a/mobicore/Android.mk
+++ b/mobicore/Android.mk
@@ -11,14 +11,11 @@
 
 
 # Application wide Cflags
-GLOBAL_INCLUDES := bionic \
-	external/stlport/stlport \
+GLOBAL_INCLUDES := \
 	$(COMP_PATH_MobiCore)/inc \
 	$(COMP_PATH_MobiCoreDriverMod)/Public \
 	$(COMP_PATH_MobiCore)/inc/TlCm
 
-GLOBAL_LIBRARIES := libstlport
-
 # Include the Daemon
 include $(MOBICORE_PROJECT_PATH)/daemon/Android.mk
 
diff --git a/mobicore/common/LogWrapper/log.h b/mobicore/common/LogWrapper/log.h
index 36c1746..041793c 100644
--- a/mobicore/common/LogWrapper/log.h
+++ b/mobicore/common/LogWrapper/log.h
@@ -36,6 +36,7 @@
 
 #include <unistd.h>
 #include <stdio.h>
+#include <string.h>
 #include <android/log.h>
 
 /** LOG_I(fmt, args...)
@@ -68,8 +69,8 @@
     #define LOG_W(fmt, args...) DUMMY_FUNCTION()
 #else
     // add LINE
-    #define LOG_I(fmt, args...) LOG_i(fmt";%d", ## args, __LINE__)
-    #define LOG_W(fmt, args...) LOG_w(fmt";%d", ## args, __LINE__)
+    #define LOG_I(fmt, args...) LOG_i(fmt ";%d", ## args, __LINE__)
+    #define LOG_W(fmt, args...) LOG_w(fmt ";%d", ## args, __LINE__)
 #endif
     // LOG_E is always defined
     #define _LOG_E(fmt, args...) LOG_e(fmt, ## args)
@@ -98,10 +99,10 @@
     #define LOG_I(fmt, args...) DUMMY_FUNCTION()
     #define LOG_W(fmt, args...) DUMMY_FUNCTION()
 #else
-    #define LOG_I(...)  _LOG_x("I",__VA_ARGS__)
-    #define LOG_W(...)  _LOG_x("W",__VA_ARGS__)
+    #define LOG_I(...)  _LOG_x("I", __VA_ARGS__)
+    #define LOG_W(...)  _LOG_x("W", __VA_ARGS__)
 #endif
-    #define _LOG_E(...)  _LOG_x("E",__VA_ARGS__)
+    #define _LOG_E(...)  _LOG_x("E", __VA_ARGS__)
 
 #endif //defined(LOG_ANDROID)
 
@@ -118,7 +119,7 @@
             do \
             { \
                 _LOG_E("  *****************************"); \
-                _LOG_E("  *** ERROR: "__VA_ARGS__); \
+                _LOG_E("  *** ERROR: " __VA_ARGS__); \
                 _LOG_E("  *** Detected in %s:%i/%s()", __FILE__, __LINE__, __FUNCTION__); \
                 _LOG_E("  *****************************"); \
             } while(1!=1)
diff --git a/mobicore/daemon/Daemon/Server/NetlinkServer.cpp b/mobicore/daemon/Daemon/Server/NetlinkServer.cpp
index cdf80f5..73d08c4 100644
--- a/mobicore/daemon/Daemon/Server/NetlinkServer.cpp
+++ b/mobicore/daemon/Daemon/Server/NetlinkServer.cpp
@@ -78,7 +78,7 @@
         src_addr.nl_family = AF_NETLINK;
         src_addr.nl_pid = MC_DAEMON_PID;  /* daemon pid */
         src_addr.nl_groups = 0;  /* not in mcast groups */
-        if (bind(serverSock, (struct sockaddr *)&src_addr, sizeof(src_addr)) < 0) {
+        if (::bind(serverSock, (struct sockaddr *)&src_addr, sizeof(src_addr)) < 0) {
             LOG_ERRNO("Binding to server socket failed, because bind");
             close(serverSock);
             break;
diff --git a/mobicore/daemon/Kernel/CKMod.cpp b/mobicore/daemon/Kernel/CKMod.cpp
index 030089d..30210db 100644
--- a/mobicore/daemon/Kernel/CKMod.cpp
+++ b/mobicore/daemon/Kernel/CKMod.cpp
@@ -31,6 +31,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 #include <cstdlib>
+#include <cstring>
 
 #include <fcntl.h>
 #include <sys/mman.h>