mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17: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
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/libemu2413.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
|
||||
# in a -ffoo -fno-foo pair, there is no need to filter them out
|
||||
|
@ -101,6 +102,7 @@ $(WAVPACKLIB) : CODECFLAGS += -O1
|
|||
$(WMALIB) : CODECFLAGS += -O2
|
||||
$(WMAPROLIB) : CODECFLAGS += -O1
|
||||
$(WMAVOICELIB) : CODECFLAGS += -O1
|
||||
$(CRSID) : CODECFLAGS += -O3
|
||||
|
||||
# fine-tuning of CODECFLAGS per cpu arch
|
||||
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)/kss.codec : $(CODECDIR)/libkss.a $(CODECDIR)/libemu2413.a
|
||||
$(CODECDIR)/opus.codec : $(CODECDIR)/libopus.a $(TLSFLIB)
|
||||
$(CODECDIR)/sid.codec : $(CODECDIR)/cRSID.a
|
||||
$(CODECDIR)/aac_bsf.codec : $(CODECDIR)/libfaad.a
|
||||
|
||||
$(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