Mohamed Tarek
c956059ec5
Modify libcook to use rockbox's mdct library in its standalone test program.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22297 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:26:31 +00:00
Mohamed Tarek
8036207190
Also modify mdct_lookup.c for compiling outside rockbox.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22296 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:19:33 +00:00
Mohamed Tarek
272954954c
Modify the mdct library to enable using it outside rockbox - No functional changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22295 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:02:31 +00:00
Mohamed Tarek
519adfbaae
Import libatrac from ffmpeg and modify librm to support ATRAC3.
...
The decoder is still in floating point.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22235 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 14:46:31 +00:00
Boris Gjenero
7f971e0176
Fix FS#10476. Prevent FLAC bitrate calculation overflow with large files. The watermark depends on the bitrate, and so this also fixes playback pauses on large FLAC files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22211 a1c6a512-1295-4272-9138-f99709370657
2009-08-08 20:27:03 +00:00
Bertrik Sikken
d767883a41
Various files: make functions static if they're local or make sure there is a proper #include if not
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22184 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 09:28:25 +00:00
Mohamed Tarek
cc68b632cb
Add a couple of functions for the rm metadata parser for debugging, and add a comment to codecs/a52_rm.c to indicate the source of the decode
...
function.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22182 a1c6a512-1295-4272-9138-f99709370657
2009-08-06 05:45:54 +00:00
Mohamed Tarek
9ad071dcaf
Fix yellow.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22163 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 18:57:10 +00:00
Mohamed Tarek
ac2ce3a449
Enhance seeking in a52_rm ; it was a bit choppy, and fix a bug (request_buffer was called after eos and gave a seg fault) by changing the the
...
condition for the decoding loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22162 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 18:36:44 +00:00
Mohamed Tarek
010bb8e6ba
Rename codecs/dnet.c to codecs/a52_rm.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22158 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 15:05:56 +00:00
Mohamed Tarek
26cee86a0c
Add support for AC3 audio in RM container.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22155 a1c6a512-1295-4272-9138-f99709370657
2009-08-04 13:54:06 +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
Magnus Holmgren
04be8dd7fe
Fix inaccurate time display for 44.1 (and 22.05) kHz MP3 audio tracks. Time was off by about 0.2%. Doesn't sound much, but after one hour, that's 8 seconds. Also fix a problem when seeking to near the end of a file.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22145 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 20:28:16 +00:00
Thomas Martitz
85ece84b1c
Remove various ABS() definitions with a single one using typeof (if using gcc) to avoid multiple evaluations of the input expressions. Speex still uses its own as I didn't want to change this imported code too much.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22129 a1c6a512-1295-4272-9138-f99709370657
2009-08-03 01:38:58 +00:00
Nils Wallménius
65140a2cd5
Slight whitespace cleanup, add a const qualifier. No functional changes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22087 a1c6a512-1295-4272-9138-f99709370657
2009-07-30 13:52:11 +00:00
Michael Giacomelli
5bd339c9f9
Clean up a lot of old and ugly comments. Wrap some long lines. Remove unneeded fixed point function. Move some fixed point math functions out of wmadeci. No functional changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22077 a1c6a512-1295-4272-9138-f99709370657
2009-07-28 22:19:53 +00:00
Mohamed Tarek
c08a2c7c53
Change enum codecs in apps/codecs/librm/rm.h to follow the coding guidelines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22067 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 12:29:06 +00:00
Mohamed Tarek
5f5d105755
Change the naming scheme for codecs found in different containers.
...
Like changing AFMT_AAC to AFMT_MP4_AAC and AFMT_RAAC to AFMT_RM_AAC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22066 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 12:13:22 +00:00
Mohamed Tarek
c393b1dc5c
Fix compilation of the standalone test program.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22064 a1c6a512-1295-4272-9138-f99709370657
2009-07-27 11:28:14 +00:00
Dave Hooper
a8d1cfdec8
Approx 10% speedup in cook on files tested: Remove some inner loops in favour of memcpy/memset/vect_add calls; remove multiplication from index arithmetic in loops in favour of pointer arithmetic; make use of the MULT31, MULT31_SHIFT15 and CLIP_TO_15 implementations from codelib instead of having their own implementations in cook
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22055 a1c6a512-1295-4272-9138-f99709370657
2009-07-26 19:06:36 +00:00
Mohamed Tarek
b8cccb5ae1
Adding support for playback of aac audio in rm container, with seeking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22031 a1c6a512-1295-4272-9138-f99709370657
2009-07-25 15:47:13 +00:00
Mohamed Tarek
8f572ca525
Compile librm separately in preparation for addition of more codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22028 a1c6a512-1295-4272-9138-f99709370657
2009-07-25 15:13:50 +00:00
Michael Giacomelli
bd9156a4ad
Remove a divide in the cook's init function. Harmless but might as well drop it.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22019 a1c6a512-1295-4272-9138-f99709370657
2009-07-24 00:03:01 +00:00
Michael Sevakis
c77eae99a3
Commit FS#10458 by Christopher Williams - Fix incorrect AIFF and WAV encoding while recording in mono.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22014 a1c6a512-1295-4272-9138-f99709370657
2009-07-23 11:27:09 +00:00
Michael Giacomelli
debfd39882
Commited the wrong thing, fix zeroing in cook.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21989 a1c6a512-1295-4272-9138-f99709370657
2009-07-21 03:47:41 +00:00
Michael Giacomelli
c062259216
Rearrange loop to avoid one branch per iteration.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21988 a1c6a512-1295-4272-9138-f99709370657
2009-07-21 03:40:53 +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
Michael Giacomelli
6539b535ad
Optimize overlap_math by only doing shifting if theres gain, and moving the check for sign outside of the for loop. 3% speedup on PP5024.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21940 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 00:24:54 +00:00
Michael Giacomelli
b957f7214b
Rearrange the MDCT library lookup tables so that codecs can access them. Access them in cook. Remove old cook trig tables. Replace old 32x16 bit fixed point multiply code with faster ASM ARM/Coldfire versions using full 32 bit precision. Improves performance signficantly on PP5024 (~200% realtime for a 64k file) while saving a lot of memory and improving accuracy.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21939 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 23:53:40 +00:00
Jens Arnold
82dc91a102
Don't use ldrd/strd on ARMv5 since not all revisions support them and the gain from using them is minimal (basically code size only).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21916 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 09:17:54 +00:00
Mohamed Tarek
20f8666b89
Remove a call to av_clip() which limits the PCM output of the decoder to 16-bit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21911 a1c6a512-1295-4272-9138-f99709370657
2009-07-16 23:09:28 +00:00
Mohamed Tarek
cfd8b1444b
Remove an overlooked, unused float from struct COOKContext.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21909 a1c6a512-1295-4272-9138-f99709370657
2009-07-16 22:42:11 +00:00
Antonius Hellmann
c92652ecb1
Collect encoder data chunks (usually < 1kB) before writing to disk. The reduced number of ci->write() calls give a nice write speedup to the mp3 encoder.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21865 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 16:52:18 +00:00
Magnus Holmgren
fd6afc05f8
Remove a function accidentally added back in r21841.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21853 a1c6a512-1295-4272-9138-f99709370657
2009-07-14 07:53:57 +00:00
Jens Arnold
5f6998bde9
Fix cook on big endian targets. get_uint*be() is already endian agnostic due to reading
...
single bytes, so the "big endian" version was plain wrong.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21846 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 19:19:05 +00:00
Magnus Holmgren
5e2f11ad65
Import Vorbis seeking improvements from Tremor SVN.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21841 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 15:23:07 +00:00
Jens Arnold
afad93ae02
Fix another file for r12 being a scratch register. Overlooked earlier because this file used
...
literal 'r13' instead of 'sp'. Changed 'r13' to 'sp' for consistency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21838 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 13:15:28 +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
Andrew Mahone
f35db90efa
Reorder some operands to increase frequency of multiply early termination on TDMI targets, reorder some operations to try to reduce stalls.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21834 a1c6a512-1295-4272-9138-f99709370657
2009-07-13 04:50:02 +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
6258e24e0e
Some fixes for the standalone test program.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21807 a1c6a512-1295-4272-9138-f99709370657
2009-07-12 14:43:24 +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
Jens Arnold
02c031709c
* ARM asm DSP and codec/plugin functions: Use r12 scratch register properly
...
* Fix saving another unused reg in dsp code
* Use less regs in the generic ARM mpegplayer adding idct pure DC case
* Fix ARMv6 mpegplayer adding idct using an unsaved register in pure DC case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21803 a1c6a512-1295-4272-9138-f99709370657
2009-07-12 13:14:35 +00:00
Andrew Mahone
1bc67c81b6
Fix type mismatch warnings and errors exposed when building with EABI toolchain.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21769 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 00:22:26 +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
7414140f7c
Previous commit didn't fix compiling on Cygwin, this one should.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21724 a1c6a512-1295-4272-9138-f99709370657
2009-07-08 18:27:59 +00:00
Maurus Cuelenaere
269ed8a415
Fix compiling on Cygwin hosts.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21722 a1c6a512-1295-4272-9138-f99709370657
2009-07-08 18:06:38 +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
Maurus Cuelenaere
8d4d4610b6
* FS#10411 - Fixed point math code is bloated by Jeffrey Goode
...
* Set svn:keywords properties
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21701 a1c6a512-1295-4272-9138-f99709370657
2009-07-07 13:36:34 +00:00