USE_ALSA=1
USE_OSS=0
+export MAEMO=1
LDFLAGS += $(shell pkg-config --libs hildon-1 libpulse)
EXTRA_CFLAGS += -march=armv7-a -O3 -mfpu=neon -funsafe-math-optimizations \
-mstructure-size-boundary=32 -falign-functions=32 -falign-loops \
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
void bgr555_to_rgb565(void *dst, void *src, int bytes);
void bgr888_to_rgb888(void *dst, void *src, int bytes);
void bgr888_to_rgb565(void *dst, void *src, int bytes);
+
+#ifdef __cplusplus
+}
+#endif
ifndef DEBUG
CFLAGS += -O2 -ffast-math -fomit-frame-pointer
endif
+ifdef MAEMO
+CFLAGS += -DMAEMO
+endif
CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
# -fschedule-insns (from -O2+) causes bugs, probably bad asm() statements
CFLAGS += -fno-schedule-insns -fno-schedule-insns2
#else
#include "../../frontend/plugin_lib.h"
+#include "../../frontend/arm_utils.h"
extern "C" {
-extern void bgr555_to_rgb565(void *dst, void *src, int bytes);
-extern void bgr888_to_rgb888(void *dst, void *src, int bytes);
static const struct rearmed_cbs *cbs;
static void *screen_buf;
if (isRGB24)
{
+#ifndef MAEMO
for (; h1-- > 0; dest += w0 * 3, srcs += 1024)
{
bgr888_to_rgb888(dest, srcs, w0 * 3);
}
+#else
+ for (; h1-- > 0; dest += w0 * 2, srcs += 1024)
+ {
+ bgr888_to_rgb565(dest, srcs, w0 * 3);
+ }
+#endif
}
else
{