diff options
author | Nils Wallménius <nils@rockbox.org> | 2010-07-18 19:05:53 +0000 |
---|---|---|
committer | Nils Wallménius <nils@rockbox.org> | 2010-07-18 19:05:53 +0000 |
commit | c45e1254c6852ba36fa3af1b9a096f5c3be0d8d1 (patch) | |
tree | 2ec08a6ae91d7032e5a563adc7bb5338f69b08fc | |
parent | 45fc5e3aade9a47727b8caacf75958f9ee527167 (diff) | |
download | rockbox-c45e1254c6852ba36fa3af1b9a096f5c3be0d8d1.tar.gz rockbox-c45e1254c6852ba36fa3af1b9a096f5c3be0d8d1.zip |
FS#11454 Tuning of codec compiler options
Tested with h300 and sansa c200v1
h300 speedups:
a52: 2%
cook: 9-17%
aac: 0.5%
vorbis: 0.5%
wma: 6-12%
c200v1 speedups:
alac: 1.5%
wma 3-4%
wavpack 2%
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27486 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/codecs/lib/libcodec.make | 10 | ||||
-rw-r--r-- | apps/codecs/liba52/liba52.make | 13 | ||||
-rw-r--r-- | apps/codecs/libalac/libalac.make | 7 | ||||
-rw-r--r-- | apps/codecs/libasf/libasf.make | 9 | ||||
-rw-r--r-- | apps/codecs/libcook/libcook.make | 15 | ||||
-rw-r--r-- | apps/codecs/libwavpack/libwavpack.make | 10 | ||||
-rw-r--r-- | apps/codecs/libwma/libwma.make | 15 |
7 files changed, 73 insertions, 6 deletions
diff --git a/apps/codecs/lib/libcodec.make b/apps/codecs/lib/libcodec.make index d784b7cf99..c1858dcd6c 100644 --- a/apps/codecs/lib/libcodec.make +++ b/apps/codecs/lib/libcodec.make | |||
@@ -16,7 +16,15 @@ $(CODECLIB): $(CODECLIB_OBJ) | |||
16 | $(SILENT)$(shell rm -f $@) | 16 | $(SILENT)$(shell rm -f $@) |
17 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 17 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
18 | 18 | ||
19 | CODECLIBFLAGS = $(CODECFLAGS) -ffunction-sections | 19 | CODECLIBFLAGS = $(filter-out -O%,$(CODECFLAGS)) -ffunction-sections |
20 | |||
21 | ifeq ($(MEMORYSIZE),2) | ||
22 | CODECLIBFLAGS += -Os | ||
23 | else ifeq ($(CPU),coldfire) | ||
24 | CODECLIBFLAGS += -O2 | ||
25 | else | ||
26 | CODECLIBFLAGS += -O1 | ||
27 | endif | ||
20 | 28 | ||
21 | $(CODECDIR)/lib/%.o: $(ROOTDIR)/apps/codecs/lib/%.c | 29 | $(CODECDIR)/lib/%.o: $(ROOTDIR)/apps/codecs/lib/%.c |
22 | $(SILENT)mkdir -p $(dir $@) | 30 | $(SILENT)mkdir -p $(dir $@) |
diff --git a/apps/codecs/liba52/liba52.make b/apps/codecs/liba52/liba52.make index 79b2eb222e..c0fc7c8885 100644 --- a/apps/codecs/liba52/liba52.make +++ b/apps/codecs/liba52/liba52.make | |||
@@ -16,3 +16,16 @@ OTHER_SRC += $(A52LIB_SRC) | |||
16 | $(A52LIB): $(A52LIB_OBJ) | 16 | $(A52LIB): $(A52LIB_OBJ) |
17 | $(SILENT)$(shell rm -f $@) | 17 | $(SILENT)$(shell rm -f $@) |
18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
19 | |||
20 | A52FLAGS = -I$(APPSDIR)/codecs/liba52 $(filter-out -O%,$(CODECFLAGS)) | ||
21 | |||
22 | ifeq ($(CPU),coldfire) | ||
23 | A52FLAGS += -O2 | ||
24 | else | ||
25 | A52FLAGS += -O1 | ||
26 | endif | ||
27 | |||
28 | $(CODECDIR)/liba52/%.o: $(ROOTDIR)/apps/codecs/liba52/%.c | ||
29 | $(SILENT)mkdir -p $(dir $@) | ||
30 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(A52FLAGS) -c $< -o $@ | ||
31 | |||
diff --git a/apps/codecs/libalac/libalac.make b/apps/codecs/libalac/libalac.make index b23050f23b..c1b5d0acb1 100644 --- a/apps/codecs/libalac/libalac.make +++ b/apps/codecs/libalac/libalac.make | |||
@@ -18,7 +18,12 @@ $(ALACLIB): $(ALACLIB_OBJ) | |||
18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
19 | 19 | ||
20 | ALACFLAGS = $(filter-out -O%,$(CODECFLAGS)) | 20 | ALACFLAGS = $(filter-out -O%,$(CODECFLAGS)) |
21 | ALACFLAGS += -O3 | 21 | |
22 | ifeq ($(CPU),arm) | ||
23 | ALACFLAGS += -O2 | ||
24 | else | ||
25 | ALACFLAGS += -O3 | ||
26 | endif | ||
22 | 27 | ||
23 | $(CODECDIR)/libalac/%.o: $(ROOTDIR)/apps/codecs/libalac/%.c | 28 | $(CODECDIR)/libalac/%.o: $(ROOTDIR)/apps/codecs/libalac/%.c |
24 | $(SILENT)mkdir -p $(dir $@) | 29 | $(SILENT)mkdir -p $(dir $@) |
diff --git a/apps/codecs/libasf/libasf.make b/apps/codecs/libasf/libasf.make index 31d80a33f8..52e338eb64 100644 --- a/apps/codecs/libasf/libasf.make +++ b/apps/codecs/libasf/libasf.make | |||
@@ -18,7 +18,14 @@ $(ASFLIB): $(ASFLIB_OBJ) | |||
18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
19 | 19 | ||
20 | ASFFLAGS = $(filter-out -O%,$(CODECFLAGS)) | 20 | ASFFLAGS = $(filter-out -O%,$(CODECFLAGS)) |
21 | ASFFLAGS += -O3 | 21 | |
22 | ifeq ($(MEMORYSIZE),2) | ||
23 | ASFFLAGS += -Os | ||
24 | else ifeq ($(CPU),coldfire) | ||
25 | ASFFLAGS += -O3 | ||
26 | else | ||
27 | ASFFLAGS += -O2 | ||
28 | endif | ||
22 | 29 | ||
23 | $(CODECDIR)/libasf/%.o: $(ROOTDIR)/apps/codecs/libasf/%.c | 30 | $(CODECDIR)/libasf/%.o: $(ROOTDIR)/apps/codecs/libasf/%.c |
24 | $(SILENT)mkdir -p $(dir $@) | 31 | $(SILENT)mkdir -p $(dir $@) |
diff --git a/apps/codecs/libcook/libcook.make b/apps/codecs/libcook/libcook.make index 07836913d7..6a2817e07c 100644 --- a/apps/codecs/libcook/libcook.make +++ b/apps/codecs/libcook/libcook.make | |||
@@ -15,4 +15,17 @@ OTHER_SRC += $(COOKLIB_SRC) | |||
15 | 15 | ||
16 | $(COOKLIB): $(COOKLIB_OBJ) | 16 | $(COOKLIB): $(COOKLIB_OBJ) |
17 | $(SILENT)$(shell rm -f $@) | 17 | $(SILENT)$(shell rm -f $@) |
18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null \ No newline at end of file | 18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
19 | |||
20 | COOKFLAGS = -I$(APPSDIR)/codecs/libcook $(filter-out -O%,$(CODECFLAGS)) | ||
21 | |||
22 | ifeq ($(CPU),coldfire) | ||
23 | COOKFLAGS += -O2 | ||
24 | else | ||
25 | COOKFLAGS += -O1 | ||
26 | endif | ||
27 | |||
28 | $(CODECDIR)/libcook/%.o: $(ROOTDIR)/apps/codecs/libcook/%.c | ||
29 | $(SILENT)mkdir -p $(dir $@) | ||
30 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(COOKFLAGS) -c $< -o $@ | ||
31 | |||
diff --git a/apps/codecs/libwavpack/libwavpack.make b/apps/codecs/libwavpack/libwavpack.make index f0912ee0eb..c016ac85c6 100644 --- a/apps/codecs/libwavpack/libwavpack.make +++ b/apps/codecs/libwavpack/libwavpack.make | |||
@@ -13,8 +13,14 @@ WAVPACKLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libwavpack/SOURCES) | |||
13 | WAVPACKLIB_OBJ := $(call c2obj, $(WAVPACKLIB_SRC)) | 13 | WAVPACKLIB_OBJ := $(call c2obj, $(WAVPACKLIB_SRC)) |
14 | OTHER_SRC += $(WAVPACKLIB_SRC) | 14 | OTHER_SRC += $(WAVPACKLIB_SRC) |
15 | 15 | ||
16 | WAVPACKFLAGS = -I$(APPSDIR)/codecs/libwavpack $(filter-out -O%,$(CODECFLAGS)) | 16 | WAVPACKFLAGS = -I$(APPSDIR)/codecs/libwavpack $(filter-out -O%,$(CODECFLAGS)) |
17 | WAVPACKFLAGS += -O2 | 17 | |
18 | ifeq ($(CPU),arm) | ||
19 | WAVPACKFLAGS += -O3 | ||
20 | else | ||
21 | WAVPACKFLAGS += -O2 | ||
22 | endif | ||
23 | |||
18 | 24 | ||
19 | $(WAVPACKLIB): $(WAVPACKLIB_OBJ) | 25 | $(WAVPACKLIB): $(WAVPACKLIB_OBJ) |
20 | $(SILENT)$(shell rm -f $@) | 26 | $(SILENT)$(shell rm -f $@) |
diff --git a/apps/codecs/libwma/libwma.make b/apps/codecs/libwma/libwma.make index 71c4cdc626..360245139d 100644 --- a/apps/codecs/libwma/libwma.make +++ b/apps/codecs/libwma/libwma.make | |||
@@ -16,3 +16,18 @@ OTHER_SRC += $(WMALIB_SRC) | |||
16 | $(WMALIB): $(WMALIB_OBJ) | 16 | $(WMALIB): $(WMALIB_OBJ) |
17 | $(SILENT)$(shell rm -f $@) | 17 | $(SILENT)$(shell rm -f $@) |
18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null | 18 | $(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null |
19 | |||
20 | WMAFLAGS = -I$(APPSDIR)/codecs/libwma $(filter-out -O%,$(CODECFLAGS)) | ||
21 | |||
22 | ifeq ($(MEMORYSIZE),2) | ||
23 | WMAFLAGS += -Os | ||
24 | else ifeq ($(CPU),coldfire) | ||
25 | WMAFLAGS += -O3 | ||
26 | else | ||
27 | WMAFLAGS += -O2 | ||
28 | endif | ||
29 | |||
30 | $(CODECDIR)/libwma/%.o: $(ROOTDIR)/apps/codecs/libwma/%.c | ||
31 | $(SILENT)mkdir -p $(dir $@) | ||
32 | $(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(WMAFLAGS) -c $< -o $@ | ||
33 | |||