Age | Commit message (Collapse) | Author |
|
CPU optimization gets its own files in which to fill-in optimizable
routines.
Some pointless #if 0's for profiling need removal. Those macros are
empty if not profiling.
Force some functions that are undesirable to be force-inlined by the
compiler to be not inlined.
Change-Id: Ia7b7e45380d7efb20c9b1a4d52e05db3ef6bbaab
|
|
Change-Id: I8a8604d6726304d04281671b475b2f75f9bfc0e5
|
|
Fixes playback of files with large embedded album art.
Change-Id: I94d336e3da968a93047dd00a5fa65e4c3423a7da
|
|
Use the tlsf malloc and friends instead of the silly
codec_malloc to get actually working free and saner
realloc that doesn't leak memory.
Makes files with moderately sized embedded AA play
on targets with large enough codec buffers and files
with too large AA are now skipped rather than crashing.
Fixes crash when playing example file in FS#12842.
Change-Id: I06562955c4d9a95bd90f55738214fba462092b71
|
|
Change-Id: Ic8d31244c4ddc3924d889d0cb0d444844a1bb345
|
|
Change-Id: I8ac7561119e51774b9aee377e7373a7e830a5780
|
|
Uses the Catmull-Rom case of Hermite cubic splines.
Vastly improves the quality and accuracy of audio resampling with a
rather minor additional overhead compared to the previous linear
implementation.
ARM and Coldfire assembly implementations included.
Change-Id: Ic45d84bc66c5b312ef373198297a952167a4be26
Reviewed-on: http://gerrit.rockbox.org/304
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
|
'Twas an idiosyncrasy of detecting a host upon bus reset, which is
obsolete.
Change-Id: I0adb25e1805022544f52cd0cb766819a367dbde4
|
|
Change-Id: I682a8b68fa8148e5db2e06e4f261b1ea01d140ad
|
|
Change-Id: I19eace9452d9d0b2a6c7770549930c83ece05c80
|
|
Split the ISR into two parts and alllow quick return from first half.
Introduces a uevent() API to have a callback happen in a specified
number of microseconds. Right now only one event is supported.
Change-Id: Ib1666165be2f6082e5275d64961f083cab104f9f
|
|
Similar as done in d2b8f91 change dependency generation to use one file per
source file. This removes the need to have external tools installed on Windows.
Previously Cygwin or msys tools needed to be in the system PATH which was
problematic at times.
This means that now building on Windows (using MinGW) doesn't require
additional tools anymore.
Change-Id: I4c0675e99c3cc3a729b91beefd58320db498ae0a
|
|
Change-Id: Iebcb3be6024c2fa6ec94a38b8bb1cb0c7274eb85
|
|
Automatically generate dependency files for all sources so changes in headers
are picked up automatically. Use one dependency file for each source file,
since that allows to create them without using external tools (except the
compiler of course).
Change-Id: I246c1ceb525692547af22a2e32c4bab0c11507e1
|
|
Similar as done for libtools.make ask the compiler for the binary it creates
instead of using uname to figure the target to avoid special handling when
cross compiling.
Change-Id: Icb4654616e4339bf9e6e3be5177b35e0bb313bcd
|
|
Windows mkdir doesn't know about the -p option and requires paths to use \ as
path separator. Try to detect when building on Windows and use the Windows
internal function instead of relying on a compatible mkdir in the path.
Change-Id: I47d47d45edeb38c672321f77d6e91268bf744dba
|
|
Create the object - source dependency internally and use a more generic rule
for compiling. Removes the need for explicit rules for source files located in
a different folder.
This adds the limitation for SOURCES and LIBSOURCES to only hold C files.
Change-Id: I56f6a4b1e7df36347cd2f54051e072251f456092
|
|
This speeds up partial updates quite a bit but what is more
important it opens up a way to efficiently implement
lcd_blit_yuv() using hw colorspace conversion.
Tested on rk27generic, hm60x v1 and v2 and on ma9.
Benchmark for hm60x v1 (by mortalis):
HEAD patched
1/1 141fps 138fps
1/4 315fps 395fps
Change-Id: I4cc115786c3139000fc14c49a7290e289cfd6c42
|
|
Change-Id: I1040164220dd87b19b58be560eb5b628857bc284
|
|
Change-Id: I013da0f3f862e733c5245a48dceb08219f43bf2d
|
|
Make sure its value quotes are properly escaped. Otherwise make on Windows
causes problems. Also, expand CPPDEFINES only once.
Change-Id: I52e91f17626b2596f389811b22abc12d94f721d1
|
|
Setup AR before checking for ccache to avoid adding ccache to ar. Setup CC and
CFLAGS in the beginning as well. Quote ar and system speex options to fix
building with ccache enabled.
Change-Id: I21714f0849e990abeac72dcda52c81474e090934
|
|
Conversion from centibels to register values was left out of
audiohw_set_lineout_volume().
Credit goes to Dave Marsh for providing the fix.
Just another little oversight from sound/audiohw rework.
Change-Id: I7f8b1c5fb575ac95b5d595c2f4824fbb5ebbd3c8
|
|
We need this only for cross compiling. Trying to figure the compiler prefix
fails if the compiler isn't gcc (i.e. clang), and we only support gcc when
cross compiling.
Change-Id: I822e1b47ec7e9d7e9fdeae8ccf3b8d417a472ef9
|
|
Fix a typo that broke building. Also extend the extralibs Makefile to allow
calling it directly.
Change-Id: I2d4dd1689a8654a6b092dfcc58d2753423831816
|
|
Change-Id: I5ed0cba03711b3ba6db58405fe805d92aece974e
|
|
Change-Id: I9d6b14bcbd26cfd760516f1ef3bf421698507806
|
|
Change-Id: I79f44f0dcc1b23b33a5040795220713660a1d18a
|
|
Change-Id: Icb7d2de4284c1db5766f0039e5546b8956ef5afa
|
|
Change-Id: I79aadc958fd5222f26f91ed127f8c6fb2c465dc2
|
|
DSP_SWITCH_FREQUENCY has been deprecated and the same enumerated value
as DSP_SET_FREQUENCY since major DSP revisions were committed. This
task should have been performed much earlier but, oh well, do it now.
Change-Id: I3f30d651b894136a07c7e17f78fc16a7d98631ff
|
|
Just one more SNAFU after redoing sound.c. Software bass/treble controls
in the DSP expect .1 dB gain increments but the gains were being set as
1 dB increments because that's what the AUDIOHW_SETTING specifies. Just
x10 the gains given to audiohw_set_bass/treble.
Change-Id: Id5296f93908ec0036a5605d3a60a2cb5eec91bb5
|
|
95e23de made -Wl,--gc-sections appear after -T by combining it with the global
linker options. Moving the global linker options in front of -T seems to fix
the crash observed on mini2g after that change -- as it seems the linker
behaves differently if --gc-sections is passed after -T.
Fixes FS#12857.
Change-Id: Id64dc6b91726760d75a1a0cd85bb7c06208d2f45
|
|
Previously several additional rules were added by qmake to build the required
libraries. This has a couple of problems on Windows, requiring the use of a
msys shell.
Additional variables are passed as environment variables. Windows doesn't
understand this. Passing the variables via make command line argument works but
make won't be able to change those variables anymore, breaking things. Use
intermediate variables passed via make command line that are then exported by
the called Makefile. This doesn't work in the generated Makefile since the
export lines must not be part of a rule.
Also cleans up the project file a bit.
Change-Id: Iaffb059ce8bafe17a35bd1e0a74ae7acd966c138
|
|
Similar as done in ea0bfe7 ask the compiler for the binary it creates instead
of using uname to figure the target.
Simplify source file preprocessing to avoid using grep to improve compatibility
with Windows.
Change-Id: I39ecfe690c9bb70b07b0af5a7804d7e5ab512d71
|
|
Fixes cross compiling for Rockbox Utility.
Change-Id: I3419cb4c89836ec3bee10072495042b3732fd66b
|
|
While it made the mini2g not crash during startup anymore further tests showed
that other mini2g devices still exhibit the crash, or end up with a "No
partition found" error; furthermore the device tested first still crashes on
USB disconnect. Therefore the change doesn't really help with the problem, and
at the expense of increasing binary size for all other targets there is no
point in keeping it for now.
This reverts commit 850491a043a9341ef31ffb8c02eedd2ae7b2c53e.
|
|
Input type can only change once per call because the DSP parameters
are only copied at the start and input is always taken from the src
buffer which means sample input format switching can be once per call
instead of once per loop.
Change-Id: Ifa3521753428fb0e6997e4934f24a3b915628cc7
|
|
Some things can just be a bit simpler in handling the list of stages
and some things, especially format change handling, can be simplified
for each stage implementation. Format changes are sent through the
configure() callback.
Hide some internal details and variables from processing stages and
let the core deal with it.
Do some miscellaneous cleanup and keep things a bit better factored.
Change-Id: I19dd8ce1d0b792ba914d426013088a49a52ecb7e
|
|
Change-Id: I64cf91a2ddc4fbf89d83bb5a401e9e4021f8c160
|
|
Change-Id: I0b343425d0cfef4d4609cabca79c1f31d8327d3b
Reviewed-on: http://gerrit.rockbox.org/459
Reviewed-by: Andrew Ryabinin <ryabinin.a.a@gmail.com>
|
|
Change-Id: Ifab5276fa746d7c989913428a30d408987ee23f4
|
|
fixedpoint.make is not a subdir Makefile but a lib Makefile. Setting
CORE_GCSECTIONS in it will affect the final link and make it always use
--gc-sections (for SWCODEC Rockbox), since libfixedpoint is always needed
(bootloader and HWCODEC don't use libfixedpoint).
Fixes FS#12857.
Change-Id: Ib30bd03cbcea9c339a73daf7b673868aa3cc7a88
|
|
HAVE_SW_VOLUME_CONTROL is required and at this time only affects the
SDL targets using pcm-sdl.c.
Enables balance control in SDL targets, unless mono volume is in use.
Compiles software volume control as unbuffered when
PCM_SW_VOLUME_UNBUFFERED is defined. This avoids the overhead and
extra latency introduced by the double buffer when it is not needed.
Use this config when the target's PCM driver is buffered and sufficient
latency exists to perform safely the volume scaling.
Simulated targets that are double-buffered when made as native targets
remain so in the sim in order to run the same code.
Change-Id: Ifa77d2d3ae7376c65afecdfc785a084478cb5ffb
Reviewed-on: http://gerrit.rockbox.org/457
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
|
When seeking to the next id3v2 frame we need to consider if the tag has the
unsync flag set. Not doing so will likely make parsing end up in the middle of
the current frame if the frame size exceeds the upper limit set during read.
The latter usually happens for album art frames.
Fixes FS#12849.
Change-Id: Ic92853eef4374508d84df347bcc66b6661d5037d
|
|
architecture Android NDKs
Change-Id: I520443a17f1d9ced43222e14182ca4726717bc32
Reviewed-on: http://gerrit.rockbox.org/458
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
Tested-by: Frank Gevaerts <frank@gevaerts.be>
|
|
Change-Id: I34b77287ba0b1a0002db3d52e893a52c50593362
|
|
Thanks to Frank Gevaerts.
Change-Id: I6ca1d0258bfc70950d0ad5c2975d2bd88060b8a3
|
|
Change-Id: Icc10d6e85f890c432f191233a4d64e09f00be43d
Reviewed-on: http://gerrit.rockbox.org/456
Reviewed-by: Michael Sevakis <jethead71@rockbox.org>
Tested-by: Michael Sevakis <jethead71@rockbox.org>
|
|
If AUDIOHW_CAPS is defined without explicit BASS_CAP/TREBLE_CAP while
HAVE_SW_TONE_CONTROLS is defined, AUDIOHW_HAVE_BASS/TREBLE should be
defined or otherwise the tone controls won't show up. TREBLE/BASS were
being defined if AUDIOHW_CAPS was NOT defined, but the same rule should
apply if the codec needs to specify other caps but doesn't use hardware
tone controls.
(I'm surprised noone noticed some settings gone missing :-)
Change-Id: I85b5c467bab07bb62362a0dc2d582267ac2d8ec9
|