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
Andree Buschmann
4b0e09c1ac
Submit FS#12164 by Sean Bartell with minor changes by myself. Fixes possible decoding corruption of RealAudio files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30060 a1c6a512-1295-4272-9138-f99709370657
2011-06-24 08:51:22 +00:00
Andree Buschmann
6117ffdde5
Submit FS#12115: Use more IRAM in cook codec for several targets. Speeds up PP5022 and MCF5250 by ~3% and S5L87.0x by ~4%.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29913 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 19:03:58 +00:00
Michael Sevakis
08bedf8305
Having a default weak codec_main symbol doesn't seem to be working out for compiling the sim under cygwin in at least some cases. Just implement it explicitly in all cases.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29789 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 12:52:11 +00:00
Michael Sevakis
c537d5958e
Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Michael Sevakis
85e40257dc
Enforce that codecs wait for their metadata in a proper-ish and consistent manner. Sort of a halfway patch; best would be to give them an internal copy of the current track information which lasts unaltered by playback until a track switch or unload.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29348 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 15:27:10 +00:00
Nils Wallménius
6325ef978b
codecs: mark some local variables with 'static'
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27566 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 22:24:53 +00:00
Andree Buschmann
3d6faa08bf
Optimization for cook codec. Rework sample output to be able to use highly optimized dsp routines. Moved some functions to iram. Speeds up codec by 1.3 MHz on PP5022.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24815 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 19:47:05 +00:00
Mohamed Tarek
a67deef2b6
Set svn:keywords property.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23660 a1c6a512-1295-4272-9138-f99709370657
2009-11-18 01:00:43 +00:00
Mohamed Tarek
9669bbc135
Handle mid-track resumes in RM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23659 a1c6a512-1295-4272-9138-f99709370657
2009-11-18 00:41:46 +00:00
Mohamed Tarek
3c58b26152
Move the DATA_HEADER_SIZE define to codecs/librm/rm.h and add a define
...
for PACKET_HEADER_SIZE. No functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22152 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 06:10:03 +00:00
Mohamed Tarek
6f4294219e
Generic codec-extradata parsing, in preparation for addition of AAC/RM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21941 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 00:29:19 +00:00
Mohamed Tarek
b5b9cb031d
Modified the code for seeking to speed it up a bit. Instead of searching
...
the file for the required timestamp, we seek directly to a calcualted
position. If we go to a point beyond the desired seek_time, we seek back
in blocks (normally one or two blocks to the back) to get the required
block.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21836 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 10:06:19 +00:00
Michael Giacomelli
15dc0750be
Put COOKContext struct into IRAM. Speeds up decoding by 6MHz on PP5024 at the cost of 30.5 kbytes of IRAM.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21833 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 01:59:32 +00:00
Mohamed Tarek
edf3af2c68
Add seeking support in cook codec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21806 a1c6a512-1295-4272-9138-f99709370657
2009-07-12 14:36:06 +00:00
Mohamed Tarek
d259568831
Add the ability to seek to the start of the track.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21728 a1c6a512-1295-4272-9138-f99709370657
2009-07-08 20:23:24 +00:00
Maurus Cuelenaere
851b0e3234
Try at fixing 'cast to/from pointer to/from integer of different size' warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21719 a1c6a512-1295-4272-9138-f99709370657
2009-07-08 17:18:59 +00:00
Maurus Cuelenaere
24967bd552
Cook codec: make sure the RMContext get aligned correctly, or we won't be able to find it
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21717 a1c6a512-1295-4272-9138-f99709370657
2009-07-08 15:31:36 +00:00
Mohamed Tarek
e184ef1027
Adding support for rm playback. Only cook codec is supported for now and no seeking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21695 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 22:40:45 +00:00