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:
parent
45fc5e3aad
commit
c45e1254c6
7 changed files with 73 additions and 6 deletions
|
@ -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 $@)
|
||||
|
|
|
@ -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 $@
|
||||
|
||||
|
|
|
@ -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 $@)
|
||||
|
|
|
@ -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 $@)
|
||||
|
|
|
@ -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 $@
|
||||
|
||||
|
|
|
@ -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 $@)
|
||||
|
|
|
@ -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 $@
|
||||
|
||||
|
|
Loading…
Reference in a new issue