From 53af2ad47cbfea022f70ca1360daa7974369d6b3 Mon Sep 17 00:00:00 2001 From: Philippe Morere Date: Tue, 12 Jul 2016 11:10:54 +1000 Subject: [PATCH 1/2] Changes for ARM. --- ARDroneLib/VLIB/Platform/video_config.h | 2 +- ARDroneLib/VP_SDK/Build/sysvar.makefile | 4 ++++ ARDroneLib/VP_SDK/Build/vlib.makefile | 6 ++++++ ARDroneLib/VP_SDK/VP_Os/linux/intrin.h | 23 +++++++++++++++++++---- Makefile | 8 ++++++-- 5 files changed, 36 insertions(+), 7 deletions(-) diff --git a/ARDroneLib/VLIB/Platform/video_config.h b/ARDroneLib/VLIB/Platform/video_config.h index 21263fa..ccb8b6f 100644 --- a/ARDroneLib/VLIB/Platform/video_config.h +++ b/ARDroneLib/VLIB/Platform/video_config.h @@ -8,7 +8,7 @@ //////////////////////////////////////////// #if TARGET_CPU_ARM == 1 // IPhone -#if defined (USE_ANDROID) || defined (TARGET_OS_IPHONE) +#if defined (USE_ANDROID) || defined (TARGET_OS_IPHONE) || defined (USE_LINUX) #include "arm11/video_config.h" #endif // TARGET_OS_IPHONE diff --git a/ARDroneLib/VP_SDK/Build/sysvar.makefile b/ARDroneLib/VP_SDK/Build/sysvar.makefile index 9ad49cb..a1590e4 100644 --- a/ARDroneLib/VP_SDK/Build/sysvar.makefile +++ b/ARDroneLib/VP_SDK/Build/sysvar.makefile @@ -374,6 +374,10 @@ else endif endif endif +ifeq ($(USE_ARMV7),yes) + TARGET_CPU_ARM=1 + TARGET_CPU_X68=0 +endif # All that needs to be exported ######################## diff --git a/ARDroneLib/VP_SDK/Build/vlib.makefile b/ARDroneLib/VP_SDK/Build/vlib.makefile index 220b798..575b8bd 100644 --- a/ARDroneLib/VP_SDK/Build/vlib.makefile +++ b/ARDroneLib/VP_SDK/Build/vlib.makefile @@ -59,6 +59,12 @@ GENERIC_LIBRARY_SOURCE_FILES+= \ Platform/arm9_P6/UVLC/uvlc_mb_layer_p6.S endif +ifeq ($(USE_ARMV7),yes) + GENERIC_LIBRARY_SOURCE_FILES+= \ + Platform/arm11/video_utils.c \ + Platform/arm11/UVLC/uvlc_codec.c +endif + ifeq ($(USE_IPHONE),yes) ifeq ($(PLATFORM_NAME),iphoneos) GENERIC_LIBRARY_SOURCE_FILES+= \ diff --git a/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h b/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h index 9e469a4..2cb1e95 100644 --- a/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h +++ b/ARDroneLib/VP_SDK/VP_Os/linux/intrin.h @@ -9,22 +9,37 @@ #if TARGET_CPU_X86 == 1 -static INLINE uint32_t _BitScanReverse(uint32_t* index, uint32_t mask) +/*static INLINE uint32_t _BitScanReverse(uint32_t* index, uint32_t mask) { __asm__("bsrl %[mask], %[index]" : [index] "=r" (*index) : [mask] "mr" (mask)); return mask ? 1 : 0; -} +}*/ +/*static INLINE uint32_t _byteswap_ulong(uint32_t value) +{ + int32_t tmp; -static INLINE uint32_t _byteswap_ulong(uint32_t value) + __asm __volatile( + "eor %1, %2, %2, ror #16\n" + "bic %1, %1, #0x00ff0000\n" + "mov %0, %2, ror #8\n" + "eor %0, %0, %1, lsr #8" + : "=r" (value), "=r" (tmp) + : "r" (value) + ); + + return value; +}*/ + +/*static INLINE uint32_t _byteswap_ulong(uint32_t value) { __asm("bswap %0": "=r" (value): "0" (value)); return value; -} +}*/ static inline uint32_t clz(uint32_t code) { diff --git a/Makefile b/Makefile index 2ad03a2..7186b04 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ SDK_PATH:=$(shell pwd)/ARDroneLib PC_TARGET=yes USE_LINUX=yes +USE_ARMV7=yes ifdef MYKONOS @@ -15,10 +16,13 @@ $(SDK_TARGET_DIR) SDK_FLAGS+="USE_APP=no" SDK_FLAGS+="USE_LIB=yes" +SDK_FLAGS+="USE_LINUX=yes" +SDK_FLAGS+="USE_ARMV7=yes" + all: - @$(MAKE) -C $(SDK_PATH)/Soft/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS) USE_LINUX=yes - @$(MAKE) -C $(SDK_PATH)/VP_SDK/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS) USE_LINUX=yes + @$(MAKE) -C $(SDK_PATH)/Soft/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS) + @$(MAKE) -C $(SDK_PATH)/VP_SDK/Build $(TMP_SDK_FLAGS) $(SDK_FLAGS) $(MAKECMDGOALS) install: mkdir -p ${INSTALL_PREFIX} From de30b4cea7427da6f66ee77020e9a8f6b13732d7 Mon Sep 17 00:00:00 2001 From: PhilippeMorere Date: Thu, 14 Jul 2016 11:16:30 +1000 Subject: [PATCH 2/2] Corrected typo --- ARDroneLib/VP_SDK/Build/sysvar.makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ARDroneLib/VP_SDK/Build/sysvar.makefile b/ARDroneLib/VP_SDK/Build/sysvar.makefile index a1590e4..e40d219 100644 --- a/ARDroneLib/VP_SDK/Build/sysvar.makefile +++ b/ARDroneLib/VP_SDK/Build/sysvar.makefile @@ -376,7 +376,7 @@ else endif ifeq ($(USE_ARMV7),yes) TARGET_CPU_ARM=1 - TARGET_CPU_X68=0 + TARGET_CPU_X86=0 endif # All that needs to be exported