mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 02:27:39 -04:00
codec: sid: use cRSID as a library for playing SID files
Change-Id: Iee70933e47ff8df8f26c9a63112de4da4a8e6c17
This commit is contained in:
parent
15c0f0576e
commit
70ce734ece
6 changed files with 77 additions and 1273 deletions
|
@ -714,6 +714,7 @@ James Le Cuirot
|
||||||
Michael Landherr
|
Michael Landherr
|
||||||
Roman Artiukhin
|
Roman Artiukhin
|
||||||
Richard Goedeken
|
Richard Goedeken
|
||||||
|
Mihaly 'Hermit' Horvath
|
||||||
|
|
||||||
The libmad team
|
The libmad team
|
||||||
The wavpack team
|
The wavpack team
|
||||||
|
|
19
lib/rbcodec/codecs/cRSID/README.rockbox
Normal file
19
lib/rbcodec/codecs/cRSID/README.rockbox
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
Some notes about cRSID usage in Rockbox
|
||||||
|
by Ninja (Wolfram Sang) in 2023
|
||||||
|
|
||||||
|
The cRSID codebase is from v1.0. The only change made was a separation of the
|
||||||
|
cRSID header into a public and private one, so it could be compiled as a
|
||||||
|
library. You can find it as a separate commit in the git repository. This
|
||||||
|
likely needs to be updated whenever a newer version of cRSID shall be used.
|
||||||
|
|
||||||
|
Currently, newer versions of cRSID are available but they have been discarded.
|
||||||
|
v1.1 mainly adds a high quality playback mode using 7x oversampling. This is
|
||||||
|
too much for a Sansa Clip. Because the old playback mode still exists, it might
|
||||||
|
be possible to add a runtime option to let the user choose. As a first step
|
||||||
|
however, it was decided to give the user a working codec without having to deal
|
||||||
|
with options. v1.2 mainly adds a SDL-based GUI player, no bigger changes in SID
|
||||||
|
emulation. Staying with v1.0 also keeps the codec size significantly lower
|
||||||
|
(~50KB for v1.0 vs ~90KB for v1.2 on the Sansa Clip).
|
||||||
|
|
||||||
|
cRSID Releases can be found here:
|
||||||
|
https://csdb.dk/search/?seinsel=releases&search=crsid
|
1
lib/rbcodec/codecs/cRSID/SOURCES
Normal file
1
lib/rbcodec/codecs/cRSID/SOURCES
Normal file
|
@ -0,0 +1 @@
|
||||||
|
libcRSID.c
|
16
lib/rbcodec/codecs/cRSID/cRSID.make
Normal file
16
lib/rbcodec/codecs/cRSID/cRSID.make
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# __________ __ ___.
|
||||||
|
# Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
||||||
|
# Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
||||||
|
# Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
||||||
|
# Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
||||||
|
# \/ \/ \/ \/ \/
|
||||||
|
|
||||||
|
# cRSID
|
||||||
|
CRSID := $(CODECDIR)/cRSID.a
|
||||||
|
CRSID_SRC := $(call preprocess, $(RBCODECLIB_DIR)/codecs/cRSID/SOURCES)
|
||||||
|
CRSID_OBJ := $(call c2obj, $(CRSID_SRC))
|
||||||
|
OTHER_SRC += $(CRSID_SRC)
|
||||||
|
|
||||||
|
$(CRSID): $(CRSID_OBJ)
|
||||||
|
$(SILENT)$(shell rm -f $@)
|
||||||
|
$(call PRINTS,AR $(@F))$(AR) rcs $@ $^ >/dev/null
|
|
@ -65,6 +65,7 @@ include $(RBCODECLIB_DIR)/codecs/libgme/libvgm.make
|
||||||
include $(RBCODECLIB_DIR)/codecs/libgme/libkss.make
|
include $(RBCODECLIB_DIR)/codecs/libgme/libkss.make
|
||||||
include $(RBCODECLIB_DIR)/codecs/libgme/libemu2413.make
|
include $(RBCODECLIB_DIR)/codecs/libgme/libemu2413.make
|
||||||
include $(RBCODECLIB_DIR)/codecs/libopus/libopus.make
|
include $(RBCODECLIB_DIR)/codecs/libopus/libopus.make
|
||||||
|
include $(RBCODECLIB_DIR)/codecs/cRSID/cRSID.make
|
||||||
|
|
||||||
# set CODECFLAGS per codec lib, since gcc takes the last -Ox and the last
|
# set CODECFLAGS per codec lib, since gcc takes the last -Ox and the last
|
||||||
# in a -ffoo -fno-foo pair, there is no need to filter them out
|
# in a -ffoo -fno-foo pair, there is no need to filter them out
|
||||||
|
@ -101,6 +102,7 @@ $(WAVPACKLIB) : CODECFLAGS += -O1
|
||||||
$(WMALIB) : CODECFLAGS += -O2
|
$(WMALIB) : CODECFLAGS += -O2
|
||||||
$(WMAPROLIB) : CODECFLAGS += -O1
|
$(WMAPROLIB) : CODECFLAGS += -O1
|
||||||
$(WMAVOICELIB) : CODECFLAGS += -O1
|
$(WMAVOICELIB) : CODECFLAGS += -O1
|
||||||
|
$(CRSID) : CODECFLAGS += -O3
|
||||||
|
|
||||||
# fine-tuning of CODECFLAGS per cpu arch
|
# fine-tuning of CODECFLAGS per cpu arch
|
||||||
ifeq ($(ARCH),arch_arm)
|
ifeq ($(ARCH),arch_arm)
|
||||||
|
@ -192,6 +194,7 @@ $(CODECDIR)/sgc.codec : $(CODECDIR)/libsgc.a $(CODECDIR)/libemu2413.a
|
||||||
$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a
|
$(CODECDIR)/vgm.codec : $(CODECDIR)/libvgm.a $(CODECDIR)/libemu2413.a
|
||||||
$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a
|
$(CODECDIR)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a
|
||||||
$(CODECDIR)/opus.codec : $(CODECDIR)/libopus.a $(TLSFLIB)
|
$(CODECDIR)/opus.codec : $(CODECDIR)/libopus.a $(TLSFLIB)
|
||||||
|
$(CODECDIR)/sid.codec : $(CODECDIR)/cRSID.a
|
||||||
$(CODECDIR)/aac_bsf.codec : $(CODECDIR)/libfaad.a
|
$(CODECDIR)/aac_bsf.codec : $(CODECDIR)/libfaad.a
|
||||||
|
|
||||||
$(CODECS): $(CODEC_LIBS) # this must be last in codec dependency list
|
$(CODECS): $(CODEC_LIBS) # this must be last in codec dependency list
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue