rockbox/apps/codecs/libtremor
Nils Wallménius 87ecc7020e Improved bitrev with approach suggested by Jens Arnold, gives 0.5%-1% speedup for tremor decoding on sansa c200 (PP) and a tiny speedup on coldfire as well
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24102 a1c6a512-1295-4272-9138-f99709370657
2009-12-23 18:05:11 +00:00
..
asm_arm.h Fix condition code clobbers (and one TAB) for inline arm code in lib and libtremor 2009-08-29 12:07:32 +00:00
asm_mcf5249.h Commit FS#9882 - make better use of iram at different quality encodings, remove redundant memsets, implement doublebuffer if it will fit in iram to save a mempcy each frame, and some alignment fixes for coldfire 2009-04-25 11:25:13 +00:00
backends.h
bitwise.c Commit FS#9915 by Sei Aoyumi. Adds hints to help GCC better optimize vorbis decoding. Gives a minor speed increase. 2009-02-17 17:01:09 +00:00
block.c Fix for FS#10492, by Aoyumi: Data abort errors when playing some Vorbis files. 2009-09-07 19:39:51 +00:00
CHANGELOG
codebook.c Improved bitrev with approach suggested by Jens Arnold, gives 0.5%-1% speedup for tremor decoding on sansa c200 (PP) and a tiny speedup on coldfire as well 2009-12-23 18:05:11 +00:00
codebook.h
codec_internal.h
config-tremor.h Make the codecs use more IRAM on S5L870x, as we have plenty of it. 2009-11-09 20:01:07 +00:00
config_types.h
COPYING
ctype.c
floor0.c Remove floor0 stuff from IRAM. Results in a tiny speed decrease for files encoded with 6+ year old versions of the Xiph encoder, but saves IRAM which can be better used elsewhere. Thanks Nils Wallmenius in FS#7832 for the idea. 2009-01-21 18:22:46 +00:00
floor1.c Remove inline asm that hasn't been useful for years, no speed difference 2009-12-10 21:43:59 +00:00
framing.c Add STATICIRAM_NOT_MDCT as a workaround for the gcc bug where static functions are not long called. This is currently only an issue on the Nano2G (S5L8701 CPU) which is the only ARM target with enough IRAM for these functions. Also add multiple-inclusion protection for config-tremor.h. All plugins and codecs now compile cleanly for the Nano2G. 2009-10-04 08:49:23 +00:00
info.c Import Vorbis seeking improvements from Tremor SVN. 2009-07-13 15:23:07 +00:00
ivorbiscodec.h Fix for FS#10492, by Aoyumi: Data abort errors when playing some Vorbis files. 2009-09-07 19:39:51 +00:00
ivorbisfile.h
libtremor.make Silence warning from 'ar' if the archive had to be created. 2009-03-01 09:04:15 +00:00
lsp_lookup.h Remove floor0 stuff from IRAM. Results in a tiny speed decrease for files encoded with 6+ year old versions of the Xiph encoder, but saves IRAM which can be better used elsewhere. Thanks Nils Wallmenius in FS#7832 for the idea. 2009-01-21 18:22:46 +00:00
mapping0.c Comment var only used by already commented out debug code, delete #if 0'ed block move a comment and fix some broken indentation 2009-12-12 16:37:44 +00:00
misc.h Commit FS#9882 - make better use of iram at different quality encodings, remove redundant memsets, implement doublebuffer if it will fit in iram to save a mempcy each frame, and some alignment fixes for coldfire 2009-04-25 11:25:13 +00:00
ogg.h Commit FS#9915 by Sei Aoyumi. Adds hints to help GCC better optimize vorbis decoding. Gives a minor speed increase. 2009-02-17 17:01:09 +00:00
oggmalloc.c FS#10466: Introduce a real malloc for tremor. 2009-08-29 12:23:40 +00:00
os.h Fix warning on new gcc for checking value or truth of undefined _WIN32 and MIPS. 2009-11-20 02:51:10 +00:00
os_types.h FS#10466: Introduce a real malloc for tremor. 2009-08-29 12:23:40 +00:00
README
README.rockbox
registry.c
registry.h
res012.c Commit FS#9882 - make better use of iram at different quality encodings, remove redundant memsets, implement doublebuffer if it will fit in iram to save a mempcy each frame, and some alignment fixes for coldfire 2009-04-25 11:25:13 +00:00
sharedbook.c FS#10466: Introduce a real malloc for tremor. 2009-08-29 12:23:40 +00:00
SOURCES
synthesis.c Fix for FS#10492, by Aoyumi: Data abort errors when playing some Vorbis files. 2009-09-07 19:39:51 +00:00
vorbisfile.c Add STATICIRAM_NOT_MDCT as a workaround for the gcc bug where static functions are not long called. This is currently only an issue on the Nano2G (S5L8701 CPU) which is the only ARM target with enough IRAM for these functions. Also add multiple-inclusion protection for config-tremor.h. All plugins and codecs now compile cleanly for the Nano2G. 2009-10-04 08:49:23 +00:00
window.c Commit FS#9882 - make better use of iram at different quality encodings, remove redundant memsets, implement doublebuffer if it will fit in iram to save a mempcy each frame, and some alignment fixes for coldfire 2009-04-25 11:25:13 +00:00
window.h
window_lookup.h Commit FS#9882 - make better use of iram at different quality encodings, remove redundant memsets, implement doublebuffer if it will fit in iram to save a mempcy each frame, and some alignment fixes for coldfire 2009-04-25 11:25:13 +00:00

This README covers the Ogg Vorbis 'Tremor' integer playback codec
source as of date 2002 09 02, version 1.0.0.

                            ******

The C source in this package will build on any ANSI C compiler and
function completely and properly on any platform.  The included build
system assumes GNU build system and make tools (m4, automake,
autoconf, libtool and gmake).  GCC is not required, although GCC is
the most tested compiler.  To build using GNU tools, type in the
source directory:

./autogen.sh
make

Currently, the source implements playback in pure C on all platforms
except ARM, where a [currently] small amount of assembly (see
asm_arm.h) is used to implement 64 bit math operations and fast LSP
computation.  If building on ARM without the benefit of GNU build
system tools, be sure that '_ARM_ASSEM_' is #defined by the build
system if this assembly is desired, else the resulting library will
use whatever 64 bit math builtins the compiler implements.

No math library is required by this source.  No floating point
operations are used at any point in either setup or decode.  This
decoder library will properly decode any past, current or future
Vorbis I file or stream.

                           ********

The build system produces a static and [when supported by the OS]
dynamic library named 'libvorbisidec'.  This library exposes an API
nearly identical to the BSD reference library's 'libvorbisfile',
including all the features familiar to users of vorbisfile.  This API
is similar enough that the proper header file to include is named
'ivorbisfile.h' [included in the source build directory].  Lower level
libvorbis-style headers and structures are in 'ivorbiscodec.h'
[included in the source build directory]. A simple example program,
ivorbisfile_example.c, can be built with 'make example'.

                           ********

Detailed Tremor API Documentation begins at doc/index.html

Monty
xiph.org