Mohamed Tarek
685628cf18
Support for playback of atrac3 audio in rm, in sim.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22311 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:36:57 +00:00
Mohamed Tarek
4f26112b1b
Revert the asm fixmul stuff for now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22310 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 17:31:08 +00:00
Mohamed Tarek
3ee45ab7be
Use the bytestream reading functions form librm and drop bytestream.h and libavutil/
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22309 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 15:26:04 +00:00
Mohamed Tarek
466b2ae248
Factor out bytestream reading functions needed in rm parsers/codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22308 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 15:13:14 +00:00
Mohamed Tarek
0b6aa38516
Move main() outside atrac3.c and create atrac3.h
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22307 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 08:24:39 +00:00
Mohamed Tarek
ebd67b1c6f
Replace av_log() with DEBUGF and drop some now-useless files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22306 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 08:12:28 +00:00
Mohamed Tarek
4f72502329
Fix a (stupid) mistake in libatrac/atrac3.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22305 a1c6a512-1295-4272-9138-f99709370657
2009-08-14 03:41:59 +00:00
Mohamed Tarek
a0092593c9
Call the asm definitions of fixmul functions when possible.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22303 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 21:18:30 +00:00
Mohamed Tarek
b8693f9908
Remove a forgotten DEBUGF from librm/rm.c - No functional changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22300 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:56:22 +00:00
Mohamed Tarek
e17d3edf87
Remove mallocs from libatrac.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22299 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:51:03 +00:00
Mohamed Tarek
432e2ecc13
Modify libatrac to use fixed-point arithmetic.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22298 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 20:38:59 +00:00
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