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
This commit is contained in:
Nils Wallménius 2010-07-18 19:05:53 +00:00
parent 45fc5e3aad
commit c45e1254c6
7 changed files with 73 additions and 6 deletions

View file

@ -16,7 +16,15 @@ $(CODECLIB): $(CODECLIB_OBJ)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
CODECLIBFLAGS = $(CODECFLAGS) -ffunction-sections
CODECLIBFLAGS = $(filter-out -O%,$(CODECFLAGS)) -ffunction-sections
ifeq ($(MEMORYSIZE),2)
CODECLIBFLAGS += -Os
else ifeq ($(CPU),coldfire)
CODECLIBFLAGS += -O2
else
CODECLIBFLAGS += -O1
endif
$(CODECDIR)/lib/%.o: $(ROOTDIR)/apps/codecs/lib/%.c
$(SILENT)mkdir -p $(dir $@)

View file

@ -16,3 +16,16 @@ OTHER_SRC += $(A52LIB_SRC)
$(A52LIB): $(A52LIB_OBJ)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
A52FLAGS = -I$(APPSDIR)/codecs/liba52 $(filter-out -O%,$(CODECFLAGS))
ifeq ($(CPU),coldfire)
A52FLAGS += -O2
else
A52FLAGS += -O1
endif
$(CODECDIR)/liba52/%.o: $(ROOTDIR)/apps/codecs/liba52/%.c
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(A52FLAGS) -c $< -o $@

View file

@ -18,7 +18,12 @@ $(ALACLIB): $(ALACLIB_OBJ)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
ALACFLAGS = $(filter-out -O%,$(CODECFLAGS))
ALACFLAGS += -O3
ifeq ($(CPU),arm)
ALACFLAGS += -O2
else
ALACFLAGS += -O3
endif
$(CODECDIR)/libalac/%.o: $(ROOTDIR)/apps/codecs/libalac/%.c
$(SILENT)mkdir -p $(dir $@)

View file

@ -18,7 +18,14 @@ $(ASFLIB): $(ASFLIB_OBJ)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
ASFFLAGS = $(filter-out -O%,$(CODECFLAGS))
ASFFLAGS += -O3
ifeq ($(MEMORYSIZE),2)
ASFFLAGS += -Os
else ifeq ($(CPU),coldfire)
ASFFLAGS += -O3
else
ASFFLAGS += -O2
endif
$(CODECDIR)/libasf/%.o: $(ROOTDIR)/apps/codecs/libasf/%.c
$(SILENT)mkdir -p $(dir $@)

View file

@ -15,4 +15,17 @@ OTHER_SRC += $(COOKLIB_SRC)
$(COOKLIB): $(COOKLIB_OBJ)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
COOKFLAGS = -I$(APPSDIR)/codecs/libcook $(filter-out -O%,$(CODECFLAGS))
ifeq ($(CPU),coldfire)
COOKFLAGS += -O2
else
COOKFLAGS += -O1
endif
$(CODECDIR)/libcook/%.o: $(ROOTDIR)/apps/codecs/libcook/%.c
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(COOKFLAGS) -c $< -o $@

View file

@ -13,8 +13,14 @@ WAVPACKLIB_SRC := $(call preprocess, $(APPSDIR)/codecs/libwavpack/SOURCES)
WAVPACKLIB_OBJ := $(call c2obj, $(WAVPACKLIB_SRC))
OTHER_SRC += $(WAVPACKLIB_SRC)
WAVPACKFLAGS = -I$(APPSDIR)/codecs/libwavpack $(filter-out -O%,$(CODECFLAGS))
WAVPACKFLAGS += -O2
WAVPACKFLAGS = -I$(APPSDIR)/codecs/libwavpack $(filter-out -O%,$(CODECFLAGS))
ifeq ($(CPU),arm)
WAVPACKFLAGS += -O3
else
WAVPACKFLAGS += -O2
endif
$(WAVPACKLIB): $(WAVPACKLIB_OBJ)
$(SILENT)$(shell rm -f $@)

View file

@ -16,3 +16,18 @@ OTHER_SRC += $(WMALIB_SRC)
$(WMALIB): $(WMALIB_OBJ)
$(SILENT)$(shell rm -f $@)
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
WMAFLAGS = -I$(APPSDIR)/codecs/libwma $(filter-out -O%,$(CODECFLAGS))
ifeq ($(MEMORYSIZE),2)
WMAFLAGS += -Os
else ifeq ($(CPU),coldfire)
WMAFLAGS += -O3
else
WMAFLAGS += -O2
endif
$(CODECDIR)/libwma/%.o: $(ROOTDIR)/apps/codecs/libwma/%.c
$(SILENT)mkdir -p $(dir $@)
$(call PRINTS,CC $(subst $(ROOTDIR)/,,$<))$(CC) $(WMAFLAGS) -c $< -o $@