MP3 Player. You can change fwd/rev speed and skip. see: http://mbed.org/users/okini3939/notebook/lpc4088_madplayer/
Dependencies: I2SSlave SDFileSystem TLV320 mbed
madplayer/config.h@0:8ba6230eefbd, 2014-02-18 (annotated)
- Committer:
- okini3939
- Date:
- Tue Feb 18 00:22:50 2014 +0000
- Revision:
- 0:8ba6230eefbd
1st build
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:8ba6230eefbd | 1 | /* |
okini3939 | 0:8ba6230eefbd | 2 | * libmad - MPEG audio decoder library |
okini3939 | 0:8ba6230eefbd | 3 | * Copyright (C) 2000-2004 Underbit Technologies, Inc. |
okini3939 | 0:8ba6230eefbd | 4 | * |
okini3939 | 0:8ba6230eefbd | 5 | * This program is free software; you can redistribute it and/or modify |
okini3939 | 0:8ba6230eefbd | 6 | * it under the terms of the GNU General Public License as published by |
okini3939 | 0:8ba6230eefbd | 7 | * the Free Software Foundation; either version 2 of the License, or |
okini3939 | 0:8ba6230eefbd | 8 | * (at your option) any later version. |
okini3939 | 0:8ba6230eefbd | 9 | * |
okini3939 | 0:8ba6230eefbd | 10 | * This program is distributed in the hope that it will be useful, |
okini3939 | 0:8ba6230eefbd | 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
okini3939 | 0:8ba6230eefbd | 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
okini3939 | 0:8ba6230eefbd | 13 | * GNU General Public License for more details. |
okini3939 | 0:8ba6230eefbd | 14 | * |
okini3939 | 0:8ba6230eefbd | 15 | * You should have received a copy of the GNU General Public License |
okini3939 | 0:8ba6230eefbd | 16 | * along with this program; if not, write to the Free Software |
okini3939 | 0:8ba6230eefbd | 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
okini3939 | 0:8ba6230eefbd | 18 | * |
okini3939 | 0:8ba6230eefbd | 19 | */ |
okini3939 | 0:8ba6230eefbd | 20 | /************************************************************************/ |
okini3939 | 0:8ba6230eefbd | 21 | /* This library has been changed by Andreas Gruen to work on an LPC1768 |
okini3939 | 0:8ba6230eefbd | 22 | * Because the available RAM is too small for decoding, it uses |
okini3939 | 0:8ba6230eefbd | 23 | * some of the AHB-RAM dedicated to the Ethernet peripheral to |
okini3939 | 0:8ba6230eefbd | 24 | * store parts of the mad_decoder structure. |
okini3939 | 0:8ba6230eefbd | 25 | * Therefore the Ethernet module cannot be used ! |
okini3939 | 0:8ba6230eefbd | 26 | * The address is defined by AHBMEM below, ~12kByte are used |
okini3939 | 0:8ba6230eefbd | 27 | * All other changes are made only to satisfy the mbed online compiler, |
okini3939 | 0:8ba6230eefbd | 28 | * which treats all files as C++ code and does not allow additional |
okini3939 | 0:8ba6230eefbd | 29 | * defines on the command line. |
okini3939 | 0:8ba6230eefbd | 30 | * The changes are: |
okini3939 | 0:8ba6230eefbd | 31 | * forced inclusion of "config.h" in all files |
okini3939 | 0:8ba6230eefbd | 32 | * forced inclusion of "mbed.h" in all files via "config.h" |
okini3939 | 0:8ba6230eefbd | 33 | * typecasts from void * |
okini3939 | 0:8ba6230eefbd | 34 | * renaming of all .c-Files to .cpp |
okini3939 | 0:8ba6230eefbd | 35 | * renaming of all .dat-Files to .h |
okini3939 | 0:8ba6230eefbd | 36 | * |
okini3939 | 0:8ba6230eefbd | 37 | * The exact changes can bee seen by a diff-tool comparing with |
okini3939 | 0:8ba6230eefbd | 38 | * the libmad-0.15.1b source. |
okini3939 | 0:8ba6230eefbd | 39 | * This modified version does no longer compile for other systems. |
okini3939 | 0:8ba6230eefbd | 40 | * There are still one compiler warning that can be ignored. |
okini3939 | 0:8ba6230eefbd | 41 | */ |
okini3939 | 0:8ba6230eefbd | 42 | |
okini3939 | 0:8ba6230eefbd | 43 | # ifndef LIBMAD_CONFIG_H |
okini3939 | 0:8ba6230eefbd | 44 | # define LIBMAD_CONFIG_H |
okini3939 | 0:8ba6230eefbd | 45 | |
okini3939 | 0:8ba6230eefbd | 46 | #if defined(TARGET_LPC1768) || defined(TARGET_LPC4088) |
okini3939 | 0:8ba6230eefbd | 47 | #include "mbed.h" |
okini3939 | 0:8ba6230eefbd | 48 | void *mad_malloc(unsigned int sz); |
okini3939 | 0:8ba6230eefbd | 49 | void reset_ahb_mem(void); |
okini3939 | 0:8ba6230eefbd | 50 | #endif |
okini3939 | 0:8ba6230eefbd | 51 | |
okini3939 | 0:8ba6230eefbd | 52 | /* config.h. Generated by configure. */ |
okini3939 | 0:8ba6230eefbd | 53 | /* config.h.in. Generated from configure.ac by autoheader. */ |
okini3939 | 0:8ba6230eefbd | 54 | |
okini3939 | 0:8ba6230eefbd | 55 | |
okini3939 | 0:8ba6230eefbd | 56 | /* used by USB |
okini3939 | 0:8ba6230eefbd | 57 | #define AHBMEM ((void *)0x2007C000) */ |
okini3939 | 0:8ba6230eefbd | 58 | |
okini3939 | 0:8ba6230eefbd | 59 | /* used by ethernet */ |
okini3939 | 0:8ba6230eefbd | 60 | #define AHBMEM ((void *)0x20080000) |
okini3939 | 0:8ba6230eefbd | 61 | #define AHBMEMSIZE 16300 |
okini3939 | 0:8ba6230eefbd | 62 | |
okini3939 | 0:8ba6230eefbd | 63 | #define FPM_DEFAULT |
okini3939 | 0:8ba6230eefbd | 64 | /* Define to enable diagnostic debugging support. */ |
okini3939 | 0:8ba6230eefbd | 65 | /* #undef DEBUG */ |
okini3939 | 0:8ba6230eefbd | 66 | |
okini3939 | 0:8ba6230eefbd | 67 | /* Define to enable experimental code. */ |
okini3939 | 0:8ba6230eefbd | 68 | /* #undef EXPERIMENTAL */ |
okini3939 | 0:8ba6230eefbd | 69 | |
okini3939 | 0:8ba6230eefbd | 70 | /* Define to 1 if you have the <assert.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 71 | /*#define HAVE_ASSERT_H 1*/ |
okini3939 | 0:8ba6230eefbd | 72 | |
okini3939 | 0:8ba6230eefbd | 73 | /* Define to 1 if you have the <dlfcn.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 74 | /* #undef HAVE_DLFCN_H */ |
okini3939 | 0:8ba6230eefbd | 75 | |
okini3939 | 0:8ba6230eefbd | 76 | /* Define to 1 if you have the <errno.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 77 | /* #define HAVE_ERRNO_H 1*/ |
okini3939 | 0:8ba6230eefbd | 78 | |
okini3939 | 0:8ba6230eefbd | 79 | /* Define to 1 if you have the `fcntl' function. */ |
okini3939 | 0:8ba6230eefbd | 80 | /* #undef HAVE_FCNTL */ |
okini3939 | 0:8ba6230eefbd | 81 | |
okini3939 | 0:8ba6230eefbd | 82 | /* Define to 1 if you have the <fcntl.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 83 | /* #define HAVE_FCNTL_H 1*/ |
okini3939 | 0:8ba6230eefbd | 84 | |
okini3939 | 0:8ba6230eefbd | 85 | /* Define to 1 if you have the `fork' function. */ |
okini3939 | 0:8ba6230eefbd | 86 | /* #undef HAVE_FORK */ |
okini3939 | 0:8ba6230eefbd | 87 | |
okini3939 | 0:8ba6230eefbd | 88 | /* Define to 1 if you have the <inttypes.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 89 | /* #define HAVE_INTTYPES_H 1*/ |
okini3939 | 0:8ba6230eefbd | 90 | |
okini3939 | 0:8ba6230eefbd | 91 | /* Define to 1 if you have the <limits.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 92 | /* #define HAVE_LIMITS_H 1*/ |
okini3939 | 0:8ba6230eefbd | 93 | |
okini3939 | 0:8ba6230eefbd | 94 | /* Define if your MIPS CPU supports a 2-operand MADD16 instruction. */ |
okini3939 | 0:8ba6230eefbd | 95 | /* #undef HAVE_MADD16_ASM */ |
okini3939 | 0:8ba6230eefbd | 96 | |
okini3939 | 0:8ba6230eefbd | 97 | /* Define if your MIPS CPU supports a 2-operand MADD instruction. */ |
okini3939 | 0:8ba6230eefbd | 98 | /* #undef HAVE_MADD_ASM */ |
okini3939 | 0:8ba6230eefbd | 99 | |
okini3939 | 0:8ba6230eefbd | 100 | /* Define to 1 if you have the <memory.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 101 | /* #define HAVE_MEMORY_H 1 */ |
okini3939 | 0:8ba6230eefbd | 102 | |
okini3939 | 0:8ba6230eefbd | 103 | /* Define to 1 if you have the `pipe' function. */ |
okini3939 | 0:8ba6230eefbd | 104 | /* #undef HAVE_PIPE */ |
okini3939 | 0:8ba6230eefbd | 105 | |
okini3939 | 0:8ba6230eefbd | 106 | /* Define to 1 if you have the <stdint.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 107 | /* #define HAVE_STDINT_H 1*/ |
okini3939 | 0:8ba6230eefbd | 108 | |
okini3939 | 0:8ba6230eefbd | 109 | /* Define to 1 if you have the <stdlib.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 110 | #define HAVE_STDLIB_H 1 |
okini3939 | 0:8ba6230eefbd | 111 | |
okini3939 | 0:8ba6230eefbd | 112 | /* Define to 1 if you have the <strings.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 113 | #define HAVE_STRINGS_H 1 |
okini3939 | 0:8ba6230eefbd | 114 | |
okini3939 | 0:8ba6230eefbd | 115 | /* Define to 1 if you have the <string.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 116 | /* #define HAVE_STRING_H 1 */ |
okini3939 | 0:8ba6230eefbd | 117 | |
okini3939 | 0:8ba6230eefbd | 118 | /* Define to 1 if you have the <sys/stat.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 119 | /* #define HAVE_SYS_STAT_H 1*/ |
okini3939 | 0:8ba6230eefbd | 120 | |
okini3939 | 0:8ba6230eefbd | 121 | /* Define to 1 if you have the <sys/types.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 122 | /* #define HAVE_SYS_TYPES_H 1*/ |
okini3939 | 0:8ba6230eefbd | 123 | |
okini3939 | 0:8ba6230eefbd | 124 | /* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */ |
okini3939 | 0:8ba6230eefbd | 125 | /* #undef HAVE_SYS_WAIT_H */ |
okini3939 | 0:8ba6230eefbd | 126 | |
okini3939 | 0:8ba6230eefbd | 127 | /* Define to 1 if you have the <unistd.h> header file. */ |
okini3939 | 0:8ba6230eefbd | 128 | /* #undef HAVE_UNISTD_H */ |
okini3939 | 0:8ba6230eefbd | 129 | |
okini3939 | 0:8ba6230eefbd | 130 | /* Define to 1 if you have the `waitpid' function. */ |
okini3939 | 0:8ba6230eefbd | 131 | /* #undef HAVE_WAITPID */ |
okini3939 | 0:8ba6230eefbd | 132 | |
okini3939 | 0:8ba6230eefbd | 133 | /* Define to disable debugging assertions. */ |
okini3939 | 0:8ba6230eefbd | 134 | /* #undef NDEBUG */ |
okini3939 | 0:8ba6230eefbd | 135 | |
okini3939 | 0:8ba6230eefbd | 136 | /* Define to optimize for accuracy over speed. */ |
okini3939 | 0:8ba6230eefbd | 137 | /* #undef OPT_ACCURACY */ |
okini3939 | 0:8ba6230eefbd | 138 | |
okini3939 | 0:8ba6230eefbd | 139 | /* Define to optimize for speed over accuracy. */ |
okini3939 | 0:8ba6230eefbd | 140 | /* #define OPT_SPEED */ |
okini3939 | 0:8ba6230eefbd | 141 | |
okini3939 | 0:8ba6230eefbd | 142 | /* Define to enable a fast subband synthesis approximation optimization. */ |
okini3939 | 0:8ba6230eefbd | 143 | /* #define OPT_SSO */ |
okini3939 | 0:8ba6230eefbd | 144 | |
okini3939 | 0:8ba6230eefbd | 145 | /* Define to influence a strict interpretation of the ISO/IEC standards, even |
okini3939 | 0:8ba6230eefbd | 146 | if this is in opposition with best accepted practices. */ |
okini3939 | 0:8ba6230eefbd | 147 | /* #undef OPT_STRICT */ |
okini3939 | 0:8ba6230eefbd | 148 | |
okini3939 | 0:8ba6230eefbd | 149 | /* Name of package */ |
okini3939 | 0:8ba6230eefbd | 150 | #define PACKAGE "libmad" |
okini3939 | 0:8ba6230eefbd | 151 | |
okini3939 | 0:8ba6230eefbd | 152 | /* Define to the address where bug reports for this package should be sent. */ |
okini3939 | 0:8ba6230eefbd | 153 | #define PACKAGE_BUGREPORT "support@underbit.com" |
okini3939 | 0:8ba6230eefbd | 154 | |
okini3939 | 0:8ba6230eefbd | 155 | /* Define to the full name of this package. */ |
okini3939 | 0:8ba6230eefbd | 156 | #define PACKAGE_NAME "MPEG Audio Decoder" |
okini3939 | 0:8ba6230eefbd | 157 | |
okini3939 | 0:8ba6230eefbd | 158 | /* Define to the full name and version of this package. */ |
okini3939 | 0:8ba6230eefbd | 159 | #define PACKAGE_STRING "MPEG Audio Decoder 0.15.1b" |
okini3939 | 0:8ba6230eefbd | 160 | |
okini3939 | 0:8ba6230eefbd | 161 | /* Define to the one symbol short name of this package. */ |
okini3939 | 0:8ba6230eefbd | 162 | #define PACKAGE_TARNAME "libmad" |
okini3939 | 0:8ba6230eefbd | 163 | |
okini3939 | 0:8ba6230eefbd | 164 | /* Define to the version of this package. */ |
okini3939 | 0:8ba6230eefbd | 165 | #define PACKAGE_VERSION "0.15.1b" |
okini3939 | 0:8ba6230eefbd | 166 | |
okini3939 | 0:8ba6230eefbd | 167 | /* The size of a `int', as computed by sizeof. */ |
okini3939 | 0:8ba6230eefbd | 168 | #define SIZEOF_INT 4 |
okini3939 | 0:8ba6230eefbd | 169 | |
okini3939 | 0:8ba6230eefbd | 170 | /* The size of a `long', as computed by sizeof. */ |
okini3939 | 0:8ba6230eefbd | 171 | #define SIZEOF_LONG 4 |
okini3939 | 0:8ba6230eefbd | 172 | |
okini3939 | 0:8ba6230eefbd | 173 | /* The size of a `long long', as computed by sizeof. */ |
okini3939 | 0:8ba6230eefbd | 174 | #define SIZEOF_LONG_LONG 8 |
okini3939 | 0:8ba6230eefbd | 175 | |
okini3939 | 0:8ba6230eefbd | 176 | /* Define to 1 if you have the ANSI C header files. */ |
okini3939 | 0:8ba6230eefbd | 177 | #define STDC_HEADERS 1 |
okini3939 | 0:8ba6230eefbd | 178 | |
okini3939 | 0:8ba6230eefbd | 179 | /* Version number of package */ |
okini3939 | 0:8ba6230eefbd | 180 | #define VERSION "0.15.1b" |
okini3939 | 0:8ba6230eefbd | 181 | |
okini3939 | 0:8ba6230eefbd | 182 | /* Define to empty if `const' does not conform to ANSI C. */ |
okini3939 | 0:8ba6230eefbd | 183 | /* #undef const */ |
okini3939 | 0:8ba6230eefbd | 184 | |
okini3939 | 0:8ba6230eefbd | 185 | /* Define as `__inline' if that's what the C compiler calls it, or to nothing |
okini3939 | 0:8ba6230eefbd | 186 | if it is not supported. */ |
okini3939 | 0:8ba6230eefbd | 187 | #define inline |
okini3939 | 0:8ba6230eefbd | 188 | |
okini3939 | 0:8ba6230eefbd | 189 | /* Define to `int' if <sys/types.h> does not define. */ |
okini3939 | 0:8ba6230eefbd | 190 | /* #undef pid_t */ |
okini3939 | 0:8ba6230eefbd | 191 | |
okini3939 | 0:8ba6230eefbd | 192 | |
okini3939 | 0:8ba6230eefbd | 193 | /* Define mad_malloc to malloc if no special mem handling required */ |
okini3939 | 0:8ba6230eefbd | 194 | |
okini3939 | 0:8ba6230eefbd | 195 | #endif |