summaryrefslogtreecommitdiff
path: root/mdct_lookup.h
Commit message (Collapse)AuthorAgeFilesLines
* Const-ify some static data tables.Tim Terriberry2010-10-131-2/+2
| | | | | | | Moral equivalent of r15937 for libvorbis. git-svn-id: https://svn.xiph.org/trunk/Tremor@17509 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Convert Tremor to use libogg instead of its own internal libogg2.Tim Terriberry2010-08-311-1/+1
| | | | | | | | | | | | | This makes it easier to use Tremor as a drop-in replacement for libvorbis and reduces code size and overhead for those who don't want to use its built-in Ogg demuxer. This commit also backports all of the changes that have accumulated in libvorbis's vorbisfile implementation, with the exception of halfrate decoding and cross-lapped seeking. Those should not be too hard to add if someone really wants them. git-svn-id: https://svn.xiph.org/trunk/Tremor@17375 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Nicolas Pitre's LOW_ACCURACY patchMonty2002-10-161-349/+521
| | | | git-svn-id: https://svn.xiph.org/trunk/Tremor@4012 0101bb08-14d6-0310-b084-bc0e0c8e3800
* const-ify a few things that really ought to be.Monty2002-10-161-2/+2
| | | | git-svn-id: https://svn.xiph.org/trunk/Tremor@4010 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Latest improvements from Nicolas Pitre. Reviewed by MontyMonty2002-09-201-344/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | From Nicolas's notes: - Includes my previous patch with interpolation code for correct accuracy with all block sizes. - Interlaces sin and cos values in the lookup table to reduce register pressure since only one pointer is required to walk the table instead of two. This also accounts for better cache locality. - Split the lookup table into two tables since half of it (one value every two) is only used in separate section of the code and only with large block sizes. Therefore the table size used for the common case is reduced by 2 accounting for yet better cache usage. - Abstracted all cross products throughout the code so they can be easily optimized. First this prevents redundant register reloads on ARM due to the implicit memory access ordering, next this allowed for the opportunity to hook some inline assembly to perform the actual operation. - Fix layout of current assembly in asm_arm.h to match GCC's output (more enjoyable to read when inspecting the final assembly) plus some constraint correctness issues. - Added a memory barrier macro to force the compiler not to cache values into registers or on the stack in some cases. - Reordered some code for better ARM assembly generation by the compiler. git-svn-id: https://svn.xiph.org/trunk/Tremor@3923 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Nicolas Pitre's newer, more polished MDCT. From his summary:Monty2002-09-131-3345/+344
| | | | | | | | | | | | | - All redundant lookup tables eliminated; - mdct_init removed; - negative operands factorized out; - loop layout to allow the compiler to nicely use the ARM's dereference with preincrement and write back addressing mode for the T and V pointers; - miscelaneous code optimisations and uniformisation. git-svn-id: https://svn.xiph.org/trunk/Tremor@3908 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Add patch to eliminate some trig redundancyMonty2002-09-101-3090/+267
| | | | | | | Also eliminate bitreverse table git-svn-id: https://svn.xiph.org/trunk/Tremor@3898 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Update headers on source files for BSD license.Monty2002-09-031-1/+4
| | | | git-svn-id: https://svn.xiph.org/trunk/Tremor@3895 0101bb08-14d6-0310-b084-bc0e0c8e3800
* Put root level of Tremor in CVSMonty2002-09-021-0/+6182
git-svn-id: https://svn.xiph.org/trunk/Tremor@3890 0101bb08-14d6-0310-b084-bc0e0c8e3800