1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/codecs
Michael Sevakis 7ad2cad173 Commit work started in FS#12153 to put timing/position information in PCM
buffer chunks.

* Samples and position indication is closely associated with audio data
  instead of compensating by a latency constant. Alleviates problems with
  using the elapsed as a track indicator where it could be off by several
  steps.

* Timing is accurate throughout track even if resampling for pitch shift,
  whereas before it updated during transition latency at the normal 1:1 rate.

* Simpler PCM buffer with a constant chunk size, no linked lists.

In converting crossfade, a minor change was made to not change the WPS until
the fade-in of the incoming track, whereas before it would change upon the
start of the fade-out of the outgoing track possibly having the WPS change
with far too much lead time.

Codec changes are to set elapsed times *before* writing next PCM frame because
 time and position data last set are saved in the next committed PCM chunk. 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 07:45:35 +00:00
..
demac FS#12231 2011-08-18 16:33:41 +00:00
lib codeclib: make selective inclusion of macros and inline functions from the codeclib_misc.h header easier and clean out some old libtremor stuff. 2011-06-08 10:35:27 +00:00
liba52 FS#12231 2011-08-18 16:33:41 +00:00
libalac FS#12231 2011-08-18 16:33:41 +00:00
libasap FS#12231 2011-08-18 16:33:41 +00:00
libasf FS#12231 2011-08-18 16:33:41 +00:00
libatrac FS#12231 2011-08-18 16:33:41 +00:00
libcook FS#12231 2011-08-18 16:33:41 +00:00
libfaad Fix an issue in libfaad found by static code analysis. Two arrays within the drc_info structure require a size of 64 due to the related implementation. This code section would not have been called as the decoder checks the number of channels and rejects decoding for files using more than MAX_CHANNELS (2). Closes FS#12245. 2011-08-26 12:37:13 +00:00
libffmpegFLAC FS#12231 2011-08-18 16:33:41 +00:00
libgme Clean up redundant assignment 2011-08-25 19:27:31 +00:00
libm4a FS#12231 2011-08-18 16:33:41 +00:00
libmad Submit FS#12142 by Sean Bartell with minor chnages by myself. Removes unused code and irrelevant files from libmad. 2011-06-24 14:48:25 +00:00
libmusepack FS#12231 2011-08-18 16:33:41 +00:00
libpcm FS#12231 2011-08-18 16:33:41 +00:00
librm FS#12231 2011-08-18 16:33:41 +00:00
libspc FS#12231 2011-08-18 16:33:41 +00:00
libspeex Disable some unused code in speex to save binsize. 2011-06-02 20:52:54 +00:00
libtremor FS#12231 2011-08-18 16:33:41 +00:00
libtta FS#12231 2011-08-18 16:33:41 +00:00
libwavpack FS#12231 2011-08-18 16:33:41 +00:00
libwma FS#12231 2011-08-18 16:33:41 +00:00
libwmapro FS#12231 2011-08-18 16:33:41 +00:00
libwmavoice Minor libwmavoice fixes; initialise the entire VBM tree and remove file handle leak from test util. 2011-08-26 16:03:48 +00:00
a52.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
a52_rm.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
aac.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
adx.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
aiff.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
aiff_enc.c
alac.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
ape.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
asap.c FS#12113: Optimize IRAM configuration for Atari SAP format. Performance gains range from 5% (PP5020), over 13-16% (PP5002, PP5022, PP5024, S5L870x) to 115% (MCF5249, MCF5250). 2011-05-15 13:40:02 +00:00
atrac3_oma.c
atrac3_rm.c Submit FS#12164 by Sean Bartell with minor changes by myself. Fixes possible decoding corruption of RealAudio files. 2011-06-24 08:51:22 +00:00
au.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
ay.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
codec_crt0.c
codecs.make Optimized compiler settings for libgme. ARM now uses -O1 except for the 2413 emulator. The speed on PP5022 increases by 0-5% (NSF, YM2413-VGM), 5-10% (GBS, VGM) and 10-15% (SGC, KSS, AY). 2011-08-18 21:01:08 +00:00
cook.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
flac.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
gbs.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
hes.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
kss.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
mod.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
mp3_enc.c
mpa.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
mpc.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
nsf.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
raac.c FS#12141 by Sean Bartell 2011-06-02 14:59:15 +00:00
sgc.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
shorten.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
sid.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
smaf.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
SOURCES Submit a patch to the VGM codec by Mauricio Gama which saves some more RAM through changes of the buffer configuration and an update of the resampler code. Additionally enable VGM for low memory targets and update the manual. 2011-08-17 22:20:09 +00:00
spc.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
speex.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
tta.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
vgm.c Remove all IRAM attributes from libGME to be able to restart the IRAM optimization on a clean code base. As first step move the sample buffers to IRAM which results in a 1-5% speedup for all codecs. 2011-08-13 16:41:14 +00:00
vorbis.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
vox.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
wav.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
wav64.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
wav_enc.c
wavpack.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
wavpack_enc.c
wma.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
wmapro.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00
wmavoice.c Commit work started in FS#12153 to put timing/position information in PCM 2011-08-28 07:45:35 +00:00