building codec tests!
This commit is contained in:
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
libmad - MPEG audio decoder library
|
libmad - MPEG audio decoder library
|
||||||
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
||||||
|
|
||||||
$Id: CHANGES,v 1.14 2004/02/17 02:02:03 rob Exp $
|
$Id: CHANGES,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/include")
|
||||||
|
idf_component_register(
|
||||||
|
SRCS bit.c decoder.c fixed.c frame.c huffman.c layer12.c layer3.c stream.c
|
||||||
|
synth.c timer.c version.c
|
||||||
|
INCLUDE_DIRS "${CMAKE_BINARY_DIR}/include"
|
||||||
|
PRIV_INCLUDE_DIRS ".")
|
||||||
|
|
||||||
|
set (MAD_H "${CMAKE_BINARY_DIR}/include/mad.h")
|
||||||
|
configure_file( "${COMPONENT_DIR}/config.h.in" "${CMAKE_BINARY_DIR}/include/config.h" )
|
||||||
|
configure_file( "${COMPONENT_DIR}/mad.h.in" "${MAD_H}" )
|
||||||
|
|
||||||
|
set(EXPORTED_HEADERS
|
||||||
|
detect_fpm.h
|
||||||
|
version.h
|
||||||
|
fixed.h
|
||||||
|
bit.h
|
||||||
|
timer.h
|
||||||
|
stream.h
|
||||||
|
frame.h
|
||||||
|
synth.h
|
||||||
|
decoder.h
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach( header ${EXPORTED_HEADERS} )
|
||||||
|
file( READ "${COMPONENT_DIR}/${header}" HEADER_DATA )
|
||||||
|
string( REPLACE "# include" "// # include" HEADER_DATA_REPLACED "${HEADER_DATA}")
|
||||||
|
file( APPEND ${MAD_H} "// \"${header}\"\n\n${HEADER_DATA_REPLACED}\n" )
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
file( APPEND ${MAD_H} "# ifdef __cplusplus\n}\n# endif\n#endif\n" )
|
||||||
|
|
||||||
|
target_compile_definitions(${COMPONENT_LIB}
|
||||||
|
PRIVATE
|
||||||
|
HAVE_CONFIG_H
|
||||||
|
${FPM}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_options(${COMPONENT_LIB}
|
||||||
|
PRIVATE
|
||||||
|
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-Wall>
|
||||||
|
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-Wno-implicit-function-declaration>
|
||||||
|
$<$<C_COMPILER_ID:AppleClang,Clang,GNU>:-fPIC>
|
||||||
|
)
|
||||||
|
|
||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
libmad - MPEG audio decoder library
|
libmad - MPEG audio decoder library
|
||||||
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
||||||
|
|
||||||
$Id: CREDITS,v 1.5 2004/02/17 02:02:03 rob Exp $
|
$Id: CREDITS,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: D.dat,v 1.9 2004/01/23 09:41:32 rob Exp $
|
* $Id: D.dat,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
+109
-294
@@ -1,368 +1,183 @@
|
|||||||
Installation Instructions
|
|
||||||
*************************
|
|
||||||
|
|
||||||
Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
|
|
||||||
Software Foundation, Inc.
|
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
|
||||||
are permitted in any medium without royalty provided the copyright
|
|
||||||
notice and this notice are preserved. This file is offered as-is,
|
|
||||||
without warranty of any kind.
|
|
||||||
|
|
||||||
Basic Installation
|
Basic Installation
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Briefly, the shell command './configure && make && make install'
|
These are generic installation instructions.
|
||||||
should configure, build, and install this package. The following
|
|
||||||
more-detailed instructions are generic; see the 'README' file for
|
|
||||||
instructions specific to this package. Some packages provide this
|
|
||||||
'INSTALL' file but do not implement all of the features documented
|
|
||||||
below. The lack of an optional feature in a given package is not
|
|
||||||
necessarily a bug. More recommendations for GNU packages can be found
|
|
||||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
|
||||||
|
|
||||||
The 'configure' shell script attempts to guess correct values for
|
The `configure' shell script attempts to guess correct values for
|
||||||
various system-dependent variables used during compilation. It uses
|
various system-dependent variables used during compilation. It uses
|
||||||
those values to create a 'Makefile' in each directory of the package.
|
those values to create a `Makefile' in each directory of the package.
|
||||||
It may also create one or more '.h' files containing system-dependent
|
It may also create one or more `.h' files containing system-dependent
|
||||||
definitions. Finally, it creates a shell script 'config.status' that
|
definitions. Finally, it creates a shell script `config.status' that
|
||||||
you can run in the future to recreate the current configuration, and a
|
you can run in the future to recreate the current configuration, a file
|
||||||
file 'config.log' containing compiler output (useful mainly for
|
`config.cache' that saves the results of its tests to speed up
|
||||||
debugging 'configure').
|
reconfiguring, and a file `config.log' containing compiler output
|
||||||
|
(useful mainly for debugging `configure').
|
||||||
It can also use an optional file (typically called 'config.cache' and
|
|
||||||
enabled with '--cache-file=config.cache' or simply '-C') that saves the
|
|
||||||
results of its tests to speed up reconfiguring. Caching is disabled by
|
|
||||||
default to prevent problems with accidental use of stale cache files.
|
|
||||||
|
|
||||||
If you need to do unusual things to compile the package, please try
|
If you need to do unusual things to compile the package, please try
|
||||||
to figure out how 'configure' could check whether to do them, and mail
|
to figure out how `configure' could check whether to do them, and mail
|
||||||
diffs or instructions to the address given in the 'README' so they can
|
diffs or instructions to the address given in the `README' so they can
|
||||||
be considered for the next release. If you are using the cache, and at
|
be considered for the next release. If at some point `config.cache'
|
||||||
some point 'config.cache' contains results you don't want to keep, you
|
contains results you don't want to keep, you may remove or edit it.
|
||||||
may remove or edit it.
|
|
||||||
|
|
||||||
The file 'configure.ac' (or 'configure.in') is used to create
|
The file `configure.in' is used to create `configure' by a program
|
||||||
'configure' by a program called 'autoconf'. You need 'configure.ac' if
|
called `autoconf'. You only need `configure.in' if you want to change
|
||||||
you want to change it or regenerate 'configure' using a newer version of
|
it or regenerate `configure' using a newer version of `autoconf'.
|
||||||
'autoconf'.
|
|
||||||
|
|
||||||
The simplest way to compile this package is:
|
The simplest way to compile this package is:
|
||||||
|
|
||||||
1. 'cd' to the directory containing the package's source code and type
|
1. `cd' to the directory containing the package's source code and type
|
||||||
'./configure' to configure the package for your system.
|
`./configure' to configure the package for your system. If you're
|
||||||
|
using `csh' on an old version of System V, you might need to type
|
||||||
|
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||||
|
`configure' itself.
|
||||||
|
|
||||||
Running 'configure' might take a while. While running, it prints
|
Running `configure' takes awhile. While running, it prints some
|
||||||
some messages telling which features it is checking for.
|
messages telling which features it is checking for.
|
||||||
|
|
||||||
2. Type 'make' to compile the package.
|
2. Type `make' to compile the package.
|
||||||
|
|
||||||
3. Optionally, type 'make check' to run any self-tests that come with
|
3. Optionally, type `make check' to run any self-tests that come with
|
||||||
the package, generally using the just-built uninstalled binaries.
|
the package.
|
||||||
|
|
||||||
4. Type 'make install' to install the programs and any data files and
|
4. Type `make install' to install the programs and any data files and
|
||||||
documentation. When installing into a prefix owned by root, it is
|
documentation.
|
||||||
recommended that the package be configured and built as a regular
|
|
||||||
user, and only the 'make install' phase executed with root
|
|
||||||
privileges.
|
|
||||||
|
|
||||||
5. Optionally, type 'make installcheck' to repeat any self-tests, but
|
5. You can remove the program binaries and object files from the
|
||||||
this time using the binaries in their final installed location.
|
source code directory by typing `make clean'. To also remove the
|
||||||
This target does not install anything. Running this target as a
|
files that `configure' created (so you can compile the package for
|
||||||
regular user, particularly if the prior 'make install' required
|
a different kind of computer), type `make distclean'. There is
|
||||||
root privileges, verifies that the installation completed
|
also a `make maintainer-clean' target, but that is intended mainly
|
||||||
correctly.
|
|
||||||
|
|
||||||
6. You can remove the program binaries and object files from the
|
|
||||||
source code directory by typing 'make clean'. To also remove the
|
|
||||||
files that 'configure' created (so you can compile the package for
|
|
||||||
a different kind of computer), type 'make distclean'. There is
|
|
||||||
also a 'make maintainer-clean' target, but that is intended mainly
|
|
||||||
for the package's developers. If you use it, you may have to get
|
for the package's developers. If you use it, you may have to get
|
||||||
all sorts of other programs in order to regenerate files that came
|
all sorts of other programs in order to regenerate files that came
|
||||||
with the distribution.
|
with the distribution.
|
||||||
|
|
||||||
7. Often, you can also type 'make uninstall' to remove the installed
|
|
||||||
files again. In practice, not all packages have tested that
|
|
||||||
uninstallation works correctly, even though it is required by the
|
|
||||||
GNU Coding Standards.
|
|
||||||
|
|
||||||
8. Some packages, particularly those that use Automake, provide 'make
|
|
||||||
distcheck', which can by used by developers to test that all other
|
|
||||||
targets like 'make install' and 'make uninstall' work correctly.
|
|
||||||
This target is generally not run by end users.
|
|
||||||
|
|
||||||
Compilers and Options
|
Compilers and Options
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Some systems require unusual options for compilation or linking that
|
Some systems require unusual options for compilation or linking that
|
||||||
the 'configure' script does not know about. Run './configure --help'
|
the `configure' script does not know about. You can give `configure'
|
||||||
for details on some of the pertinent environment variables.
|
initial values for variables by setting them in the environment. Using
|
||||||
|
a Bourne-compatible shell, you can do that on the command line like
|
||||||
|
this:
|
||||||
|
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||||
|
|
||||||
You can give 'configure' initial values for configuration parameters
|
Or on systems that have the `env' program, you can do it like this:
|
||||||
by setting variables in the command line or in the environment. Here is
|
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||||
an example:
|
|
||||||
|
|
||||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
|
||||||
|
|
||||||
*Note Defining Variables::, for more details.
|
|
||||||
|
|
||||||
Compiling For Multiple Architectures
|
Compiling For Multiple Architectures
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
You can compile the package for more than one kind of computer at the
|
You can compile the package for more than one kind of computer at the
|
||||||
same time, by placing the object files for each architecture in their
|
same time, by placing the object files for each architecture in their
|
||||||
own directory. To do this, you can use GNU 'make'. 'cd' to the
|
own directory. To do this, you must use a version of `make' that
|
||||||
|
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||||
directory where you want the object files and executables to go and run
|
directory where you want the object files and executables to go and run
|
||||||
the 'configure' script. 'configure' automatically checks for the source
|
the `configure' script. `configure' automatically checks for the
|
||||||
code in the directory that 'configure' is in and in '..'. This is known
|
source code in the directory that `configure' is in and in `..'.
|
||||||
as a "VPATH" build.
|
|
||||||
|
|
||||||
With a non-GNU 'make', it is safer to compile the package for one
|
If you have to use a `make' that does not supports the `VPATH'
|
||||||
architecture at a time in the source code directory. After you have
|
variable, you have to compile the package for one architecture at a time
|
||||||
installed the package for one architecture, use 'make distclean' before
|
in the source code directory. After you have installed the package for
|
||||||
reconfiguring for another architecture.
|
one architecture, use `make distclean' before reconfiguring for another
|
||||||
|
architecture.
|
||||||
On MacOS X 10.5 and later systems, you can create libraries and
|
|
||||||
executables that work on multiple system types--known as "fat" or
|
|
||||||
"universal" binaries--by specifying multiple '-arch' options to the
|
|
||||||
compiler but only a single '-arch' option to the preprocessor. Like
|
|
||||||
this:
|
|
||||||
|
|
||||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
|
||||||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
|
||||||
CPP="gcc -E" CXXCPP="g++ -E"
|
|
||||||
|
|
||||||
This is not guaranteed to produce working output in all cases, you
|
|
||||||
may have to build one architecture at a time and combine the results
|
|
||||||
using the 'lipo' tool if you have problems.
|
|
||||||
|
|
||||||
Installation Names
|
Installation Names
|
||||||
==================
|
==================
|
||||||
|
|
||||||
By default, 'make install' installs the package's commands under
|
By default, `make install' will install the package's files in
|
||||||
'/usr/local/bin', include files under '/usr/local/include', etc. You
|
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||||
can specify an installation prefix other than '/usr/local' by giving
|
installation prefix other than `/usr/local' by giving `configure' the
|
||||||
'configure' the option '--prefix=PREFIX', where PREFIX must be an
|
option `--prefix=PATH'.
|
||||||
absolute file name.
|
|
||||||
|
|
||||||
You can specify separate installation prefixes for
|
You can specify separate installation prefixes for
|
||||||
architecture-specific files and architecture-independent files. If you
|
architecture-specific files and architecture-independent files. If you
|
||||||
pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
|
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||||
PREFIX as the prefix for installing programs and libraries.
|
PATH as the prefix for installing programs and libraries.
|
||||||
Documentation and other data files still use the regular prefix.
|
Documentation and other data files will still use the regular prefix.
|
||||||
|
|
||||||
In addition, if you use an unusual directory layout you can give
|
In addition, if you use an unusual directory layout you can give
|
||||||
options like '--bindir=DIR' to specify different values for particular
|
options like `--bindir=PATH' to specify different values for particular
|
||||||
kinds of files. Run 'configure --help' for a list of the directories
|
kinds of files. Run `configure --help' for a list of the directories
|
||||||
you can set and what kinds of files go in them. In general, the default
|
you can set and what kinds of files go in them.
|
||||||
for these options is expressed in terms of '${prefix}', so that
|
|
||||||
specifying just '--prefix' will affect all of the other directory
|
|
||||||
specifications that were not explicitly provided.
|
|
||||||
|
|
||||||
The most portable way to affect installation locations is to pass the
|
If the package supports it, you can cause programs to be installed
|
||||||
correct locations to 'configure'; however, many packages provide one or
|
with an extra prefix or suffix on their names by giving `configure' the
|
||||||
both of the following shortcuts of passing variable assignments to the
|
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||||
'make install' command line to change installation locations without
|
|
||||||
having to reconfigure or recompile.
|
|
||||||
|
|
||||||
The first method involves providing an override variable for each
|
|
||||||
affected directory. For example, 'make install
|
|
||||||
prefix=/alternate/directory' will choose an alternate location for all
|
|
||||||
directory configuration variables that were expressed in terms of
|
|
||||||
'${prefix}'. Any directories that were specified during 'configure',
|
|
||||||
but not in terms of '${prefix}', must each be overridden at install time
|
|
||||||
for the entire installation to be relocated. The approach of makefile
|
|
||||||
variable overrides for each directory variable is required by the GNU
|
|
||||||
Coding Standards, and ideally causes no recompilation. However, some
|
|
||||||
platforms have known limitations with the semantics of shared libraries
|
|
||||||
that end up requiring recompilation when using this method, particularly
|
|
||||||
noticeable in packages that use GNU Libtool.
|
|
||||||
|
|
||||||
The second method involves providing the 'DESTDIR' variable. For
|
|
||||||
example, 'make install DESTDIR=/alternate/directory' will prepend
|
|
||||||
'/alternate/directory' before all installation names. The approach of
|
|
||||||
'DESTDIR' overrides is not required by the GNU Coding Standards, and
|
|
||||||
does not work on platforms that have drive letters. On the other hand,
|
|
||||||
it does better at avoiding recompilation issues, and works well even
|
|
||||||
when some directory options were not specified in terms of '${prefix}'
|
|
||||||
at 'configure' time.
|
|
||||||
|
|
||||||
Optional Features
|
Optional Features
|
||||||
=================
|
=================
|
||||||
|
|
||||||
If the package supports it, you can cause programs to be installed
|
Some packages pay attention to `--enable-FEATURE' options to
|
||||||
with an extra prefix or suffix on their names by giving 'configure' the
|
`configure', where FEATURE indicates an optional part of the package.
|
||||||
option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
|
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||||
|
is something like `gnu-as' or `x' (for the X Window System). The
|
||||||
Some packages pay attention to '--enable-FEATURE' options to
|
`README' should mention any `--enable-' and `--with-' options that the
|
||||||
'configure', where FEATURE indicates an optional part of the package.
|
|
||||||
They may also pay attention to '--with-PACKAGE' options, where PACKAGE
|
|
||||||
is something like 'gnu-as' or 'x' (for the X Window System). The
|
|
||||||
'README' should mention any '--enable-' and '--with-' options that the
|
|
||||||
package recognizes.
|
package recognizes.
|
||||||
|
|
||||||
For packages that use the X Window System, 'configure' can usually
|
For packages that use the X Window System, `configure' can usually
|
||||||
find the X include and library files automatically, but if it doesn't,
|
find the X include and library files automatically, but if it doesn't,
|
||||||
you can use the 'configure' options '--x-includes=DIR' and
|
you can use the `configure' options `--x-includes=DIR' and
|
||||||
'--x-libraries=DIR' to specify their locations.
|
`--x-libraries=DIR' to specify their locations.
|
||||||
|
|
||||||
Some packages offer the ability to configure how verbose the
|
|
||||||
execution of 'make' will be. For these packages, running './configure
|
|
||||||
--enable-silent-rules' sets the default to minimal output, which can be
|
|
||||||
overridden with 'make V=1'; while running './configure
|
|
||||||
--disable-silent-rules' sets the default to verbose, which can be
|
|
||||||
overridden with 'make V=0'.
|
|
||||||
|
|
||||||
Particular systems
|
|
||||||
==================
|
|
||||||
|
|
||||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
|
|
||||||
is not installed, it is recommended to use the following options in
|
|
||||||
order to use an ANSI C compiler:
|
|
||||||
|
|
||||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
|
||||||
|
|
||||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
|
||||||
|
|
||||||
HP-UX 'make' updates targets which have the same timestamps as their
|
|
||||||
prerequisites, which makes it generally unusable when shipped generated
|
|
||||||
files such as 'configure' are involved. Use GNU 'make' instead.
|
|
||||||
|
|
||||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
|
||||||
parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
|
|
||||||
workaround. If GNU CC is not installed, it is therefore recommended to
|
|
||||||
try
|
|
||||||
|
|
||||||
./configure CC="cc"
|
|
||||||
|
|
||||||
and if that doesn't work, try
|
|
||||||
|
|
||||||
./configure CC="cc -nodtk"
|
|
||||||
|
|
||||||
On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
|
|
||||||
directory contains several dysfunctional programs; working variants of
|
|
||||||
these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
|
|
||||||
in your 'PATH', put it _after_ '/usr/bin'.
|
|
||||||
|
|
||||||
On Haiku, software installed for all users goes in '/boot/common',
|
|
||||||
not '/usr/local'. It is recommended to use the following options:
|
|
||||||
|
|
||||||
./configure --prefix=/boot/common
|
|
||||||
|
|
||||||
Specifying the System Type
|
Specifying the System Type
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
There may be some features 'configure' cannot figure out
|
There may be some features `configure' can not figure out
|
||||||
automatically, but needs to determine by the type of machine the package
|
automatically, but needs to determine by the type of host the package
|
||||||
will run on. Usually, assuming the package is built to be run on the
|
will run on. Usually `configure' can figure that out, but if it prints
|
||||||
_same_ architectures, 'configure' can figure that out, but if it prints
|
a message saying it can not guess the host type, give it the
|
||||||
a message saying it cannot guess the machine type, give it the
|
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||||
'--build=TYPE' option. TYPE can either be a short name for the system
|
type, such as `sun4', or a canonical name with three fields:
|
||||||
type, such as 'sun4', or a canonical name which has the form:
|
|
||||||
|
|
||||||
CPU-COMPANY-SYSTEM
|
CPU-COMPANY-SYSTEM
|
||||||
|
|
||||||
where SYSTEM can have one of these forms:
|
See the file `config.sub' for the possible values of each field. If
|
||||||
|
`config.sub' isn't included in this package, then this package doesn't
|
||||||
|
need to know the host type.
|
||||||
|
|
||||||
OS
|
If you are building compiler tools for cross-compiling, you can also
|
||||||
KERNEL-OS
|
use the `--target=TYPE' option to select the type of system they will
|
||||||
|
produce code for and the `--build=TYPE' option to select the type of
|
||||||
See the file 'config.sub' for the possible values of each field. If
|
system on which you are compiling the package.
|
||||||
'config.sub' isn't included in this package, then this package doesn't
|
|
||||||
need to know the machine type.
|
|
||||||
|
|
||||||
If you are _building_ compiler tools for cross-compiling, you should
|
|
||||||
use the option '--target=TYPE' to select the type of system they will
|
|
||||||
produce code for.
|
|
||||||
|
|
||||||
If you want to _use_ a cross compiler, that generates code for a
|
|
||||||
platform different from the build platform, you should specify the
|
|
||||||
"host" platform (i.e., that on which the generated programs will
|
|
||||||
eventually be run) with '--host=TYPE'.
|
|
||||||
|
|
||||||
Sharing Defaults
|
Sharing Defaults
|
||||||
================
|
================
|
||||||
|
|
||||||
If you want to set default values for 'configure' scripts to share,
|
If you want to set default values for `configure' scripts to share,
|
||||||
you can create a site shell script called 'config.site' that gives
|
you can create a site shell script called `config.site' that gives
|
||||||
default values for variables like 'CC', 'cache_file', and 'prefix'.
|
default values for variables like `CC', `cache_file', and `prefix'.
|
||||||
'configure' looks for 'PREFIX/share/config.site' if it exists, then
|
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||||
'PREFIX/etc/config.site' if it exists. Or, you can set the
|
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||||
'CONFIG_SITE' environment variable to the location of the site script.
|
`CONFIG_SITE' environment variable to the location of the site script.
|
||||||
A warning: not all 'configure' scripts look for a site script.
|
A warning: not all `configure' scripts look for a site script.
|
||||||
|
|
||||||
Defining Variables
|
Operation Controls
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Variables not defined in a site shell script can be set in the
|
`configure' recognizes the following options to control how it
|
||||||
environment passed to 'configure'. However, some packages may run
|
|
||||||
configure again during the build, and the customized values of these
|
|
||||||
variables may be lost. In order to avoid this problem, you should set
|
|
||||||
them in the 'configure' command line, using 'VAR=value'. For example:
|
|
||||||
|
|
||||||
./configure CC=/usr/local2/bin/gcc
|
|
||||||
|
|
||||||
causes the specified 'gcc' to be used as the C compiler (unless it is
|
|
||||||
overridden in the site shell script).
|
|
||||||
|
|
||||||
Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
|
|
||||||
Autoconf limitation. Until the limitation is lifted, you can use this
|
|
||||||
workaround:
|
|
||||||
|
|
||||||
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
|
||||||
|
|
||||||
'configure' Invocation
|
|
||||||
======================
|
|
||||||
|
|
||||||
'configure' recognizes the following options to control how it
|
|
||||||
operates.
|
operates.
|
||||||
|
|
||||||
'--help'
|
`--cache-file=FILE'
|
||||||
'-h'
|
Use and save the results of the tests in FILE instead of
|
||||||
Print a summary of all of the options to 'configure', and exit.
|
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||||
|
debugging `configure'.
|
||||||
|
|
||||||
'--help=short'
|
`--help'
|
||||||
'--help=recursive'
|
Print a summary of the options to `configure', and exit.
|
||||||
Print a summary of the options unique to this package's
|
|
||||||
'configure', and exit. The 'short' variant lists options used only
|
|
||||||
in the top level, while the 'recursive' variant lists options also
|
|
||||||
present in any nested packages.
|
|
||||||
|
|
||||||
'--version'
|
`--quiet'
|
||||||
'-V'
|
`--silent'
|
||||||
Print the version of Autoconf used to generate the 'configure'
|
`-q'
|
||||||
script, and exit.
|
|
||||||
|
|
||||||
'--cache-file=FILE'
|
|
||||||
Enable the cache: use and save the results of the tests in FILE,
|
|
||||||
traditionally 'config.cache'. FILE defaults to '/dev/null' to
|
|
||||||
disable caching.
|
|
||||||
|
|
||||||
'--config-cache'
|
|
||||||
'-C'
|
|
||||||
Alias for '--cache-file=config.cache'.
|
|
||||||
|
|
||||||
'--quiet'
|
|
||||||
'--silent'
|
|
||||||
'-q'
|
|
||||||
Do not print messages saying which checks are being made. To
|
Do not print messages saying which checks are being made. To
|
||||||
suppress all normal output, redirect it to '/dev/null' (any error
|
suppress all normal output, redirect it to `/dev/null' (any error
|
||||||
messages will still be shown).
|
messages will still be shown).
|
||||||
|
|
||||||
'--srcdir=DIR'
|
`--srcdir=DIR'
|
||||||
Look for the package's source code in directory DIR. Usually
|
Look for the package's source code in directory DIR. Usually
|
||||||
'configure' can determine that directory automatically.
|
`configure' can determine that directory automatically.
|
||||||
|
|
||||||
'--prefix=DIR'
|
`--version'
|
||||||
Use DIR as the installation prefix. *note Installation Names:: for
|
Print the version of Autoconf used to generate the `configure'
|
||||||
more details, including other options available for fine-tuning the
|
script, and exit.
|
||||||
installation locations.
|
|
||||||
|
|
||||||
'--no-create'
|
`configure' also accepts some other, not widely useful, options.
|
||||||
'-n'
|
|
||||||
Run the configure checks, but stop before creating any output
|
|
||||||
files.
|
|
||||||
|
|
||||||
'configure' also accepts some other, not widely useful, options. Run
|
|
||||||
'configure --help' for more details.
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
## along with this program; if not, write to the Free Software
|
## along with this program; if not, write to the Free Software
|
||||||
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
##
|
##
|
||||||
## $Id: Makefile.am,v 1.23 2004/02/17 02:02:03 rob Exp $
|
## $Id: Makefile.am,v 1.4 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
##
|
##
|
||||||
|
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|||||||
+77
-141
@@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -16,17 +16,7 @@
|
|||||||
|
|
||||||
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__is_gnu_make = { \
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
if test -z '$(MAKELEVEL)'; then \
|
|
||||||
false; \
|
|
||||||
elif test -n '$(MAKE_HOST)'; then \
|
|
||||||
true; \
|
|
||||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
|
||||||
true; \
|
|
||||||
else \
|
|
||||||
false; \
|
|
||||||
fi; \
|
|
||||||
}
|
|
||||||
am__make_running_with_option = \
|
am__make_running_with_option = \
|
||||||
case $${target_option-} in \
|
case $${target_option-} in \
|
||||||
?) ;; \
|
?) ;; \
|
||||||
@@ -91,12 +81,15 @@ build_triplet = @build@
|
|||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
EXTRA_PROGRAMS = minimad$(EXEEXT)
|
EXTRA_PROGRAMS = minimad$(EXEEXT)
|
||||||
subdir = .
|
subdir = .
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
|
$(top_srcdir)/configure $(am__configure_deps) acconfig.h \
|
||||||
|
$(srcdir)/config.h.in mkinstalldirs $(srcdir)/libmad.list.in \
|
||||||
|
depcomp $(include_HEADERS) COPYING INSTALL README TODO compile \
|
||||||
|
config.guess config.sub install-sh missing ltmain.sh
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
|
||||||
$(am__configure_deps) $(include_HEADERS) $(am__DIST_COMMON)
|
|
||||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||||
configure.lineno config.status.lineno
|
configure.lineno config.status.lineno
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
@@ -162,18 +155,11 @@ am__v_at_0 = @
|
|||||||
am__v_at_1 =
|
am__v_at_1 =
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__maybe_remake_depfiles = depfiles
|
am__depfiles_maybe = depfiles
|
||||||
am__depfiles_remade = ./$(DEPDIR)/bit.Plo ./$(DEPDIR)/decoder.Plo \
|
|
||||||
./$(DEPDIR)/fixed.Plo ./$(DEPDIR)/frame.Plo \
|
|
||||||
./$(DEPDIR)/huffman.Plo ./$(DEPDIR)/imdct_l_arm.Plo \
|
|
||||||
./$(DEPDIR)/layer12.Plo ./$(DEPDIR)/layer3.Plo \
|
|
||||||
./$(DEPDIR)/minimad.Po ./$(DEPDIR)/stream.Plo \
|
|
||||||
./$(DEPDIR)/synth.Plo ./$(DEPDIR)/timer.Plo \
|
|
||||||
./$(DEPDIR)/version.Plo
|
|
||||||
am__mv = mv -f
|
am__mv = mv -f
|
||||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||||
LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
|
LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
|
||||||
$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
|
$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
|
||||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||||
$(AM_CCASFLAGS) $(CCASFLAGS)
|
$(AM_CCASFLAGS) $(CCASFLAGS)
|
||||||
@@ -224,9 +210,9 @@ am__recursive_targets = \
|
|||||||
$(RECURSIVE_CLEAN_TARGETS) \
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
$(am__extra_recursive_targets)
|
$(am__extra_recursive_targets)
|
||||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
cscope distdir distdir-am dist dist-all distcheck
|
cscope distdir dist dist-all distcheck
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||||
config.h.in
|
$(LISP)config.h.in
|
||||||
# Read a list of newline-separated strings from the standard input,
|
# Read a list of newline-separated strings from the standard input,
|
||||||
# and print each of them once, without duplicates. Input order is
|
# and print each of them once, without duplicates. Input order is
|
||||||
# *not* preserved.
|
# *not* preserved.
|
||||||
@@ -243,10 +229,9 @@ am__define_uniq_tagged_files = \
|
|||||||
unique=`for i in $$list; do \
|
unique=`for i in $$list; do \
|
||||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||||
done | $(am__uniquify_input)`
|
done | $(am__uniquify_input)`
|
||||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
ETAGS = etags
|
||||||
$(srcdir)/libmad.list.in AUTHORS COPYING ChangeLog INSTALL \
|
CTAGS = ctags
|
||||||
NEWS README TODO compile config.guess config.sub depcomp \
|
CSCOPE = cscope
|
||||||
install-sh ltmain.sh missing mkinstalldirs
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
distdir = $(PACKAGE)-$(VERSION)
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
top_distdir = $(distdir)
|
top_distdir = $(distdir)
|
||||||
@@ -285,8 +270,6 @@ am__relativize = \
|
|||||||
DIST_ARCHIVES = $(distdir).tar.gz
|
DIST_ARCHIVES = $(distdir).tar.gz
|
||||||
GZIP_ENV = --best
|
GZIP_ENV = --best
|
||||||
DIST_TARGETS = dist-gzip
|
DIST_TARGETS = dist-gzip
|
||||||
# Exists only to be overridden by the user if desired.
|
|
||||||
AM_DISTCHECK_DVI_TARGET = dvi
|
|
||||||
distuninstallcheck_listfiles = find . -type f -print
|
distuninstallcheck_listfiles = find . -type f -print
|
||||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||||
@@ -307,9 +290,8 @@ CCASDEPMODE = @CCASDEPMODE@
|
|||||||
CCASFLAGS = @CCASFLAGS@
|
CCASFLAGS = @CCASFLAGS@
|
||||||
CCDEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CSCOPE = @CSCOPE@
|
|
||||||
CTAGS = @CTAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
@@ -320,10 +302,8 @@ ECHO_C = @ECHO_C@
|
|||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
ETAGS = @ETAGS@
|
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
FILECMD = @FILECMD@
|
|
||||||
FPM = @FPM@
|
FPM = @FPM@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
@@ -340,7 +320,7 @@ LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
|||||||
LIPO = @LIPO@
|
LIPO = @LIPO@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
MKDIR_P = @MKDIR_P@
|
MKDIR_P = @MKDIR_P@
|
||||||
@@ -408,7 +388,6 @@ pdfdir = @pdfdir@
|
|||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
program_transform_name = @program_transform_name@
|
program_transform_name = @program_transform_name@
|
||||||
psdir = @psdir@
|
psdir = @psdir@
|
||||||
runstatedir = @runstatedir@
|
|
||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -458,35 +437,36 @@ all: $(BUILT_SOURCES) config.h
|
|||||||
.SUFFIXES: .S .c .lo .o .obj .s
|
.SUFFIXES: .S .c .lo .o .obj .s
|
||||||
am--refresh: Makefile
|
am--refresh: Makefile
|
||||||
@:
|
@:
|
||||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
@for dep in $?; do \
|
@for dep in $?; do \
|
||||||
case '$(am__configure_deps)' in \
|
case '$(am__configure_deps)' in \
|
||||||
*$$dep*) \
|
*$$dep*) \
|
||||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
|
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
|
||||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
|
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
|
||||||
&& exit 0; \
|
&& exit 0; \
|
||||||
exit 1;; \
|
exit 1;; \
|
||||||
esac; \
|
esac; \
|
||||||
done; \
|
done; \
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||||
$(am__cd) $(top_srcdir) && \
|
$(am__cd) $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --gnu Makefile
|
$(AUTOMAKE) --foreign Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
@case '$?' in \
|
@case '$?' in \
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
echo ' $(SHELL) ./config.status'; \
|
echo ' $(SHELL) ./config.status'; \
|
||||||
$(SHELL) ./config.status;; \
|
$(SHELL) ./config.status;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
$(SHELL) ./config.status --recheck
|
$(SHELL) ./config.status --recheck
|
||||||
|
|
||||||
$(top_srcdir)/configure: $(am__configure_deps)
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||||
$(am__aclocal_m4_deps):
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
@@ -497,7 +477,7 @@ config.h: stamp-h1
|
|||||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||||
@rm -f stamp-h1
|
@rm -f stamp-h1
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(top_srcdir)/acconfig.h
|
||||||
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
($(am__cd) $(top_srcdir) && $(AUTOHEADER))
|
||||||
rm -f stamp-h1
|
rm -f stamp-h1
|
||||||
touch $@
|
touch $@
|
||||||
@@ -555,25 +535,19 @@ mostlyclean-compile:
|
|||||||
distclean-compile:
|
distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bit.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bit.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fixed.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/frame.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/huffman.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/huffman.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imdct_l_arm.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/imdct_l_arm.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layer12.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layer12.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layer3.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layer3.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minimad.Po@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/minimad.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/synth.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/synth.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Plo@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@
|
||||||
|
|
||||||
$(am__depfiles_remade):
|
|
||||||
@$(MKDIR_P) $(@D)
|
|
||||||
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
|
||||||
|
|
||||||
am--depfiles: $(am__depfiles_remade)
|
|
||||||
|
|
||||||
.S.o:
|
.S.o:
|
||||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
@@ -752,10 +726,8 @@ cscopelist-am: $(am__tagged_files)
|
|||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||||
distdir: $(BUILT_SOURCES)
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
|
||||||
|
|
||||||
distdir-am: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
@@ -820,7 +792,7 @@ distdir-am: $(DISTFILES)
|
|||||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||||
|| chmod -R a+r "$(distdir)"
|
|| chmod -R a+r "$(distdir)"
|
||||||
dist-gzip: distdir
|
dist-gzip: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-bzip2: distdir
|
dist-bzip2: distdir
|
||||||
@@ -835,22 +807,18 @@ dist-xz: distdir
|
|||||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-zstd: distdir
|
|
||||||
tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
|
|
||||||
$(am__post_remove_distdir)
|
|
||||||
|
|
||||||
dist-tarZ: distdir
|
dist-tarZ: distdir
|
||||||
@echo WARNING: "Support for distribution archives compressed with" \
|
@echo WARNING: "Support for shar distribution archives is" \
|
||||||
"legacy program 'compress' is deprecated." >&2
|
"deprecated." >&2
|
||||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-shar: distdir
|
dist-shar: distdir
|
||||||
@echo WARNING: "Support for shar distribution archives is" \
|
@echo WARNING: "Support for distribution archives compressed with" \
|
||||||
"deprecated." >&2
|
"legacy program 'compress' is deprecated." >&2
|
||||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-zip: distdir
|
dist-zip: distdir
|
||||||
@@ -868,7 +836,7 @@ dist dist-all:
|
|||||||
distcheck: dist
|
distcheck: dist
|
||||||
case '$(DIST_ARCHIVES)' in \
|
case '$(DIST_ARCHIVES)' in \
|
||||||
*.tar.gz*) \
|
*.tar.gz*) \
|
||||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
*.tar.bz2*) \
|
*.tar.bz2*) \
|
||||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
*.tar.lz*) \
|
*.tar.lz*) \
|
||||||
@@ -878,27 +846,25 @@ distcheck: dist
|
|||||||
*.tar.Z*) \
|
*.tar.Z*) \
|
||||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
*.shar.gz*) \
|
*.shar.gz*) \
|
||||||
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
||||||
*.zip*) \
|
*.zip*) \
|
||||||
unzip $(distdir).zip ;;\
|
unzip $(distdir).zip ;;\
|
||||||
*.tar.zst*) \
|
|
||||||
zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
|
|
||||||
esac
|
esac
|
||||||
chmod -R a-w $(distdir)
|
chmod -R a-w $(distdir)
|
||||||
chmod u+w $(distdir)
|
chmod u+w $(distdir)
|
||||||
mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
|
mkdir $(distdir)/_build $(distdir)/_inst
|
||||||
chmod a-w $(distdir)
|
chmod a-w $(distdir)
|
||||||
test -d $(distdir)/_build || exit 0; \
|
test -d $(distdir)/_build || exit 0; \
|
||||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||||
&& am__cwd=`pwd` \
|
&& am__cwd=`pwd` \
|
||||||
&& $(am__cd) $(distdir)/_build/sub \
|
&& $(am__cd) $(distdir)/_build \
|
||||||
&& ../../configure \
|
&& ../configure \
|
||||||
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||||
--srcdir=../.. --prefix="$$dc_install_base" \
|
--srcdir=.. --prefix="$$dc_install_base" \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
|
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||||
@@ -953,8 +919,6 @@ check-am: all-am
|
|||||||
check: $(BUILT_SOURCES)
|
check: $(BUILT_SOURCES)
|
||||||
$(MAKE) $(AM_MAKEFLAGS) check-recursive
|
$(MAKE) $(AM_MAKEFLAGS) check-recursive
|
||||||
all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
|
all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
|
||||||
install-EXTRAPROGRAMS: install-libLTLIBRARIES
|
|
||||||
|
|
||||||
installdirs: installdirs-recursive
|
installdirs: installdirs-recursive
|
||||||
installdirs-am:
|
installdirs-am:
|
||||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
|
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
|
||||||
@@ -962,8 +926,7 @@ installdirs-am:
|
|||||||
done
|
done
|
||||||
install: $(BUILT_SOURCES)
|
install: $(BUILT_SOURCES)
|
||||||
$(MAKE) $(AM_MAKEFLAGS) install-recursive
|
$(MAKE) $(AM_MAKEFLAGS) install-recursive
|
||||||
install-exec: $(BUILT_SOURCES)
|
install-exec: install-exec-recursive
|
||||||
$(MAKE) $(AM_MAKEFLAGS) install-exec-recursive
|
|
||||||
install-data: install-data-recursive
|
install-data: install-data-recursive
|
||||||
uninstall: uninstall-recursive
|
uninstall: uninstall-recursive
|
||||||
|
|
||||||
@@ -1001,19 +964,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
|||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -f ./$(DEPDIR)/bit.Plo
|
-rm -rf ./$(DEPDIR)
|
||||||
-rm -f ./$(DEPDIR)/decoder.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/fixed.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/frame.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/huffman.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/imdct_l_arm.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/layer12.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/layer3.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/minimad.Po
|
|
||||||
-rm -f ./$(DEPDIR)/stream.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/synth.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/timer.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/version.Plo
|
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-hdr distclean-libtool distclean-tags
|
distclean-hdr distclean-libtool distclean-tags
|
||||||
@@ -1061,19 +1012,7 @@ installcheck-am:
|
|||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||||
-rm -rf $(top_srcdir)/autom4te.cache
|
-rm -rf $(top_srcdir)/autom4te.cache
|
||||||
-rm -f ./$(DEPDIR)/bit.Plo
|
-rm -rf ./$(DEPDIR)
|
||||||
-rm -f ./$(DEPDIR)/decoder.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/fixed.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/frame.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/huffman.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/imdct_l_arm.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/layer12.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/layer3.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/minimad.Po
|
|
||||||
-rm -f ./$(DEPDIR)/stream.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/synth.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/timer.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/version.Plo
|
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
@@ -1093,29 +1032,26 @@ ps-am:
|
|||||||
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
|
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
|
||||||
|
|
||||||
.MAKE: $(am__recursive_targets) all check install install-am \
|
.MAKE: $(am__recursive_targets) all check install install-am \
|
||||||
install-exec install-strip
|
install-strip
|
||||||
|
|
||||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||||
am--depfiles am--refresh check check-am clean clean-cscope \
|
am--refresh check check-am clean clean-cscope clean-generic \
|
||||||
clean-generic clean-libLTLIBRARIES clean-libtool cscope \
|
clean-libLTLIBRARIES clean-libtool cscope cscopelist-am ctags \
|
||||||
cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
|
ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \
|
||||||
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
|
dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
|
||||||
dist-zstd distcheck distclean distclean-compile \
|
distclean-compile distclean-generic distclean-hdr \
|
||||||
distclean-generic distclean-hdr distclean-libtool \
|
distclean-libtool distclean-tags distcleancheck distdir \
|
||||||
distclean-tags distcleancheck distdir distuninstallcheck dvi \
|
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||||
dvi-am html html-am info info-am install install-am \
|
install install-am install-data install-data-am install-dvi \
|
||||||
install-data install-data-am install-dvi install-dvi-am \
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
install-exec install-exec-am install-html install-html-am \
|
install-html-am install-includeHEADERS install-info \
|
||||||
install-includeHEADERS install-info install-info-am \
|
install-info-am install-libLTLIBRARIES install-man install-pdf \
|
||||||
install-libLTLIBRARIES install-man install-pdf install-pdf-am \
|
install-pdf-am install-ps install-ps-am install-strip \
|
||||||
install-ps install-ps-am install-strip installcheck \
|
installcheck installcheck-am installdirs installdirs-am \
|
||||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
|
||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
|
||||||
tags tags-am uninstall uninstall-am uninstall-includeHEADERS \
|
uninstall-includeHEADERS uninstall-libLTLIBRARIES
|
||||||
uninstall-libLTLIBRARIES
|
|
||||||
|
|
||||||
.PRECIOUS: Makefile
|
|
||||||
|
|
||||||
|
|
||||||
mad.h: config.status config.h Makefile.am \
|
mad.h: config.status config.h Makefile.am \
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
libmad - MPEG audio decoder library
|
libmad - MPEG audio decoder library
|
||||||
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
||||||
|
|
||||||
$Id: README,v 1.4 2004/01/23 09:41:32 rob Exp $
|
$Id: README,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
libmad - MPEG audio decoder library
|
libmad - MPEG audio decoder library
|
||||||
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
||||||
|
|
||||||
$Id: TODO,v 1.3 2004/02/05 09:02:39 rob Exp $
|
$Id: TODO,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
|
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
/*
|
||||||
|
* libmad - MPEG audio decoder library
|
||||||
|
* Copyright (C) 2000-2001 Robert Leslie
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
* $Id: acconfig.h,v 1.2 2001-10-21 22:26:32 dmazzoni Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
# ifndef LIBMAD_CONFIG_H
|
||||||
|
# define LIBMAD_CONFIG_H
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Definitions selected automatically by `configure' *
|
||||||
|
*****************************************************************************/
|
||||||
|
@TOP@
|
||||||
|
|
||||||
|
/* Define to optimize for speed over accuracy. */
|
||||||
|
#undef OPT_SPEED
|
||||||
|
|
||||||
|
/* Define to optimize for accuracy over speed. */
|
||||||
|
#undef OPT_ACCURACY
|
||||||
|
|
||||||
|
/* Define to enable a fast subband synthesis approximation optimization. */
|
||||||
|
#undef OPT_SSO
|
||||||
|
|
||||||
|
/* Define to influence a strict interpretation of the ISO/IEC standards,
|
||||||
|
even if this is in opposition with best accepted practices. */
|
||||||
|
#undef OPT_STRICT
|
||||||
|
|
||||||
|
/* Define if your MIPS CPU supports a 2-operand MADD instruction. */
|
||||||
|
#undef HAVE_MADD_ASM
|
||||||
|
|
||||||
|
/* Define if your MIPS CPU supports a 2-operand MADD16 instruction. */
|
||||||
|
#undef HAVE_MADD16_ASM
|
||||||
|
|
||||||
|
/* Define to enable diagnostic debugging support. */
|
||||||
|
#undef DEBUG
|
||||||
|
|
||||||
|
/* Define to disable debugging assertions. */
|
||||||
|
#undef NDEBUG
|
||||||
|
|
||||||
|
/* Define to enable experimental code. */
|
||||||
|
#undef EXPERIMENTAL
|
||||||
|
|
||||||
|
@BOTTOM@
|
||||||
|
/*****************************************************************************
|
||||||
|
* End of automatically configured definitions *
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
# endif
|
||||||
Vendored
-10231
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: bit.c,v 1.12 2004/01/23 09:41:32 rob Exp $
|
* $Id: bit.c,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: bit.h,v 1.12 2004/01/23 09:41:32 rob Exp $
|
* $Id: bit.h,v 1.2 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_BIT_H
|
# ifndef LIBMAD_BIT_H
|
||||||
|
|||||||
+8
-9
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Wrapper for compilers which do not understand '-c -o'.
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2012-10-14.11; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -53,7 +53,7 @@ func_file_conv ()
|
|||||||
MINGW*)
|
MINGW*)
|
||||||
file_conv=mingw
|
file_conv=mingw
|
||||||
;;
|
;;
|
||||||
CYGWIN* | MSYS*)
|
CYGWIN*)
|
||||||
file_conv=cygwin
|
file_conv=cygwin
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -67,7 +67,7 @@ func_file_conv ()
|
|||||||
mingw/*)
|
mingw/*)
|
||||||
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
|
||||||
;;
|
;;
|
||||||
cygwin/* | msys/*)
|
cygwin/*)
|
||||||
file=`cygpath -m "$file" || echo "$file"`
|
file=`cygpath -m "$file" || echo "$file"`
|
||||||
;;
|
;;
|
||||||
wine/*)
|
wine/*)
|
||||||
@@ -255,8 +255,7 @@ EOF
|
|||||||
echo "compile $scriptversion"
|
echo "compile $scriptversion"
|
||||||
exit $?
|
exit $?
|
||||||
;;
|
;;
|
||||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||||
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
|
||||||
func_cl_wrapper "$@" # Doesn't return...
|
func_cl_wrapper "$@" # Doesn't return...
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -340,9 +339,9 @@ exit $ret
|
|||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
Vendored
+738
-928
File diff suppressed because it is too large
Load Diff
+100
-121
@@ -1,134 +1,112 @@
|
|||||||
/* config.h.in. Generated from configure.ac by autoheader. */
|
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||||
|
/*
|
||||||
|
* libmad - MPEG audio decoder library
|
||||||
|
* Copyright (C) 2000-2001 Robert Leslie
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
* $Id: acconfig.h,v 1.2 2001-10-21 22:26:32 dmazzoni Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
/* Define if building universal (internal helper macro) */
|
# ifndef LIBMAD_CONFIG_H
|
||||||
#undef AC_APPLE_UNIVERSAL_BUILD
|
# define LIBMAD_CONFIG_H 1
|
||||||
|
|
||||||
/* Define to enable diagnostic debugging support. */
|
#include "detect_fpm.h"
|
||||||
#undef DEBUG
|
|
||||||
|
|
||||||
/* Define to enable experimental code. */
|
|
||||||
#undef EXPERIMENTAL
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <assert.h> header file. */
|
|
||||||
#undef HAVE_ASSERT_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
|
||||||
#undef HAVE_DLFCN_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <errno.h> header file. */
|
|
||||||
#undef HAVE_ERRNO_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `fcntl' function. */
|
|
||||||
#undef HAVE_FCNTL
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
|
||||||
#undef HAVE_FCNTL_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `fork' function. */
|
|
||||||
#undef HAVE_FORK
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
|
||||||
#undef HAVE_INTTYPES_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <limits.h> header file. */
|
|
||||||
#undef HAVE_LIMITS_H
|
|
||||||
|
|
||||||
/* Define if your MIPS CPU supports a 2-operand MADD16 instruction. */
|
|
||||||
#undef HAVE_MADD16_ASM
|
|
||||||
|
|
||||||
/* Define if your MIPS CPU supports a 2-operand MADD instruction. */
|
|
||||||
#undef HAVE_MADD_ASM
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `pipe' function. */
|
|
||||||
#undef HAVE_PIPE
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdint.h> header file. */
|
|
||||||
#undef HAVE_STDINT_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdio.h> header file. */
|
|
||||||
#undef HAVE_STDIO_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
|
||||||
#undef HAVE_STDLIB_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <strings.h> header file. */
|
|
||||||
#undef HAVE_STRINGS_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <string.h> header file. */
|
|
||||||
#undef HAVE_STRING_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
|
||||||
#undef HAVE_SYS_STAT_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
|
||||||
#undef HAVE_SYS_TYPES_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
|
|
||||||
#undef HAVE_SYS_WAIT_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the <unistd.h> header file. */
|
|
||||||
#undef HAVE_UNISTD_H
|
|
||||||
|
|
||||||
/* Define to 1 if you have the `waitpid' function. */
|
|
||||||
#undef HAVE_WAITPID
|
|
||||||
|
|
||||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
|
||||||
#undef LT_OBJDIR
|
|
||||||
|
|
||||||
/* Define to disable debugging assertions. */
|
|
||||||
#undef NDEBUG
|
|
||||||
|
|
||||||
/* Define to optimize for accuracy over speed. */
|
|
||||||
#undef OPT_ACCURACY
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Definitions selected automatically by `configure' *
|
||||||
|
*****************************************************************************/
|
||||||
/* Define to optimize for speed over accuracy. */
|
/* Define to optimize for speed over accuracy. */
|
||||||
#undef OPT_SPEED
|
#cmakedefine OPT_SPEED 1
|
||||||
|
/* Define to optimize for accuracy over speed. */
|
||||||
|
#cmakedefine OPT_ACCURACY 1
|
||||||
/* Define to enable a fast subband synthesis approximation optimization. */
|
/* Define to enable a fast subband synthesis approximation optimization. */
|
||||||
#undef OPT_SSO
|
#cmakedefine OPT_SSO 1
|
||||||
|
/* Define to influence a strict interpretation of the ISO/IEC standards,
|
||||||
|
even if this is in opposition with best accepted practices. */
|
||||||
|
#cmakedefine OPT_STRICT 1
|
||||||
|
/* Define if your MIPS CPU supports a 2-operand MADD instruction. */
|
||||||
|
#cmakedefine HAVE_MADD_ASM 1
|
||||||
|
/* Define if your MIPS CPU supports a 2-operand MADD16 instruction. */
|
||||||
|
#cmakedefine HAVE_MADD16_ASM 1
|
||||||
|
/* Define to enable diagnostic debugging support. */
|
||||||
|
#cmakedefine DEBUG 1
|
||||||
|
/* Define to disable debugging assertions. */
|
||||||
|
#cmakedefine NDEBUG 1
|
||||||
|
/* Define to enable experimental code. */
|
||||||
|
#cmakedefine EXPERIMENTAL 1
|
||||||
|
/* Define if building universal (internal helper macro) */
|
||||||
|
#cmakedefine AC_APPLE_UNIVERSAL_BUILD 1
|
||||||
|
/* Define to 1 if you have the <assert.h> header file. */
|
||||||
|
#cmakedefine HAVE_ASSERT_H 1
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
#cmakedefine HAVE_DLFCN_H 1
|
||||||
|
/* Define to 1 if you have the <errno.h> header file. */
|
||||||
|
#cmakedefine HAVE_ERRNO_H 1
|
||||||
|
/* Define to 1 if you have the `fcntl' function. */
|
||||||
|
#cmakedefine HAVE_FCNTL 1
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#cmakedefine HAVE_FCNTL_H 1
|
||||||
|
/* Define to 1 if you have the `fork' function. */
|
||||||
|
#cmakedefine HAVE_FORK 1
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#cmakedefine HAVE_INTTYPES_H 1
|
||||||
|
/* Define to 1 if you have the <limits.h> header file. */
|
||||||
|
#cmakedefine HAVE_LIMITS_H 1
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#cmakedefine HAVE_MEMORY_H 1
|
||||||
|
/* Define to 1 if you have the `pipe' function. */
|
||||||
|
#cmakedefine HAVE_PIPE 1
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#cmakedefine HAVE_STDINT_H 1
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#cmakedefine HAVE_STDLIB_H 1
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#cmakedefine HAVE_STRINGS_H 1
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#cmakedefine HAVE_STRING_H 1
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#cmakedefine HAVE_SYS_STAT_H 1
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#cmakedefine HAVE_SYS_TYPES_H 1
|
||||||
|
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||||
|
#cmakedefine HAVE_SYS_WAIT_H 1
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#cmakedefine HAVE_UNISTD_H 1
|
||||||
|
/* Define to 1 if you have the `waitpid' function. */
|
||||||
|
#cmakedefine HAVE_WAITPID 1
|
||||||
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||||
|
*/
|
||||||
|
#cmakedefine LT_OBJDIR "@LT_OBJDIR@"
|
||||||
/* Define to influence a strict interpretation of the ISO/IEC standards, even
|
/* Define to influence a strict interpretation of the ISO/IEC standards, even
|
||||||
if this is in opposition with best accepted practices. */
|
if this is in opposition with best accepted practices. */
|
||||||
#undef OPT_STRICT
|
|
||||||
|
|
||||||
/* Name of package */
|
/* Name of package */
|
||||||
#undef PACKAGE
|
#cmakedefine PACKAGE "@PACKAGES"
|
||||||
|
|
||||||
/* Define to the address where bug reports for this package should be sent. */
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
#undef PACKAGE_BUGREPORT
|
#cmakedefine PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
|
||||||
|
|
||||||
/* Define to the full name of this package. */
|
/* Define to the full name of this package. */
|
||||||
#undef PACKAGE_NAME
|
#cmakedefine PACKAGE_NAME "@PACKAGE_NAME@"
|
||||||
|
|
||||||
/* Define to the full name and version of this package. */
|
/* Define to the full name and version of this package. */
|
||||||
#undef PACKAGE_STRING
|
#cmakedefine PACKAGE_STRING "@PACKAGE_STRING@"
|
||||||
|
|
||||||
/* Define to the one symbol short name of this package. */
|
/* Define to the one symbol short name of this package. */
|
||||||
#undef PACKAGE_TARNAME
|
#cmakedefine PACKAGE_TARNAME "@PACKAGE_TARNAME@"
|
||||||
|
|
||||||
/* Define to the home page for this package. */
|
/* Define to the home page for this package. */
|
||||||
#undef PACKAGE_URL
|
#cmakedefine PACKAGE_URL "@PACKAGE_URL@"
|
||||||
|
|
||||||
/* Define to the version of this package. */
|
/* Define to the version of this package. */
|
||||||
#undef PACKAGE_VERSION
|
#cmakedefine PACKAGE_VERSION "@PACKAGE_VERSION@"
|
||||||
|
|
||||||
/* The size of `int', as computed by sizeof. */
|
|
||||||
#undef SIZEOF_INT
|
|
||||||
|
|
||||||
/* The size of `long', as computed by sizeof. */
|
|
||||||
#undef SIZEOF_LONG
|
|
||||||
|
|
||||||
/* The size of `long long', as computed by sizeof. */
|
|
||||||
#undef SIZEOF_LONG_LONG
|
|
||||||
|
|
||||||
/* Define to 1 if all of the C90 standard headers exist (not just the ones
|
|
||||||
required in a freestanding environment). This macro is provided for
|
|
||||||
backward compatibility; new code need not use it. */
|
|
||||||
#undef STDC_HEADERS
|
|
||||||
|
|
||||||
|
#cmakedefine STDC_HEADERS 1
|
||||||
/* Version number of package */
|
/* Version number of package */
|
||||||
#undef VERSION
|
#cmakedefine VERSION "@VERSION@"
|
||||||
|
|
||||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||||
@@ -137,18 +115,19 @@
|
|||||||
# endif
|
# endif
|
||||||
#else
|
#else
|
||||||
# ifndef WORDS_BIGENDIAN
|
# ifndef WORDS_BIGENDIAN
|
||||||
# undef WORDS_BIGENDIAN
|
# cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define to empty if `const' does not conform to ANSI C. */
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
#undef const
|
#cmakedefine const @const@
|
||||||
|
|
||||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||||
#ifndef __cplusplus
|
#ifndef __cplusplus
|
||||||
#undef inline
|
#cmakedefine inline @const@
|
||||||
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
|
#cmakedefine pid_t @pid_t@
|
||||||
|
/* End of automatically configured definitions */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Define as a signed integer type capable of holding a process identifier. */
|
#endif
|
||||||
#undef pid_t
|
|
||||||
|
|||||||
Vendored
+1388
-1481
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,159 @@
|
|||||||
|
/* configunix.h.in. Generated from configure.in by autoheader. */
|
||||||
|
/*
|
||||||
|
* libmad - MPEG audio decoder library
|
||||||
|
* Copyright (C) 2000-2001 Robert Leslie
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
* $Id: configunix.h.in,v 1.5 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
# ifndef LIBMAD_CONFIG_H
|
||||||
|
# define LIBMAD_CONFIG_H
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
* Definitions selected automatically by `configure' *
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
/* Define to optimize for speed over accuracy. */
|
||||||
|
#undef OPT_SPEED
|
||||||
|
|
||||||
|
/* Define to optimize for accuracy over speed. */
|
||||||
|
#undef OPT_ACCURACY
|
||||||
|
|
||||||
|
/* Define to enable a fast subband synthesis approximation optimization. */
|
||||||
|
#undef OPT_SSO
|
||||||
|
|
||||||
|
/* Define to influence a strict interpretation of the ISO/IEC standards,
|
||||||
|
even if this is in opposition with best accepted practices. */
|
||||||
|
#undef OPT_STRICT
|
||||||
|
|
||||||
|
/* Define if your MIPS CPU supports a 2-operand MADD instruction. */
|
||||||
|
#undef HAVE_MADD_ASM
|
||||||
|
|
||||||
|
/* Define if your MIPS CPU supports a 2-operand MADD16 instruction. */
|
||||||
|
#undef HAVE_MADD16_ASM
|
||||||
|
|
||||||
|
/* Define to enable diagnostic debugging support. */
|
||||||
|
#undef DEBUG
|
||||||
|
|
||||||
|
/* Define to disable debugging assertions. */
|
||||||
|
#undef NDEBUG
|
||||||
|
|
||||||
|
/* Define to enable experimental code. */
|
||||||
|
#undef EXPERIMENTAL
|
||||||
|
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <assert.h> header file. */
|
||||||
|
#undef HAVE_ASSERT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <errno.h> header file. */
|
||||||
|
#undef HAVE_ERRNO_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `fcntl' function. */
|
||||||
|
#undef HAVE_FCNTL
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#undef HAVE_FCNTL_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `fork' function. */
|
||||||
|
#undef HAVE_FORK
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#undef HAVE_INTTYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <limits.h> header file. */
|
||||||
|
#undef HAVE_LIMITS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#undef HAVE_MEMORY_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `pipe' function. */
|
||||||
|
#undef HAVE_PIPE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#undef HAVE_STDINT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#undef HAVE_STDLIB_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#undef HAVE_STRINGS_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#undef HAVE_STRING_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#undef HAVE_SYS_STAT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#undef HAVE_SYS_TYPES_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||||
|
#undef HAVE_SYS_WAIT_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `waitpid' function. */
|
||||||
|
#undef HAVE_WAITPID
|
||||||
|
|
||||||
|
/* Name of package */
|
||||||
|
#undef PACKAGE
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#undef PACKAGE_NAME
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#undef PACKAGE_STRING
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#undef PACKAGE_TARNAME
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#undef PACKAGE_VERSION
|
||||||
|
|
||||||
|
/* The size of a `int', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_INT
|
||||||
|
|
||||||
|
/* The size of a `long', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_LONG
|
||||||
|
|
||||||
|
/* The size of a `long long', as computed by sizeof. */
|
||||||
|
#undef SIZEOF_LONG_LONG
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#undef STDC_HEADERS
|
||||||
|
|
||||||
|
/* Version number of package */
|
||||||
|
#undef VERSION
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
#undef const
|
||||||
|
|
||||||
|
/* Define as `__inline' if that's what the C compiler calls it, or to nothing
|
||||||
|
if it is not supported. */
|
||||||
|
#undef inline
|
||||||
|
|
||||||
|
/* Define to `int' if <sys/types.h> does not define. */
|
||||||
|
#undef pid_t
|
||||||
|
/*****************************************************************************
|
||||||
|
* End of automatically configured definitions *
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
# endif
|
||||||
Vendored
+3486
-4512
File diff suppressed because it is too large
Load Diff
+70
-5
@@ -17,7 +17,7 @@ dnl You should have received a copy of the GNU General Public License
|
|||||||
dnl along with this program; if not, write to the Free Software
|
dnl along with this program; if not, write to the Free Software
|
||||||
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
dnl
|
dnl
|
||||||
AC_REVISION([$Id: configure.ac,v 1.9 2004/01/23 09:41:32 rob Exp $])dnl
|
AC_REVISION([$Id: configure.ac,v 1.4 2009-01-17 22:01:06 richardash1981 Exp $])dnl
|
||||||
|
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
@@ -26,9 +26,11 @@ AC_PREREQ(2.53)
|
|||||||
|
|
||||||
AC_CONFIG_SRCDIR([decoder.h])
|
AC_CONFIG_SRCDIR([decoder.h])
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE([-Wall foreign])
|
||||||
|
|
||||||
AC_CONFIG_HEADER([config.h])
|
AM_CONFIG_HEADER([config.h])
|
||||||
|
|
||||||
|
AM_MAINTAINER_MODE
|
||||||
|
|
||||||
dnl System type.
|
dnl System type.
|
||||||
|
|
||||||
@@ -124,7 +126,71 @@ done
|
|||||||
|
|
||||||
if test "$GCC" = yes
|
if test "$GCC" = yes
|
||||||
then
|
then
|
||||||
optimize="-O2"
|
if test -z "$arch"
|
||||||
|
then
|
||||||
|
case "$host" in
|
||||||
|
i386-*) ;;
|
||||||
|
i?86-*) arch="-march=i486" ;;
|
||||||
|
arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
|
||||||
|
armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
|
||||||
|
powerpc-*) ;;
|
||||||
|
mips*-agenda-*) arch="-mcpu=vr4100" ;;
|
||||||
|
mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$optimize" in
|
||||||
|
-O|"-O "*)
|
||||||
|
optimize="-O"
|
||||||
|
: #x optimize="$optimize -fforce-mem"
|
||||||
|
: #x optimize="$optimize -fforce-addr"
|
||||||
|
: #x optimize="$optimize -finline-functions"
|
||||||
|
: #- optimize="$optimize -fstrength-reduce"
|
||||||
|
optimize="$optimize -fthread-jumps"
|
||||||
|
optimize="$optimize -fcse-follow-jumps"
|
||||||
|
optimize="$optimize -fcse-skip-blocks"
|
||||||
|
: #x optimize="$optimize -frerun-cse-after-loop"
|
||||||
|
: #x optimize="$optimize -frerun-loop-opt"
|
||||||
|
: #x optimize="$optimize -fgcse"
|
||||||
|
optimize="$optimize -fexpensive-optimizations"
|
||||||
|
optimize="$optimize -fregmove"
|
||||||
|
: #* optimize="$optimize -fdelayed-branch"
|
||||||
|
: #x optimize="$optimize -fschedule-insns"
|
||||||
|
optimize="$optimize -fschedule-insns2"
|
||||||
|
: #? optimize="$optimize -ffunction-sections"
|
||||||
|
: #? optimize="$optimize -fcaller-saves"
|
||||||
|
: #> optimize="$optimize -funroll-loops"
|
||||||
|
: #> optimize="$optimize -funroll-all-loops"
|
||||||
|
: #x optimize="$optimize -fmove-all-movables"
|
||||||
|
: #x optimize="$optimize -freduce-all-givs"
|
||||||
|
: #? optimize="$optimize -fstrict-aliasing"
|
||||||
|
: #* optimize="$optimize -fstructure-noalias"
|
||||||
|
|
||||||
|
case "$host" in
|
||||||
|
arm*-*)
|
||||||
|
optimize="$optimize -fstrength-reduce"
|
||||||
|
;;
|
||||||
|
mips*-*)
|
||||||
|
optimize="$optimize -fstrength-reduce"
|
||||||
|
optimize="$optimize -finline-functions"
|
||||||
|
;;
|
||||||
|
i?86-*)
|
||||||
|
optimize="$optimize -fstrength-reduce"
|
||||||
|
;;
|
||||||
|
powerpc-apple-*)
|
||||||
|
# this triggers an internal compiler error with gcc2
|
||||||
|
: #optimize="$optimize -fstrength-reduce"
|
||||||
|
|
||||||
|
# this is really only beneficial with gcc3
|
||||||
|
: #optimize="$optimize -finline-functions"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# this sometimes provokes bugs in gcc 2.95.2
|
||||||
|
: #optimize="$optimize -fstrength-reduce"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$host" in
|
case "$host" in
|
||||||
@@ -233,7 +299,6 @@ if test -z "$FPM" && test "$GCC" = yes
|
|||||||
then
|
then
|
||||||
case "$host" in
|
case "$host" in
|
||||||
i?86-*) FPM="INTEL" ;;
|
i?86-*) FPM="INTEL" ;;
|
||||||
x86_64*) FPM="64BIT" ;;
|
|
||||||
arm*-*) FPM="ARM" ;;
|
arm*-*) FPM="ARM" ;;
|
||||||
mips*-*) FPM="MIPS" ;;
|
mips*-*) FPM="MIPS" ;;
|
||||||
sparc*-*) FPM="SPARC" ;;
|
sparc*-*) FPM="SPARC" ;;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: decoder.c,v 1.22 2004/01/23 09:41:32 rob Exp $
|
* $Id: decoder.c,v 1.5 2005-09-12 07:01:29 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: decoder.h,v 1.17 2004/01/23 09:41:32 rob Exp $
|
* $Id: decoder.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_DECODER_H
|
# ifndef LIBMAD_DECODER_H
|
||||||
|
|||||||
+5
-5
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2013-05-30.07; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2021 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -16,7 +16,7 @@ scriptversion=2018-03-07.03; # UTC
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -783,9 +783,9 @@ exit 0
|
|||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* detect_fpm.h. */
|
||||||
|
/*
|
||||||
|
* libmad - MPEG audio decoder library
|
||||||
|
* Copyright (C) 2000-2001 Robert Leslie
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
* $Id: acconfig.h,v 1.2 2001-10-21 22:26:32 dmazzoni Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _DETECT_FPM_H_
|
||||||
|
#define _DETECT_FPM_H_
|
||||||
|
|
||||||
|
#if defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) || defined(__aarch64__) || defined(__ppc64__) || defined(__mips64) || defined(_M_ARM64)
|
||||||
|
# define FPM_64BIT
|
||||||
|
#elif defined(__i386__) || defined(i386) || defined(_M_IX86) || defined(_X86_) || defined(__THW_INTEL)
|
||||||
|
# define FPM_INTEL
|
||||||
|
#elif defined(arm) || defined(__arm__) || defined(ARM) || defined(_ARM_)
|
||||||
|
# define FPM_ARM
|
||||||
|
#elif defined(__PPC__) || defined(__powerpc__) || defined(__powerpc) || defined(___M_PPC)
|
||||||
|
# define FPM_PPC
|
||||||
|
#elif defined(mips) || defined(__mips__) || defined(MIPS) || defined(_MIPS_)
|
||||||
|
# define FPM_MIPS
|
||||||
|
#else
|
||||||
|
# define FPM_DEFAULT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The size of `int', as computed by sizeof. */
|
||||||
|
/* The case is that some of the CMake generators won't the propper int size detection */
|
||||||
|
/* This will fail horribly on 16 bit CPUs */
|
||||||
|
|
||||||
|
#define SIZEOF_INT 4
|
||||||
|
|
||||||
|
#endif
|
||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: fixed.c,v 1.13 2004/01/23 09:41:32 rob Exp $
|
* $Id: fixed.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
+17
-4
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: fixed.h,v 1.38 2004/02/17 02:02:03 rob Exp $
|
* $Id: fixed.h,v 1.3 2008-02-02 11:37:37 richardash1981 Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_FIXED_H
|
# ifndef LIBMAD_FIXED_H
|
||||||
@@ -137,7 +137,7 @@ typedef mad_fixed_t mad_sample_t;
|
|||||||
|
|
||||||
/* --- Intel --------------------------------------------------------------- */
|
/* --- Intel --------------------------------------------------------------- */
|
||||||
|
|
||||||
# elif defined(FPM_INTEL)
|
# elif defined(FPM_INTEL) || defined (__i386__)
|
||||||
|
|
||||||
# if defined(_MSC_VER)
|
# if defined(_MSC_VER)
|
||||||
# pragma warning(push)
|
# pragma warning(push)
|
||||||
@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
|
|||||||
: "+r" (lo), "+r" (hi) \
|
: "+r" (lo), "+r" (hi) \
|
||||||
: "%r" (x), "r" (y))
|
: "%r" (x), "r" (y))
|
||||||
|
|
||||||
|
#ifdef __thumb__
|
||||||
|
/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero
|
||||||
|
operand. If needed this code can also support Thumb-1
|
||||||
|
(simply append "s" to the end of the second two instructions). */
|
||||||
|
# define MAD_F_MLN(hi, lo) \
|
||||||
|
asm ("rsbs %0, %0, #0\n\t" \
|
||||||
|
"sbc %1, %1, %1\n\t" \
|
||||||
|
"sub %1, %1, %2" \
|
||||||
|
: "+&r" (lo), "=&r" (hi) \
|
||||||
|
: "r" (hi) \
|
||||||
|
: "cc")
|
||||||
|
#else /* ! __thumb__ */
|
||||||
# define MAD_F_MLN(hi, lo) \
|
# define MAD_F_MLN(hi, lo) \
|
||||||
asm ("rsbs %0, %2, #0\n\t" \
|
asm ("rsbs %0, %2, #0\n\t" \
|
||||||
"rsc %1, %3, #0" \
|
"rsc %1, %3, #0" \
|
||||||
: "=r" (lo), "=r" (hi) \
|
: "=&r" (lo), "=r" (hi) \
|
||||||
: "0" (lo), "1" (hi) \
|
: "0" (lo), "1" (hi) \
|
||||||
: "cc")
|
: "cc")
|
||||||
|
#endif /* __thumb__ */
|
||||||
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
# define mad_f_scale64(hi, lo) \
|
||||||
({ mad_fixed_t __result; \
|
({ mad_fixed_t __result; \
|
||||||
@@ -351,7 +364,7 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
|
|||||||
|
|
||||||
/* --- PowerPC ------------------------------------------------------------- */
|
/* --- PowerPC ------------------------------------------------------------- */
|
||||||
|
|
||||||
# elif defined(FPM_PPC)
|
# elif defined(FPM_PPC) || defined(__ppc__)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This PowerPC version is fast and accurate; the disposition of the least
|
* This PowerPC version is fast and accurate; the disposition of the least
|
||||||
|
|||||||
+2
-2
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: frame.c,v 1.29 2004/02/04 22:59:19 rob Exp $
|
* $Id: frame.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
@@ -144,7 +144,7 @@ int decode_header(struct mad_header *header, struct mad_stream *stream)
|
|||||||
/* layer */
|
/* layer */
|
||||||
header->layer = 4 - mad_bit_read(&stream->ptr, 2);
|
header->layer = 4 - mad_bit_read(&stream->ptr, 2);
|
||||||
|
|
||||||
if (header->layer == 4) {
|
if ((int)header->layer == 4) {
|
||||||
stream->error = MAD_ERROR_BADLAYER;
|
stream->error = MAD_ERROR_BADLAYER;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: frame.h,v 1.20 2004/01/23 09:41:32 rob Exp $
|
* $Id: frame.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_FRAME_H
|
# ifndef LIBMAD_FRAME_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: global.h,v 1.11 2004/01/23 09:41:32 rob Exp $
|
* $Id: global.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_GLOBAL_H
|
# ifndef LIBMAD_GLOBAL_H
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: huffman.c,v 1.10 2004/01/23 09:41:32 rob Exp $
|
* $Id: huffman.c,v 1.4 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: huffman.h,v 1.11 2004/01/23 09:41:32 rob Exp $
|
* $Id: huffman.h,v 1.4 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_HUFFMAN_H
|
# ifndef LIBMAD_HUFFMAN_H
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
*
|
*
|
||||||
* $Id: imdct_l_arm.S,v 1.7 2001/03/25 20:03:34 rob Rel $
|
* $Id: imdct_l_arm.S,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*
|
*
|
||||||
* 2001/03/24: Andre McCurdy <armccurdy@yahoo.co.uk>
|
* 2001/03/24: Andre McCurdy <armccurdy@yahoo.co.uk>
|
||||||
* - Corrected PIC unsafe loading of address of 'imdct36_long_karray'
|
* - Corrected PIC unsafe loading of address of 'imdct36_long_karray'
|
||||||
@@ -468,7 +468,7 @@ _III_imdct_l:
|
|||||||
|
|
||||||
@----
|
@----
|
||||||
|
|
||||||
add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?)
|
adr r2, imdct36_long_karray
|
||||||
|
|
||||||
|
|
||||||
loop:
|
loop:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: imdct_s.dat,v 1.8 2004/01/23 09:41:32 rob Exp $
|
* $Id: imdct_s.dat,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* 0 */ { MAD_F(0x09bd7ca0) /* 0.608761429 */,
|
/* 0 */ { MAD_F(0x09bd7ca0) /* 0.608761429 */,
|
||||||
|
|||||||
+200
-214
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2020-11-14.01; # UTC
|
scriptversion=2011-11-20.07; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
@@ -41,15 +41,19 @@ scriptversion=2020-11-14.01; # UTC
|
|||||||
# This script is compatible with the BSD install script, but was written
|
# This script is compatible with the BSD install script, but was written
|
||||||
# from scratch.
|
# from scratch.
|
||||||
|
|
||||||
tab=' '
|
|
||||||
nl='
|
nl='
|
||||||
'
|
'
|
||||||
IFS=" $tab$nl"
|
IFS=" "" $nl"
|
||||||
|
|
||||||
# Set DOITPROG to "echo" to test this script.
|
# set DOITPROG to echo to test this script
|
||||||
|
|
||||||
|
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||||
doit=${DOITPROG-}
|
doit=${DOITPROG-}
|
||||||
doit_exec=${doit:-exec}
|
if test -z "$doit"; then
|
||||||
|
doit_exec=exec
|
||||||
|
else
|
||||||
|
doit_exec=$doit
|
||||||
|
fi
|
||||||
|
|
||||||
# Put in absolute file names if you don't have them in your path;
|
# Put in absolute file names if you don't have them in your path;
|
||||||
# or use environment vars.
|
# or use environment vars.
|
||||||
@@ -64,16 +68,22 @@ mvprog=${MVPROG-mv}
|
|||||||
rmprog=${RMPROG-rm}
|
rmprog=${RMPROG-rm}
|
||||||
stripprog=${STRIPPROG-strip}
|
stripprog=${STRIPPROG-strip}
|
||||||
|
|
||||||
|
posix_glob='?'
|
||||||
|
initialize_posix_glob='
|
||||||
|
test "$posix_glob" != "?" || {
|
||||||
|
if (set -f) 2>/dev/null; then
|
||||||
|
posix_glob=
|
||||||
|
else
|
||||||
|
posix_glob=:
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
||||||
posix_mkdir=
|
posix_mkdir=
|
||||||
|
|
||||||
# Desired mode of installed file.
|
# Desired mode of installed file.
|
||||||
mode=0755
|
mode=0755
|
||||||
|
|
||||||
# Create dirs (including intermediate dirs) using mode 755.
|
|
||||||
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
|
||||||
mkdir_umask=22
|
|
||||||
|
|
||||||
backupsuffix=
|
|
||||||
chgrpcmd=
|
chgrpcmd=
|
||||||
chmodcmd=$chmodprog
|
chmodcmd=$chmodprog
|
||||||
chowncmd=
|
chowncmd=
|
||||||
@@ -87,7 +97,7 @@ dir_arg=
|
|||||||
dst_arg=
|
dst_arg=
|
||||||
|
|
||||||
copy_on_change=false
|
copy_on_change=false
|
||||||
is_target_a_directory=possibly
|
no_target_directory=
|
||||||
|
|
||||||
usage="\
|
usage="\
|
||||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||||
@@ -104,28 +114,18 @@ Options:
|
|||||||
--version display version info and exit.
|
--version display version info and exit.
|
||||||
|
|
||||||
-c (ignored)
|
-c (ignored)
|
||||||
-C install only if different (preserve data modification time)
|
-C install only if different (preserve the last data modification time)
|
||||||
-d create directories instead of installing files.
|
-d create directories instead of installing files.
|
||||||
-g GROUP $chgrpprog installed files to GROUP.
|
-g GROUP $chgrpprog installed files to GROUP.
|
||||||
-m MODE $chmodprog installed files to MODE.
|
-m MODE $chmodprog installed files to MODE.
|
||||||
-o USER $chownprog installed files to USER.
|
-o USER $chownprog installed files to USER.
|
||||||
-p pass -p to $cpprog.
|
|
||||||
-s $stripprog installed files.
|
-s $stripprog installed files.
|
||||||
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
|
|
||||||
-t DIRECTORY install into DIRECTORY.
|
-t DIRECTORY install into DIRECTORY.
|
||||||
-T report an error if DSTFILE is a directory.
|
-T report an error if DSTFILE is a directory.
|
||||||
|
|
||||||
Environment variables override the default commands:
|
Environment variables override the default commands:
|
||||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||||
RMPROG STRIPPROG
|
RMPROG STRIPPROG
|
||||||
|
|
||||||
By default, rm is invoked with -f; when overridden with RMPROG,
|
|
||||||
it's up to you to specify -f if you want it.
|
|
||||||
|
|
||||||
If -S is not specified, no backups are attempted.
|
|
||||||
|
|
||||||
Email bug reports to bug-automake@gnu.org.
|
|
||||||
Automake home page: https://www.gnu.org/software/automake/
|
|
||||||
"
|
"
|
||||||
|
|
||||||
while test $# -ne 0; do
|
while test $# -ne 0; do
|
||||||
@@ -137,62 +137,46 @@ while test $# -ne 0; do
|
|||||||
-d) dir_arg=true;;
|
-d) dir_arg=true;;
|
||||||
|
|
||||||
-g) chgrpcmd="$chgrpprog $2"
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
shift;;
|
shift;;
|
||||||
|
|
||||||
--help) echo "$usage"; exit $?;;
|
--help) echo "$usage"; exit $?;;
|
||||||
|
|
||||||
-m) mode=$2
|
-m) mode=$2
|
||||||
case $mode in
|
case $mode in
|
||||||
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
*' '* | *' '* | *'
|
||||||
echo "$0: invalid mode: $mode" >&2
|
'* | *'*'* | *'?'* | *'['*)
|
||||||
exit 1;;
|
echo "$0: invalid mode: $mode" >&2
|
||||||
esac
|
exit 1;;
|
||||||
shift;;
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
-o) chowncmd="$chownprog $2"
|
-o) chowncmd="$chownprog $2"
|
||||||
shift;;
|
shift;;
|
||||||
|
|
||||||
-p) cpprog="$cpprog -p";;
|
|
||||||
|
|
||||||
-s) stripcmd=$stripprog;;
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
-S) backupsuffix="$2"
|
-t) dst_arg=$2
|
||||||
shift;;
|
# Protect names problematic for 'test' and other utilities.
|
||||||
|
case $dst_arg in
|
||||||
|
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||||
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
-t)
|
-T) no_target_directory=true;;
|
||||||
is_target_a_directory=always
|
|
||||||
dst_arg=$2
|
|
||||||
# Protect names problematic for 'test' and other utilities.
|
|
||||||
case $dst_arg in
|
|
||||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
|
||||||
esac
|
|
||||||
shift;;
|
|
||||||
|
|
||||||
-T) is_target_a_directory=never;;
|
|
||||||
|
|
||||||
--version) echo "$0 $scriptversion"; exit $?;;
|
--version) echo "$0 $scriptversion"; exit $?;;
|
||||||
|
|
||||||
--) shift
|
--) shift
|
||||||
break;;
|
break;;
|
||||||
|
|
||||||
-*) echo "$0: invalid option: $1" >&2
|
-*) echo "$0: invalid option: $1" >&2
|
||||||
exit 1;;
|
exit 1;;
|
||||||
|
|
||||||
*) break;;
|
*) break;;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
# We allow the use of options -d and -T together, by making -d
|
|
||||||
# take the precedence; this is for compatibility with GNU install.
|
|
||||||
|
|
||||||
if test -n "$dir_arg"; then
|
|
||||||
if test -n "$dst_arg"; then
|
|
||||||
echo "$0: target directory not allowed when installing a directory." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||||
# When -d is used, all remaining arguments are directories to create.
|
# When -d is used, all remaining arguments are directories to create.
|
||||||
# When -t is used, the destination is already specified.
|
# When -t is used, the destination is already specified.
|
||||||
@@ -223,15 +207,6 @@ if test $# -eq 0; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$dir_arg"; then
|
|
||||||
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
|
||||||
if test ! -d "$dst_arg"; then
|
|
||||||
echo "$0: $dst_arg: Is not a directory." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -z "$dir_arg"; then
|
if test -z "$dir_arg"; then
|
||||||
do_exit='(exit $ret); exit $ret'
|
do_exit='(exit $ret); exit $ret'
|
||||||
trap "ret=129; $do_exit" 1
|
trap "ret=129; $do_exit" 1
|
||||||
@@ -248,16 +223,16 @@ if test -z "$dir_arg"; then
|
|||||||
|
|
||||||
*[0-7])
|
*[0-7])
|
||||||
if test -z "$stripcmd"; then
|
if test -z "$stripcmd"; then
|
||||||
u_plus_rw=
|
u_plus_rw=
|
||||||
else
|
else
|
||||||
u_plus_rw='% 200'
|
u_plus_rw='% 200'
|
||||||
fi
|
fi
|
||||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||||
*)
|
*)
|
||||||
if test -z "$stripcmd"; then
|
if test -z "$stripcmd"; then
|
||||||
u_plus_rw=
|
u_plus_rw=
|
||||||
else
|
else
|
||||||
u_plus_rw=,u+rw
|
u_plus_rw=,u+rw
|
||||||
fi
|
fi
|
||||||
cp_umask=$mode$u_plus_rw;;
|
cp_umask=$mode$u_plus_rw;;
|
||||||
esac
|
esac
|
||||||
@@ -275,10 +250,6 @@ do
|
|||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
test -d "$dstdir"
|
test -d "$dstdir"
|
||||||
dstdir_status=$?
|
dstdir_status=$?
|
||||||
# Don't chown directories that already exist.
|
|
||||||
if test $dstdir_status = 0; then
|
|
||||||
chowncmd=""
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
|
|
||||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||||
@@ -295,148 +266,178 @@ do
|
|||||||
fi
|
fi
|
||||||
dst=$dst_arg
|
dst=$dst_arg
|
||||||
|
|
||||||
# If destination is a directory, append the input filename.
|
# If destination is a directory, append the input filename; won't work
|
||||||
|
# if double slashes aren't ignored.
|
||||||
if test -d "$dst"; then
|
if test -d "$dst"; then
|
||||||
if test "$is_target_a_directory" = never; then
|
if test -n "$no_target_directory"; then
|
||||||
echo "$0: $dst_arg: Is a directory" >&2
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
dstbase=`basename "$src"`
|
dst=$dstdir/`basename "$src"`
|
||||||
case $dst in
|
|
||||||
*/) dst=$dst$dstbase;;
|
|
||||||
*) dst=$dst/$dstbase;;
|
|
||||||
esac
|
|
||||||
dstdir_status=0
|
dstdir_status=0
|
||||||
else
|
else
|
||||||
dstdir=`dirname "$dst"`
|
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||||
|
dstdir=`
|
||||||
|
(dirname "$dst") 2>/dev/null ||
|
||||||
|
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
|
X"$dst" : 'X\(//\)[^/]' \| \
|
||||||
|
X"$dst" : 'X\(//\)$' \| \
|
||||||
|
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
|
echo X"$dst" |
|
||||||
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)[^/].*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\).*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
s/.*/./; q'
|
||||||
|
`
|
||||||
|
|
||||||
test -d "$dstdir"
|
test -d "$dstdir"
|
||||||
dstdir_status=$?
|
dstdir_status=$?
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $dstdir in
|
|
||||||
*/) dstdirslash=$dstdir;;
|
|
||||||
*) dstdirslash=$dstdir/;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
obsolete_mkdir_used=false
|
obsolete_mkdir_used=false
|
||||||
|
|
||||||
if test $dstdir_status != 0; then
|
if test $dstdir_status != 0; then
|
||||||
case $posix_mkdir in
|
case $posix_mkdir in
|
||||||
'')
|
'')
|
||||||
# With -d, create the new directory with the user-specified mode.
|
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||||
# Otherwise, rely on $mkdir_umask.
|
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||||
if test -n "$dir_arg"; then
|
umask=`umask`
|
||||||
mkdir_mode=-m$mode
|
case $stripcmd.$umask in
|
||||||
else
|
# Optimize common cases.
|
||||||
mkdir_mode=
|
*[2367][2367]) mkdir_umask=$umask;;
|
||||||
fi
|
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||||
|
|
||||||
posix_mkdir=false
|
*[0-7])
|
||||||
# The $RANDOM variable is not portable (e.g., dash). Use it
|
mkdir_umask=`expr $umask + 22 \
|
||||||
# here however when possible just to lower collision chance.
|
- $umask % 100 % 40 + $umask % 20 \
|
||||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
- $umask % 10 % 4 + $umask % 2
|
||||||
|
`;;
|
||||||
|
*) mkdir_umask=$umask,go-w;;
|
||||||
|
esac
|
||||||
|
|
||||||
trap '
|
# With -d, create the new directory with the user-specified mode.
|
||||||
ret=$?
|
# Otherwise, rely on $mkdir_umask.
|
||||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
|
if test -n "$dir_arg"; then
|
||||||
exit $ret
|
mkdir_mode=-m$mode
|
||||||
' 0
|
|
||||||
|
|
||||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
|
||||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
|
||||||
# directory is successfully created first before we actually test
|
|
||||||
# 'mkdir -p'.
|
|
||||||
if (umask $mkdir_umask &&
|
|
||||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
|
||||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
|
||||||
then
|
|
||||||
if test -z "$dir_arg" || {
|
|
||||||
# Check for POSIX incompatibilities with -m.
|
|
||||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
|
||||||
# other-writable bit of parent directory when it shouldn't.
|
|
||||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
|
||||||
test_tmpdir="$tmpdir/a"
|
|
||||||
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
|
||||||
case $ls_ld_tmpdir in
|
|
||||||
d????-?r-*) different_mode=700;;
|
|
||||||
d????-?--*) different_mode=755;;
|
|
||||||
*) false;;
|
|
||||||
esac &&
|
|
||||||
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
|
||||||
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
|
||||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
then posix_mkdir=:
|
|
||||||
fi
|
|
||||||
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
|
||||||
else
|
else
|
||||||
# Remove any dirs left behind by ancient mkdir implementations.
|
mkdir_mode=
|
||||||
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
|
||||||
fi
|
fi
|
||||||
trap '' 0;;
|
|
||||||
|
posix_mkdir=false
|
||||||
|
case $umask in
|
||||||
|
*[123567][0-7][0-7])
|
||||||
|
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||||
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
|
if (umask $mkdir_umask &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
if test -z "$dir_arg" || {
|
||||||
|
# Check for POSIX incompatibilities with -m.
|
||||||
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
|
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||||
|
case $ls_ld_tmpdir in
|
||||||
|
d????-?r-*) different_mode=700;;
|
||||||
|
d????-?--*) different_mode=755;;
|
||||||
|
*) false;;
|
||||||
|
esac &&
|
||||||
|
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||||
|
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||||
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
then posix_mkdir=:
|
||||||
|
fi
|
||||||
|
rmdir "$tmpdir/d" "$tmpdir"
|
||||||
|
else
|
||||||
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
|
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||||
|
fi
|
||||||
|
trap '' 0;;
|
||||||
|
esac;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if
|
if
|
||||||
$posix_mkdir && (
|
$posix_mkdir && (
|
||||||
umask $mkdir_umask &&
|
umask $mkdir_umask &&
|
||||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||||
)
|
)
|
||||||
then :
|
then :
|
||||||
else
|
else
|
||||||
|
|
||||||
# mkdir does not conform to POSIX,
|
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||||
# or it failed possibly due to a race condition. Create the
|
# or it failed possibly due to a race condition. Create the
|
||||||
# directory the slow way, step by step, checking for races as we go.
|
# directory the slow way, step by step, checking for races as we go.
|
||||||
|
|
||||||
case $dstdir in
|
case $dstdir in
|
||||||
/*) prefix='/';;
|
/*) prefix='/';;
|
||||||
[-=\(\)!]*) prefix='./';;
|
[-=\(\)!]*) prefix='./';;
|
||||||
*) prefix='';;
|
*) prefix='';;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
eval "$initialize_posix_glob"
|
||||||
|
|
||||||
oIFS=$IFS
|
oIFS=$IFS
|
||||||
IFS=/
|
IFS=/
|
||||||
set -f
|
$posix_glob set -f
|
||||||
set fnord $dstdir
|
set fnord $dstdir
|
||||||
shift
|
shift
|
||||||
set +f
|
$posix_glob set +f
|
||||||
IFS=$oIFS
|
IFS=$oIFS
|
||||||
|
|
||||||
prefixes=
|
prefixes=
|
||||||
|
|
||||||
for d
|
for d
|
||||||
do
|
do
|
||||||
test X"$d" = X && continue
|
test X"$d" = X && continue
|
||||||
|
|
||||||
prefix=$prefix$d
|
prefix=$prefix$d
|
||||||
if test -d "$prefix"; then
|
if test -d "$prefix"; then
|
||||||
prefixes=
|
prefixes=
|
||||||
else
|
else
|
||||||
if $posix_mkdir; then
|
if $posix_mkdir; then
|
||||||
(umask $mkdir_umask &&
|
(umask=$mkdir_umask &&
|
||||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
# Don't fail if two instances are running concurrently.
|
# Don't fail if two instances are running concurrently.
|
||||||
test -d "$prefix" || exit 1
|
test -d "$prefix" || exit 1
|
||||||
else
|
else
|
||||||
case $prefix in
|
case $prefix in
|
||||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||||
*) qprefix=$prefix;;
|
*) qprefix=$prefix;;
|
||||||
esac
|
esac
|
||||||
prefixes="$prefixes '$qprefix'"
|
prefixes="$prefixes '$qprefix'"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
prefix=$prefix/
|
prefix=$prefix/
|
||||||
done
|
done
|
||||||
|
|
||||||
if test -n "$prefixes"; then
|
if test -n "$prefixes"; then
|
||||||
# Don't fail if two instances are running concurrently.
|
# Don't fail if two instances are running concurrently.
|
||||||
(umask $mkdir_umask &&
|
(umask $mkdir_umask &&
|
||||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||||
test -d "$dstdir" || exit 1
|
test -d "$dstdir" || exit 1
|
||||||
obsolete_mkdir_used=true
|
obsolete_mkdir_used=true
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -449,25 +450,14 @@ do
|
|||||||
else
|
else
|
||||||
|
|
||||||
# Make a couple of temp file names in the proper directory.
|
# Make a couple of temp file names in the proper directory.
|
||||||
dsttmp=${dstdirslash}_inst.$$_
|
dsttmp=$dstdir/_inst.$$_
|
||||||
rmtmp=${dstdirslash}_rm.$$_
|
rmtmp=$dstdir/_rm.$$_
|
||||||
|
|
||||||
# Trap to clean up those temp files at exit.
|
# Trap to clean up those temp files at exit.
|
||||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
|
|
||||||
# Copy the file name to the temp name.
|
# Copy the file name to the temp name.
|
||||||
(umask $cp_umask &&
|
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||||
{ test -z "$stripcmd" || {
|
|
||||||
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
|
||||||
# which would cause strip to fail.
|
|
||||||
if test -z "$doit"; then
|
|
||||||
: >"$dsttmp" # No need to fork-exec 'touch'.
|
|
||||||
else
|
|
||||||
$doit touch "$dsttmp"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
} &&
|
|
||||||
$doit_exec $cpprog "$src" "$dsttmp") &&
|
|
||||||
|
|
||||||
# and set any options; do chmod last to preserve setuid bits.
|
# and set any options; do chmod last to preserve setuid bits.
|
||||||
#
|
#
|
||||||
@@ -482,24 +472,20 @@ do
|
|||||||
|
|
||||||
# If -C, don't bother to copy if it wouldn't change the file.
|
# If -C, don't bother to copy if it wouldn't change the file.
|
||||||
if $copy_on_change &&
|
if $copy_on_change &&
|
||||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||||
set -f &&
|
|
||||||
|
eval "$initialize_posix_glob" &&
|
||||||
|
$posix_glob set -f &&
|
||||||
set X $old && old=:$2:$4:$5:$6 &&
|
set X $old && old=:$2:$4:$5:$6 &&
|
||||||
set X $new && new=:$2:$4:$5:$6 &&
|
set X $new && new=:$2:$4:$5:$6 &&
|
||||||
set +f &&
|
$posix_glob set +f &&
|
||||||
|
|
||||||
test "$old" = "$new" &&
|
test "$old" = "$new" &&
|
||||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
rm -f "$dsttmp"
|
rm -f "$dsttmp"
|
||||||
else
|
else
|
||||||
# If $backupsuffix is set, and the file being installed
|
|
||||||
# already exists, attempt a backup. Don't worry if it fails,
|
|
||||||
# e.g., if mv doesn't support -f.
|
|
||||||
if test -n "$backupsuffix" && test -f "$dst"; then
|
|
||||||
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Rename the file to the real destination.
|
# Rename the file to the real destination.
|
||||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||||
|
|
||||||
@@ -507,24 +493,24 @@ do
|
|||||||
# to itself, or perhaps because mv is so ancient that it does not
|
# to itself, or perhaps because mv is so ancient that it does not
|
||||||
# support -f.
|
# support -f.
|
||||||
{
|
{
|
||||||
# Now remove or move aside any old file at destination location.
|
# Now remove or move aside any old file at destination location.
|
||||||
# We try this two ways since rm can't unlink itself on some
|
# We try this two ways since rm can't unlink itself on some
|
||||||
# systems and the destination file might be busy for other
|
# systems and the destination file might be busy for other
|
||||||
# reasons. In this case, the final cleanup might fail but the new
|
# reasons. In this case, the final cleanup might fail but the new
|
||||||
# file should still install successfully.
|
# file should still install successfully.
|
||||||
{
|
{
|
||||||
test ! -f "$dst" ||
|
test ! -f "$dst" ||
|
||||||
$doit $rmcmd "$dst" 2>/dev/null ||
|
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||||
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
|
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||||
} ||
|
} ||
|
||||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||||
(exit 1); exit 1
|
(exit 1); exit 1
|
||||||
}
|
}
|
||||||
} &&
|
} &&
|
||||||
|
|
||||||
# Now rename the file to the real destination.
|
# Now rename the file to the real destination.
|
||||||
$doit $mvcmd "$dsttmp" "$dst"
|
$doit $mvcmd "$dsttmp" "$dst"
|
||||||
}
|
}
|
||||||
fi || exit 1
|
fi || exit 1
|
||||||
|
|
||||||
@@ -533,9 +519,9 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: layer12.c,v 1.17 2004/02/05 09:02:39 rob Exp $
|
* $Id: layer12.c,v 1.3 2006-10-19 10:44:19 msmeyer Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
@@ -363,6 +363,7 @@ int mad_layer_II(struct mad_stream *stream, struct mad_frame *frame)
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
else { /* nch == 1 */
|
else { /* nch == 1 */
|
||||||
|
#if 0 /* relax restriction, those files do import fine! */
|
||||||
if (bitrate_per_channel > 192000) {
|
if (bitrate_per_channel > 192000) {
|
||||||
/*
|
/*
|
||||||
* ISO/IEC 11172-3 does not allow single channel mode for 224, 256,
|
* ISO/IEC 11172-3 does not allow single channel mode for 224, 256,
|
||||||
@@ -371,6 +372,7 @@ int mad_layer_II(struct mad_stream *stream, struct mad_frame *frame)
|
|||||||
stream->error = MAD_ERROR_BADMODE;
|
stream->error = MAD_ERROR_BADMODE;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bitrate_per_channel <= 48000)
|
if (bitrate_per_channel <= 48000)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: layer12.h,v 1.10 2004/01/23 09:41:32 rob Exp $
|
* $Id: layer12.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_LAYER12_H
|
# ifndef LIBMAD_LAYER12_H
|
||||||
|
|||||||
+7
-2
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: layer3.c,v 1.43 2004/01/23 09:41:32 rob Exp $
|
* $Id: layer3.c,v 1.3 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
@@ -2632,9 +2632,14 @@ int mad_layer_III(struct mad_stream *stream, struct mad_frame *frame)
|
|||||||
assert(stream->md_len + md_len -
|
assert(stream->md_len + md_len -
|
||||||
si.main_data_begin <= MAD_BUFFER_MDLEN);
|
si.main_data_begin <= MAD_BUFFER_MDLEN);
|
||||||
|
|
||||||
|
int nCopy = md_len - si.main_data_begin;
|
||||||
|
if (nCopy > MAD_BUFFER_MDLEN - stream->md_len)
|
||||||
|
// PRL defend against an observed violation of the assertion above
|
||||||
|
nCopy = MAD_BUFFER_MDLEN - stream->md_len;
|
||||||
|
|
||||||
memcpy(*stream->main_data + stream->md_len,
|
memcpy(*stream->main_data + stream->md_len,
|
||||||
mad_bit_nextbyte(&stream->ptr),
|
mad_bit_nextbyte(&stream->ptr),
|
||||||
frame_used = md_len - si.main_data_begin);
|
frame_used = nCopy);
|
||||||
stream->md_len += frame_used;
|
stream->md_len += frame_used;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: layer3.h,v 1.10 2004/01/23 09:41:32 rob Exp $
|
* $Id: layer3.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_LAYER3_H
|
# ifndef LIBMAD_LAYER3_H
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
--- ../../libmad-0.15.1b/layer12.c 2004-02-05 09:02:39.000000000 +0000
|
||||||
|
+++ libmad/layer12.c 2006-10-19 11:44:19.000000000 +0100
|
||||||
|
@@ -16,7 +16,7 @@
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*
|
||||||
|
- * $Id: libmad-mp2-out-of-spec.patch,v 1.1 2008-02-01 20:29:07 richardash1981 Exp $
|
||||||
|
+ * $Id: libmad-mp2-out-of-spec.patch,v 1.1 2008-02-01 20:29:07 richardash1981 Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
# ifdef HAVE_CONFIG_H
|
||||||
|
@@ -363,6 +363,7 @@
|
||||||
|
# endif
|
||||||
|
}
|
||||||
|
else { /* nch == 1 */
|
||||||
|
+#if 0 /* relax restriction, those files do import fine! */
|
||||||
|
if (bitrate_per_channel > 192000) {
|
||||||
|
/*
|
||||||
|
* ISO/IEC 11172-3 does not allow single channel mode for 224, 256,
|
||||||
|
@@ -371,6 +372,7 @@
|
||||||
|
stream->error = MAD_ERROR_BADMODE;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bitrate_per_channel <= 48000)
|
||||||
File diff suppressed because it is too large
Load Diff
+2140
-3915
File diff suppressed because it is too large
Load Diff
@@ -1,964 +0,0 @@
|
|||||||
/*
|
|
||||||
* libmad - MPEG audio decoder library
|
|
||||||
* Copyright (C) 2000-2004 Underbit Technologies, Inc.
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*
|
|
||||||
* If you would like to negotiate alternate licensing terms, you may do
|
|
||||||
* so by contacting: Underbit Technologies, Inc. <info@underbit.com>
|
|
||||||
*/
|
|
||||||
|
|
||||||
# ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define FPM_INTEL
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# define SIZEOF_INT 4
|
|
||||||
# define SIZEOF_LONG 4
|
|
||||||
# define SIZEOF_LONG_LONG 8
|
|
||||||
|
|
||||||
|
|
||||||
/* Id: version.h,v 1.26 2004/01/23 09:41:33 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_VERSION_H
|
|
||||||
# define LIBMAD_VERSION_H
|
|
||||||
|
|
||||||
# define MAD_VERSION_MAJOR 0
|
|
||||||
# define MAD_VERSION_MINOR 15
|
|
||||||
# define MAD_VERSION_PATCH 1
|
|
||||||
# define MAD_VERSION_EXTRA " (beta)"
|
|
||||||
|
|
||||||
# define MAD_VERSION_STRINGIZE(str) #str
|
|
||||||
# define MAD_VERSION_STRING(num) MAD_VERSION_STRINGIZE(num)
|
|
||||||
|
|
||||||
# define MAD_VERSION MAD_VERSION_STRING(MAD_VERSION_MAJOR) "." \
|
|
||||||
MAD_VERSION_STRING(MAD_VERSION_MINOR) "." \
|
|
||||||
MAD_VERSION_STRING(MAD_VERSION_PATCH) \
|
|
||||||
MAD_VERSION_EXTRA
|
|
||||||
|
|
||||||
# define MAD_PUBLISHYEAR "2000-2004"
|
|
||||||
# define MAD_AUTHOR "Underbit Technologies, Inc."
|
|
||||||
# define MAD_EMAIL "info@underbit.com"
|
|
||||||
|
|
||||||
extern char const mad_version[];
|
|
||||||
extern char const mad_copyright[];
|
|
||||||
extern char const mad_author[];
|
|
||||||
extern char const mad_build[];
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: fixed.h,v 1.38 2004/02/17 02:02:03 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_FIXED_H
|
|
||||||
# define LIBMAD_FIXED_H
|
|
||||||
|
|
||||||
# if SIZEOF_INT >= 4
|
|
||||||
typedef signed int mad_fixed_t;
|
|
||||||
|
|
||||||
typedef signed int mad_fixed64hi_t;
|
|
||||||
typedef unsigned int mad_fixed64lo_t;
|
|
||||||
# else
|
|
||||||
typedef signed long mad_fixed_t;
|
|
||||||
|
|
||||||
typedef signed long mad_fixed64hi_t;
|
|
||||||
typedef unsigned long mad_fixed64lo_t;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if defined(_MSC_VER)
|
|
||||||
# define mad_fixed64_t signed __int64
|
|
||||||
# elif 1 || defined(__GNUC__)
|
|
||||||
# define mad_fixed64_t signed long long
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if defined(FPM_FLOAT)
|
|
||||||
typedef double mad_sample_t;
|
|
||||||
# else
|
|
||||||
typedef mad_fixed_t mad_sample_t;
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Fixed-point format: 0xABBBBBBB
|
|
||||||
* A == whole part (sign + 3 bits)
|
|
||||||
* B == fractional part (28 bits)
|
|
||||||
*
|
|
||||||
* Values are signed two's complement, so the effective range is:
|
|
||||||
* 0x80000000 to 0x7fffffff
|
|
||||||
* -8.0 to +7.9999999962747097015380859375
|
|
||||||
*
|
|
||||||
* The smallest representable value is:
|
|
||||||
* 0x00000001 == 0.0000000037252902984619140625 (i.e. about 3.725e-9)
|
|
||||||
*
|
|
||||||
* 28 bits of fractional accuracy represent about
|
|
||||||
* 8.6 digits of decimal accuracy.
|
|
||||||
*
|
|
||||||
* Fixed-point numbers can be added or subtracted as normal
|
|
||||||
* integers, but multiplication requires shifting the 64-bit result
|
|
||||||
* from 56 fractional bits back to 28 (and rounding.)
|
|
||||||
*
|
|
||||||
* Changing the definition of MAD_F_FRACBITS is only partially
|
|
||||||
* supported, and must be done with care.
|
|
||||||
*/
|
|
||||||
|
|
||||||
# define MAD_F_FRACBITS 28
|
|
||||||
|
|
||||||
# if MAD_F_FRACBITS == 28
|
|
||||||
# define MAD_F(x) ((mad_fixed_t) (x##L))
|
|
||||||
# else
|
|
||||||
# if MAD_F_FRACBITS < 28
|
|
||||||
# warning "MAD_F_FRACBITS < 28"
|
|
||||||
# define MAD_F(x) ((mad_fixed_t) \
|
|
||||||
(((x##L) + \
|
|
||||||
(1L << (28 - MAD_F_FRACBITS - 1))) >> \
|
|
||||||
(28 - MAD_F_FRACBITS)))
|
|
||||||
# elif MAD_F_FRACBITS > 28
|
|
||||||
# error "MAD_F_FRACBITS > 28 not currently supported"
|
|
||||||
# define MAD_F(x) ((mad_fixed_t) \
|
|
||||||
((x##L) << (MAD_F_FRACBITS - 28)))
|
|
||||||
# endif
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define MAD_F_MIN ((mad_fixed_t) -0x80000000L)
|
|
||||||
# define MAD_F_MAX ((mad_fixed_t) +0x7fffffffL)
|
|
||||||
|
|
||||||
# define MAD_F_ONE MAD_F(0x10000000)
|
|
||||||
|
|
||||||
# define mad_f_tofixed(x) ((mad_fixed_t) \
|
|
||||||
((x) * (double) (1L << MAD_F_FRACBITS) + 0.5))
|
|
||||||
# define mad_f_todouble(x) ((double) \
|
|
||||||
((x) / (double) (1L << MAD_F_FRACBITS)))
|
|
||||||
|
|
||||||
# define mad_f_intpart(x) ((x) >> MAD_F_FRACBITS)
|
|
||||||
# define mad_f_fracpart(x) ((x) & ((1L << MAD_F_FRACBITS) - 1))
|
|
||||||
/* (x should be positive) */
|
|
||||||
|
|
||||||
# define mad_f_fromint(x) ((x) << MAD_F_FRACBITS)
|
|
||||||
|
|
||||||
# define mad_f_add(x, y) ((x) + (y))
|
|
||||||
# define mad_f_sub(x, y) ((x) - (y))
|
|
||||||
|
|
||||||
# if defined(FPM_FLOAT)
|
|
||||||
# error "FPM_FLOAT not yet supported"
|
|
||||||
|
|
||||||
# undef MAD_F
|
|
||||||
# define MAD_F(x) mad_f_todouble(x)
|
|
||||||
|
|
||||||
# define mad_f_mul(x, y) ((x) * (y))
|
|
||||||
# define mad_f_scale64
|
|
||||||
|
|
||||||
# undef ASO_ZEROCHECK
|
|
||||||
|
|
||||||
# elif defined(FPM_64BIT)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This version should be the most accurate if 64-bit types are supported by
|
|
||||||
* the compiler, although it may not be the most efficient.
|
|
||||||
*/
|
|
||||||
# if defined(OPT_ACCURACY)
|
|
||||||
# define mad_f_mul(x, y) \
|
|
||||||
((mad_fixed_t) \
|
|
||||||
((((mad_fixed64_t) (x) * (y)) + \
|
|
||||||
(1L << (MAD_F_SCALEBITS - 1))) >> MAD_F_SCALEBITS))
|
|
||||||
# else
|
|
||||||
# define mad_f_mul(x, y) \
|
|
||||||
((mad_fixed_t) (((mad_fixed64_t) (x) * (y)) >> MAD_F_SCALEBITS))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define MAD_F_SCALEBITS MAD_F_FRACBITS
|
|
||||||
|
|
||||||
/* --- Intel --------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# elif defined(FPM_INTEL)
|
|
||||||
|
|
||||||
# if defined(_MSC_VER)
|
|
||||||
# pragma warning(push)
|
|
||||||
# pragma warning(disable: 4035) /* no return value */
|
|
||||||
static __forceinline
|
|
||||||
mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
|
|
||||||
{
|
|
||||||
enum {
|
|
||||||
fracbits = MAD_F_FRACBITS
|
|
||||||
};
|
|
||||||
|
|
||||||
__asm {
|
|
||||||
mov eax, x
|
|
||||||
imul y
|
|
||||||
shrd eax, edx, fracbits
|
|
||||||
}
|
|
||||||
|
|
||||||
/* implicit return of eax */
|
|
||||||
}
|
|
||||||
# pragma warning(pop)
|
|
||||||
|
|
||||||
# define mad_f_mul mad_f_mul_inline
|
|
||||||
# define mad_f_scale64
|
|
||||||
# else
|
|
||||||
/*
|
|
||||||
* This Intel version is fast and accurate; the disposition of the least
|
|
||||||
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
|
|
||||||
*/
|
|
||||||
# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
asm ("imull %3" \
|
|
||||||
: "=a" (lo), "=d" (hi) \
|
|
||||||
: "%a" (x), "rm" (y) \
|
|
||||||
: "cc")
|
|
||||||
|
|
||||||
# if defined(OPT_ACCURACY)
|
|
||||||
/*
|
|
||||||
* This gives best accuracy but is not very fast.
|
|
||||||
*/
|
|
||||||
# define MAD_F_MLA(hi, lo, x, y) \
|
|
||||||
({ mad_fixed64hi_t __hi; \
|
|
||||||
mad_fixed64lo_t __lo; \
|
|
||||||
MAD_F_MLX(__hi, __lo, (x), (y)); \
|
|
||||||
asm ("addl %2,%0\n\t" \
|
|
||||||
"adcl %3,%1" \
|
|
||||||
: "=rm" (lo), "=rm" (hi) \
|
|
||||||
: "r" (__lo), "r" (__hi), "0" (lo), "1" (hi) \
|
|
||||||
: "cc"); \
|
|
||||||
})
|
|
||||||
# endif /* OPT_ACCURACY */
|
|
||||||
|
|
||||||
# if defined(OPT_ACCURACY)
|
|
||||||
/*
|
|
||||||
* Surprisingly, this is faster than SHRD followed by ADC.
|
|
||||||
*/
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
({ mad_fixed64hi_t __hi_; \
|
|
||||||
mad_fixed64lo_t __lo_; \
|
|
||||||
mad_fixed_t __result; \
|
|
||||||
asm ("addl %4,%2\n\t" \
|
|
||||||
"adcl %5,%3" \
|
|
||||||
: "=rm" (__lo_), "=rm" (__hi_) \
|
|
||||||
: "0" (lo), "1" (hi), \
|
|
||||||
"ir" (1L << (MAD_F_SCALEBITS - 1)), "ir" (0) \
|
|
||||||
: "cc"); \
|
|
||||||
asm ("shrdl %3,%2,%1" \
|
|
||||||
: "=rm" (__result) \
|
|
||||||
: "0" (__lo_), "r" (__hi_), "I" (MAD_F_SCALEBITS) \
|
|
||||||
: "cc"); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
# elif defined(OPT_INTEL)
|
|
||||||
/*
|
|
||||||
* Alternate Intel scaling that may or may not perform better.
|
|
||||||
*/
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
({ mad_fixed_t __result; \
|
|
||||||
asm ("shrl %3,%1\n\t" \
|
|
||||||
"shll %4,%2\n\t" \
|
|
||||||
"orl %2,%1" \
|
|
||||||
: "=rm" (__result) \
|
|
||||||
: "0" (lo), "r" (hi), \
|
|
||||||
"I" (MAD_F_SCALEBITS), "I" (32 - MAD_F_SCALEBITS) \
|
|
||||||
: "cc"); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
# else
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
({ mad_fixed_t __result; \
|
|
||||||
asm ("shrdl %3,%2,%1" \
|
|
||||||
: "=rm" (__result) \
|
|
||||||
: "0" (lo), "r" (hi), "I" (MAD_F_SCALEBITS) \
|
|
||||||
: "cc"); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
# endif /* OPT_ACCURACY */
|
|
||||||
|
|
||||||
# define MAD_F_SCALEBITS MAD_F_FRACBITS
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* --- ARM ----------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# elif defined(FPM_ARM)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This ARM V4 version is as accurate as FPM_64BIT but much faster. The
|
|
||||||
* least significant bit is properly rounded at no CPU cycle cost!
|
|
||||||
*/
|
|
||||||
# if 1
|
|
||||||
/*
|
|
||||||
* This is faster than the default implementation via MAD_F_MLX() and
|
|
||||||
* mad_f_scale64().
|
|
||||||
*/
|
|
||||||
# define mad_f_mul(x, y) \
|
|
||||||
({ mad_fixed64hi_t __hi; \
|
|
||||||
mad_fixed64lo_t __lo; \
|
|
||||||
mad_fixed_t __result; \
|
|
||||||
asm ("smull %0, %1, %3, %4\n\t" \
|
|
||||||
"movs %0, %0, lsr %5\n\t" \
|
|
||||||
"adc %2, %0, %1, lsl %6" \
|
|
||||||
: "=&r" (__lo), "=&r" (__hi), "=r" (__result) \
|
|
||||||
: "%r" (x), "r" (y), \
|
|
||||||
"M" (MAD_F_SCALEBITS), "M" (32 - MAD_F_SCALEBITS) \
|
|
||||||
: "cc"); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
asm ("smull %0, %1, %2, %3" \
|
|
||||||
: "=&r" (lo), "=&r" (hi) \
|
|
||||||
: "%r" (x), "r" (y))
|
|
||||||
|
|
||||||
# define MAD_F_MLA(hi, lo, x, y) \
|
|
||||||
asm ("smlal %0, %1, %2, %3" \
|
|
||||||
: "+r" (lo), "+r" (hi) \
|
|
||||||
: "%r" (x), "r" (y))
|
|
||||||
|
|
||||||
# define MAD_F_MLN(hi, lo) \
|
|
||||||
asm ("rsbs %0, %2, #0\n\t" \
|
|
||||||
"rsc %1, %3, #0" \
|
|
||||||
: "=r" (lo), "=r" (hi) \
|
|
||||||
: "0" (lo), "1" (hi) \
|
|
||||||
: "cc")
|
|
||||||
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
({ mad_fixed_t __result; \
|
|
||||||
asm ("movs %0, %1, lsr %3\n\t" \
|
|
||||||
"adc %0, %0, %2, lsl %4" \
|
|
||||||
: "=&r" (__result) \
|
|
||||||
: "r" (lo), "r" (hi), \
|
|
||||||
"M" (MAD_F_SCALEBITS), "M" (32 - MAD_F_SCALEBITS) \
|
|
||||||
: "cc"); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
|
|
||||||
# define MAD_F_SCALEBITS MAD_F_FRACBITS
|
|
||||||
|
|
||||||
/* --- MIPS ---------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# elif defined(FPM_MIPS)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This MIPS version is fast and accurate; the disposition of the least
|
|
||||||
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
|
|
||||||
*/
|
|
||||||
# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
asm ("mult %2,%3" \
|
|
||||||
: "=l" (lo), "=h" (hi) \
|
|
||||||
: "%r" (x), "r" (y))
|
|
||||||
|
|
||||||
# if defined(HAVE_MADD_ASM)
|
|
||||||
# define MAD_F_MLA(hi, lo, x, y) \
|
|
||||||
asm ("madd %2,%3" \
|
|
||||||
: "+l" (lo), "+h" (hi) \
|
|
||||||
: "%r" (x), "r" (y))
|
|
||||||
# elif defined(HAVE_MADD16_ASM)
|
|
||||||
/*
|
|
||||||
* This loses significant accuracy due to the 16-bit integer limit in the
|
|
||||||
* multiply/accumulate instruction.
|
|
||||||
*/
|
|
||||||
# define MAD_F_ML0(hi, lo, x, y) \
|
|
||||||
asm ("mult %2,%3" \
|
|
||||||
: "=l" (lo), "=h" (hi) \
|
|
||||||
: "%r" ((x) >> 12), "r" ((y) >> 16))
|
|
||||||
# define MAD_F_MLA(hi, lo, x, y) \
|
|
||||||
asm ("madd16 %2,%3" \
|
|
||||||
: "+l" (lo), "+h" (hi) \
|
|
||||||
: "%r" ((x) >> 12), "r" ((y) >> 16))
|
|
||||||
# define MAD_F_MLZ(hi, lo) ((mad_fixed_t) (lo))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if defined(OPT_SPEED)
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
((mad_fixed_t) ((hi) << (32 - MAD_F_SCALEBITS)))
|
|
||||||
# define MAD_F_SCALEBITS MAD_F_FRACBITS
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* --- SPARC --------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# elif defined(FPM_SPARC)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This SPARC V8 version is fast and accurate; the disposition of the least
|
|
||||||
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
|
|
||||||
*/
|
|
||||||
# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
asm ("smul %2, %3, %0\n\t" \
|
|
||||||
"rd %%y, %1" \
|
|
||||||
: "=r" (lo), "=r" (hi) \
|
|
||||||
: "%r" (x), "rI" (y))
|
|
||||||
|
|
||||||
/* --- PowerPC ------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# elif defined(FPM_PPC)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This PowerPC version is fast and accurate; the disposition of the least
|
|
||||||
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
|
|
||||||
*/
|
|
||||||
# define MAD_F_MLX(hi, lo, x, y) \
|
|
||||||
do { \
|
|
||||||
asm ("mullw %0,%1,%2" \
|
|
||||||
: "=r" (lo) \
|
|
||||||
: "%r" (x), "r" (y)); \
|
|
||||||
asm ("mulhw %0,%1,%2" \
|
|
||||||
: "=r" (hi) \
|
|
||||||
: "%r" (x), "r" (y)); \
|
|
||||||
} \
|
|
||||||
while (0)
|
|
||||||
|
|
||||||
# if defined(OPT_ACCURACY)
|
|
||||||
/*
|
|
||||||
* This gives best accuracy but is not very fast.
|
|
||||||
*/
|
|
||||||
# define MAD_F_MLA(hi, lo, x, y) \
|
|
||||||
({ mad_fixed64hi_t __hi; \
|
|
||||||
mad_fixed64lo_t __lo; \
|
|
||||||
MAD_F_MLX(__hi, __lo, (x), (y)); \
|
|
||||||
asm ("addc %0,%2,%3\n\t" \
|
|
||||||
"adde %1,%4,%5" \
|
|
||||||
: "=r" (lo), "=r" (hi) \
|
|
||||||
: "%r" (lo), "r" (__lo), \
|
|
||||||
"%r" (hi), "r" (__hi) \
|
|
||||||
: "xer"); \
|
|
||||||
})
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if defined(OPT_ACCURACY)
|
|
||||||
/*
|
|
||||||
* This is slower than the truncating version below it.
|
|
||||||
*/
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
({ mad_fixed_t __result, __round; \
|
|
||||||
asm ("rotrwi %0,%1,%2" \
|
|
||||||
: "=r" (__result) \
|
|
||||||
: "r" (lo), "i" (MAD_F_SCALEBITS)); \
|
|
||||||
asm ("extrwi %0,%1,1,0" \
|
|
||||||
: "=r" (__round) \
|
|
||||||
: "r" (__result)); \
|
|
||||||
asm ("insrwi %0,%1,%2,0" \
|
|
||||||
: "+r" (__result) \
|
|
||||||
: "r" (hi), "i" (MAD_F_SCALEBITS)); \
|
|
||||||
asm ("add %0,%1,%2" \
|
|
||||||
: "=r" (__result) \
|
|
||||||
: "%r" (__result), "r" (__round)); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
# else
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
({ mad_fixed_t __result; \
|
|
||||||
asm ("rotrwi %0,%1,%2" \
|
|
||||||
: "=r" (__result) \
|
|
||||||
: "r" (lo), "i" (MAD_F_SCALEBITS)); \
|
|
||||||
asm ("insrwi %0,%1,%2,0" \
|
|
||||||
: "+r" (__result) \
|
|
||||||
: "r" (hi), "i" (MAD_F_SCALEBITS)); \
|
|
||||||
__result; \
|
|
||||||
})
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# define MAD_F_SCALEBITS MAD_F_FRACBITS
|
|
||||||
|
|
||||||
/* --- Default ------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# elif defined(FPM_DEFAULT)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This version is the most portable but it loses significant accuracy.
|
|
||||||
* Furthermore, accuracy is biased against the second argument, so care
|
|
||||||
* should be taken when ordering operands.
|
|
||||||
*
|
|
||||||
* The scale factors are constant as this is not used with SSO.
|
|
||||||
*
|
|
||||||
* Pre-rounding is required to stay within the limits of compliance.
|
|
||||||
*/
|
|
||||||
# if defined(OPT_SPEED)
|
|
||||||
# define mad_f_mul(x, y) (((x) >> 12) * ((y) >> 16))
|
|
||||||
# else
|
|
||||||
# define mad_f_mul(x, y) ((((x) + (1L << 11)) >> 12) * \
|
|
||||||
(((y) + (1L << 15)) >> 16))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
# else
|
|
||||||
# error "no FPM selected"
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* default implementations */
|
|
||||||
|
|
||||||
# if !defined(mad_f_mul)
|
|
||||||
# define mad_f_mul(x, y) \
|
|
||||||
({ register mad_fixed64hi_t __hi; \
|
|
||||||
register mad_fixed64lo_t __lo; \
|
|
||||||
MAD_F_MLX(__hi, __lo, (x), (y)); \
|
|
||||||
mad_f_scale64(__hi, __lo); \
|
|
||||||
})
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if !defined(MAD_F_MLA)
|
|
||||||
# define MAD_F_ML0(hi, lo, x, y) ((lo) = mad_f_mul((x), (y)))
|
|
||||||
# define MAD_F_MLA(hi, lo, x, y) ((lo) += mad_f_mul((x), (y)))
|
|
||||||
# define MAD_F_MLN(hi, lo) ((lo) = -(lo))
|
|
||||||
# define MAD_F_MLZ(hi, lo) ((void) (hi), (mad_fixed_t) (lo))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if !defined(MAD_F_ML0)
|
|
||||||
# define MAD_F_ML0(hi, lo, x, y) MAD_F_MLX((hi), (lo), (x), (y))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if !defined(MAD_F_MLN)
|
|
||||||
# define MAD_F_MLN(hi, lo) ((hi) = ((lo) = -(lo)) ? ~(hi) : -(hi))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if !defined(MAD_F_MLZ)
|
|
||||||
# define MAD_F_MLZ(hi, lo) mad_f_scale64((hi), (lo))
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# if !defined(mad_f_scale64)
|
|
||||||
# if defined(OPT_ACCURACY)
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
((((mad_fixed_t) \
|
|
||||||
(((hi) << (32 - (MAD_F_SCALEBITS - 1))) | \
|
|
||||||
((lo) >> (MAD_F_SCALEBITS - 1)))) + 1) >> 1)
|
|
||||||
# else
|
|
||||||
# define mad_f_scale64(hi, lo) \
|
|
||||||
((mad_fixed_t) \
|
|
||||||
(((hi) << (32 - MAD_F_SCALEBITS)) | \
|
|
||||||
((lo) >> MAD_F_SCALEBITS)))
|
|
||||||
# endif
|
|
||||||
# define MAD_F_SCALEBITS MAD_F_FRACBITS
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* C routines */
|
|
||||||
|
|
||||||
mad_fixed_t mad_f_abs(mad_fixed_t);
|
|
||||||
mad_fixed_t mad_f_div(mad_fixed_t, mad_fixed_t);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: bit.h,v 1.12 2004/01/23 09:41:32 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_BIT_H
|
|
||||||
# define LIBMAD_BIT_H
|
|
||||||
|
|
||||||
struct mad_bitptr {
|
|
||||||
unsigned char const *byte;
|
|
||||||
unsigned short cache;
|
|
||||||
unsigned short left;
|
|
||||||
};
|
|
||||||
|
|
||||||
void mad_bit_init(struct mad_bitptr *, unsigned char const *);
|
|
||||||
|
|
||||||
# define mad_bit_finish(bitptr) /* nothing */
|
|
||||||
|
|
||||||
unsigned int mad_bit_length(struct mad_bitptr const *,
|
|
||||||
struct mad_bitptr const *);
|
|
||||||
|
|
||||||
# define mad_bit_bitsleft(bitptr) ((bitptr)->left)
|
|
||||||
unsigned char const *mad_bit_nextbyte(struct mad_bitptr const *);
|
|
||||||
|
|
||||||
void mad_bit_skip(struct mad_bitptr *, unsigned int);
|
|
||||||
unsigned long mad_bit_read(struct mad_bitptr *, unsigned int);
|
|
||||||
void mad_bit_write(struct mad_bitptr *, unsigned int, unsigned long);
|
|
||||||
|
|
||||||
unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: timer.h,v 1.16 2004/01/23 09:41:33 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_TIMER_H
|
|
||||||
# define LIBMAD_TIMER_H
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
signed long seconds; /* whole seconds */
|
|
||||||
unsigned long fraction; /* 1/MAD_TIMER_RESOLUTION seconds */
|
|
||||||
} mad_timer_t;
|
|
||||||
|
|
||||||
extern mad_timer_t const mad_timer_zero;
|
|
||||||
|
|
||||||
# define MAD_TIMER_RESOLUTION 352800000UL
|
|
||||||
|
|
||||||
enum mad_units {
|
|
||||||
MAD_UNITS_HOURS = -2,
|
|
||||||
MAD_UNITS_MINUTES = -1,
|
|
||||||
MAD_UNITS_SECONDS = 0,
|
|
||||||
|
|
||||||
/* metric units */
|
|
||||||
|
|
||||||
MAD_UNITS_DECISECONDS = 10,
|
|
||||||
MAD_UNITS_CENTISECONDS = 100,
|
|
||||||
MAD_UNITS_MILLISECONDS = 1000,
|
|
||||||
|
|
||||||
/* audio sample units */
|
|
||||||
|
|
||||||
MAD_UNITS_8000_HZ = 8000,
|
|
||||||
MAD_UNITS_11025_HZ = 11025,
|
|
||||||
MAD_UNITS_12000_HZ = 12000,
|
|
||||||
|
|
||||||
MAD_UNITS_16000_HZ = 16000,
|
|
||||||
MAD_UNITS_22050_HZ = 22050,
|
|
||||||
MAD_UNITS_24000_HZ = 24000,
|
|
||||||
|
|
||||||
MAD_UNITS_32000_HZ = 32000,
|
|
||||||
MAD_UNITS_44100_HZ = 44100,
|
|
||||||
MAD_UNITS_48000_HZ = 48000,
|
|
||||||
|
|
||||||
/* video frame/field units */
|
|
||||||
|
|
||||||
MAD_UNITS_24_FPS = 24,
|
|
||||||
MAD_UNITS_25_FPS = 25,
|
|
||||||
MAD_UNITS_30_FPS = 30,
|
|
||||||
MAD_UNITS_48_FPS = 48,
|
|
||||||
MAD_UNITS_50_FPS = 50,
|
|
||||||
MAD_UNITS_60_FPS = 60,
|
|
||||||
|
|
||||||
/* CD audio frames */
|
|
||||||
|
|
||||||
MAD_UNITS_75_FPS = 75,
|
|
||||||
|
|
||||||
/* video drop-frame units */
|
|
||||||
|
|
||||||
MAD_UNITS_23_976_FPS = -24,
|
|
||||||
MAD_UNITS_24_975_FPS = -25,
|
|
||||||
MAD_UNITS_29_97_FPS = -30,
|
|
||||||
MAD_UNITS_47_952_FPS = -48,
|
|
||||||
MAD_UNITS_49_95_FPS = -50,
|
|
||||||
MAD_UNITS_59_94_FPS = -60
|
|
||||||
};
|
|
||||||
|
|
||||||
# define mad_timer_reset(timer) ((void) (*(timer) = mad_timer_zero))
|
|
||||||
|
|
||||||
int mad_timer_compare(mad_timer_t, mad_timer_t);
|
|
||||||
|
|
||||||
# define mad_timer_sign(timer) mad_timer_compare((timer), mad_timer_zero)
|
|
||||||
|
|
||||||
void mad_timer_negate(mad_timer_t *);
|
|
||||||
mad_timer_t mad_timer_abs(mad_timer_t);
|
|
||||||
|
|
||||||
void mad_timer_set(mad_timer_t *, unsigned long, unsigned long, unsigned long);
|
|
||||||
void mad_timer_add(mad_timer_t *, mad_timer_t);
|
|
||||||
void mad_timer_multiply(mad_timer_t *, signed long);
|
|
||||||
|
|
||||||
signed long mad_timer_count(mad_timer_t, enum mad_units);
|
|
||||||
unsigned long mad_timer_fraction(mad_timer_t, unsigned long);
|
|
||||||
void mad_timer_string(mad_timer_t, char *, char const *,
|
|
||||||
enum mad_units, enum mad_units, unsigned long);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: stream.h,v 1.20 2004/02/05 09:02:39 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_STREAM_H
|
|
||||||
# define LIBMAD_STREAM_H
|
|
||||||
|
|
||||||
|
|
||||||
# define MAD_BUFFER_GUARD 8
|
|
||||||
# define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD)
|
|
||||||
|
|
||||||
enum mad_error {
|
|
||||||
MAD_ERROR_NONE = 0x0000, /* no error */
|
|
||||||
|
|
||||||
MAD_ERROR_BUFLEN = 0x0001, /* input buffer too small (or EOF) */
|
|
||||||
MAD_ERROR_BUFPTR = 0x0002, /* invalid (null) buffer pointer */
|
|
||||||
|
|
||||||
MAD_ERROR_NOMEM = 0x0031, /* not enough memory */
|
|
||||||
|
|
||||||
MAD_ERROR_LOSTSYNC = 0x0101, /* lost synchronization */
|
|
||||||
MAD_ERROR_BADLAYER = 0x0102, /* reserved header layer value */
|
|
||||||
MAD_ERROR_BADBITRATE = 0x0103, /* forbidden bitrate value */
|
|
||||||
MAD_ERROR_BADSAMPLERATE = 0x0104, /* reserved sample frequency value */
|
|
||||||
MAD_ERROR_BADEMPHASIS = 0x0105, /* reserved emphasis value */
|
|
||||||
|
|
||||||
MAD_ERROR_BADCRC = 0x0201, /* CRC check failed */
|
|
||||||
MAD_ERROR_BADBITALLOC = 0x0211, /* forbidden bit allocation value */
|
|
||||||
MAD_ERROR_BADSCALEFACTOR = 0x0221, /* bad scalefactor index */
|
|
||||||
MAD_ERROR_BADMODE = 0x0222, /* bad bitrate/mode combination */
|
|
||||||
MAD_ERROR_BADFRAMELEN = 0x0231, /* bad frame length */
|
|
||||||
MAD_ERROR_BADBIGVALUES = 0x0232, /* bad big_values count */
|
|
||||||
MAD_ERROR_BADBLOCKTYPE = 0x0233, /* reserved block_type */
|
|
||||||
MAD_ERROR_BADSCFSI = 0x0234, /* bad scalefactor selection info */
|
|
||||||
MAD_ERROR_BADDATAPTR = 0x0235, /* bad main_data_begin pointer */
|
|
||||||
MAD_ERROR_BADPART3LEN = 0x0236, /* bad audio data length */
|
|
||||||
MAD_ERROR_BADHUFFTABLE = 0x0237, /* bad Huffman table select */
|
|
||||||
MAD_ERROR_BADHUFFDATA = 0x0238, /* Huffman data overrun */
|
|
||||||
MAD_ERROR_BADSTEREO = 0x0239 /* incompatible block_type for JS */
|
|
||||||
};
|
|
||||||
|
|
||||||
# define MAD_RECOVERABLE(error) ((error) & 0xff00)
|
|
||||||
|
|
||||||
struct mad_stream {
|
|
||||||
unsigned char const *buffer; /* input bitstream buffer */
|
|
||||||
unsigned char const *bufend; /* end of buffer */
|
|
||||||
unsigned long skiplen; /* bytes to skip before next frame */
|
|
||||||
|
|
||||||
int sync; /* stream sync found */
|
|
||||||
unsigned long freerate; /* free bitrate (fixed) */
|
|
||||||
|
|
||||||
unsigned char const *this_frame; /* start of current frame */
|
|
||||||
unsigned char const *next_frame; /* start of next frame */
|
|
||||||
struct mad_bitptr ptr; /* current processing bit pointer */
|
|
||||||
|
|
||||||
struct mad_bitptr anc_ptr; /* ancillary bits pointer */
|
|
||||||
unsigned int anc_bitlen; /* number of ancillary bits */
|
|
||||||
|
|
||||||
unsigned char (*main_data)[MAD_BUFFER_MDLEN];
|
|
||||||
/* Layer III main_data() */
|
|
||||||
unsigned int md_len; /* bytes in main_data */
|
|
||||||
|
|
||||||
int options; /* decoding options (see below) */
|
|
||||||
enum mad_error error; /* error code (see above) */
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
MAD_OPTION_IGNORECRC = 0x0001, /* ignore CRC errors */
|
|
||||||
MAD_OPTION_HALFSAMPLERATE = 0x0002 /* generate PCM at 1/2 sample rate */
|
|
||||||
# if 0 /* not yet implemented */
|
|
||||||
MAD_OPTION_LEFTCHANNEL = 0x0010, /* decode left channel only */
|
|
||||||
MAD_OPTION_RIGHTCHANNEL = 0x0020, /* decode right channel only */
|
|
||||||
MAD_OPTION_SINGLECHANNEL = 0x0030 /* combine channels */
|
|
||||||
# endif
|
|
||||||
};
|
|
||||||
|
|
||||||
void mad_stream_init(struct mad_stream *);
|
|
||||||
void mad_stream_finish(struct mad_stream *);
|
|
||||||
|
|
||||||
# define mad_stream_options(stream, opts) \
|
|
||||||
((void) ((stream)->options = (opts)))
|
|
||||||
|
|
||||||
void mad_stream_buffer(struct mad_stream *,
|
|
||||||
unsigned char const *, unsigned long);
|
|
||||||
void mad_stream_skip(struct mad_stream *, unsigned long);
|
|
||||||
|
|
||||||
int mad_stream_sync(struct mad_stream *);
|
|
||||||
|
|
||||||
char const *mad_stream_errorstr(struct mad_stream const *);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: frame.h,v 1.20 2004/01/23 09:41:32 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_FRAME_H
|
|
||||||
# define LIBMAD_FRAME_H
|
|
||||||
|
|
||||||
|
|
||||||
enum mad_layer {
|
|
||||||
MAD_LAYER_I = 1, /* Layer I */
|
|
||||||
MAD_LAYER_II = 2, /* Layer II */
|
|
||||||
MAD_LAYER_III = 3 /* Layer III */
|
|
||||||
};
|
|
||||||
|
|
||||||
enum mad_mode {
|
|
||||||
MAD_MODE_SINGLE_CHANNEL = 0, /* single channel */
|
|
||||||
MAD_MODE_DUAL_CHANNEL = 1, /* dual channel */
|
|
||||||
MAD_MODE_JOINT_STEREO = 2, /* joint (MS/intensity) stereo */
|
|
||||||
MAD_MODE_STEREO = 3 /* normal LR stereo */
|
|
||||||
};
|
|
||||||
|
|
||||||
enum mad_emphasis {
|
|
||||||
MAD_EMPHASIS_NONE = 0, /* no emphasis */
|
|
||||||
MAD_EMPHASIS_50_15_US = 1, /* 50/15 microseconds emphasis */
|
|
||||||
MAD_EMPHASIS_CCITT_J_17 = 3, /* CCITT J.17 emphasis */
|
|
||||||
MAD_EMPHASIS_RESERVED = 2 /* unknown emphasis */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct mad_header {
|
|
||||||
enum mad_layer layer; /* audio layer (1, 2, or 3) */
|
|
||||||
enum mad_mode mode; /* channel mode (see above) */
|
|
||||||
int mode_extension; /* additional mode info */
|
|
||||||
enum mad_emphasis emphasis; /* de-emphasis to use (see above) */
|
|
||||||
|
|
||||||
unsigned long bitrate; /* stream bitrate (bps) */
|
|
||||||
unsigned int samplerate; /* sampling frequency (Hz) */
|
|
||||||
|
|
||||||
unsigned short crc_check; /* frame CRC accumulator */
|
|
||||||
unsigned short crc_target; /* final target CRC checksum */
|
|
||||||
|
|
||||||
int flags; /* flags (see below) */
|
|
||||||
int private_bits; /* private bits (see below) */
|
|
||||||
|
|
||||||
mad_timer_t duration; /* audio playing time of frame */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct mad_frame {
|
|
||||||
struct mad_header header; /* MPEG audio header */
|
|
||||||
|
|
||||||
int options; /* decoding options (from stream) */
|
|
||||||
|
|
||||||
mad_fixed_t sbsample[2][36][32]; /* synthesis subband filter samples */
|
|
||||||
mad_fixed_t (*overlap)[2][32][18]; /* Layer III block overlap data */
|
|
||||||
};
|
|
||||||
|
|
||||||
# define MAD_NCHANNELS(header) ((header)->mode ? 2 : 1)
|
|
||||||
# define MAD_NSBSAMPLES(header) \
|
|
||||||
((header)->layer == MAD_LAYER_I ? 12 : \
|
|
||||||
(((header)->layer == MAD_LAYER_III && \
|
|
||||||
((header)->flags & MAD_FLAG_LSF_EXT)) ? 18 : 36))
|
|
||||||
|
|
||||||
enum {
|
|
||||||
MAD_FLAG_NPRIVATE_III = 0x0007, /* number of Layer III private bits */
|
|
||||||
MAD_FLAG_INCOMPLETE = 0x0008, /* header but not data is decoded */
|
|
||||||
|
|
||||||
MAD_FLAG_PROTECTION = 0x0010, /* frame has CRC protection */
|
|
||||||
MAD_FLAG_COPYRIGHT = 0x0020, /* frame is copyright */
|
|
||||||
MAD_FLAG_ORIGINAL = 0x0040, /* frame is original (else copy) */
|
|
||||||
MAD_FLAG_PADDING = 0x0080, /* frame has additional slot */
|
|
||||||
|
|
||||||
MAD_FLAG_I_STEREO = 0x0100, /* uses intensity joint stereo */
|
|
||||||
MAD_FLAG_MS_STEREO = 0x0200, /* uses middle/side joint stereo */
|
|
||||||
MAD_FLAG_FREEFORMAT = 0x0400, /* uses free format bitrate */
|
|
||||||
|
|
||||||
MAD_FLAG_LSF_EXT = 0x1000, /* lower sampling freq. extension */
|
|
||||||
MAD_FLAG_MC_EXT = 0x2000, /* multichannel audio extension */
|
|
||||||
MAD_FLAG_MPEG_2_5_EXT = 0x4000 /* MPEG 2.5 (unofficial) extension */
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
MAD_PRIVATE_HEADER = 0x0100, /* header private bit */
|
|
||||||
MAD_PRIVATE_III = 0x001f /* Layer III private bits (up to 5) */
|
|
||||||
};
|
|
||||||
|
|
||||||
void mad_header_init(struct mad_header *);
|
|
||||||
|
|
||||||
# define mad_header_finish(header) /* nothing */
|
|
||||||
|
|
||||||
int mad_header_decode(struct mad_header *, struct mad_stream *);
|
|
||||||
|
|
||||||
void mad_frame_init(struct mad_frame *);
|
|
||||||
void mad_frame_finish(struct mad_frame *);
|
|
||||||
|
|
||||||
int mad_frame_decode(struct mad_frame *, struct mad_stream *);
|
|
||||||
|
|
||||||
void mad_frame_mute(struct mad_frame *);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: synth.h,v 1.15 2004/01/23 09:41:33 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_SYNTH_H
|
|
||||||
# define LIBMAD_SYNTH_H
|
|
||||||
|
|
||||||
|
|
||||||
struct mad_pcm {
|
|
||||||
unsigned int samplerate; /* sampling frequency (Hz) */
|
|
||||||
unsigned short channels; /* number of channels */
|
|
||||||
unsigned short length; /* number of samples per channel */
|
|
||||||
mad_fixed_t samples[2][1152]; /* PCM output samples [ch][sample] */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct mad_synth {
|
|
||||||
mad_fixed_t filter[2][2][2][16][8]; /* polyphase filterbank outputs */
|
|
||||||
/* [ch][eo][peo][s][v] */
|
|
||||||
|
|
||||||
unsigned int phase; /* current processing phase */
|
|
||||||
|
|
||||||
struct mad_pcm pcm; /* PCM output */
|
|
||||||
};
|
|
||||||
|
|
||||||
/* single channel PCM selector */
|
|
||||||
enum {
|
|
||||||
MAD_PCM_CHANNEL_SINGLE = 0
|
|
||||||
};
|
|
||||||
|
|
||||||
/* dual channel PCM selector */
|
|
||||||
enum {
|
|
||||||
MAD_PCM_CHANNEL_DUAL_1 = 0,
|
|
||||||
MAD_PCM_CHANNEL_DUAL_2 = 1
|
|
||||||
};
|
|
||||||
|
|
||||||
/* stereo PCM selector */
|
|
||||||
enum {
|
|
||||||
MAD_PCM_CHANNEL_STEREO_LEFT = 0,
|
|
||||||
MAD_PCM_CHANNEL_STEREO_RIGHT = 1
|
|
||||||
};
|
|
||||||
|
|
||||||
void mad_synth_init(struct mad_synth *);
|
|
||||||
|
|
||||||
# define mad_synth_finish(synth) /* nothing */
|
|
||||||
|
|
||||||
void mad_synth_mute(struct mad_synth *);
|
|
||||||
|
|
||||||
void mad_synth_frame(struct mad_synth *, struct mad_frame const *);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
/* Id: decoder.h,v 1.17 2004/01/23 09:41:32 rob Exp */
|
|
||||||
|
|
||||||
# ifndef LIBMAD_DECODER_H
|
|
||||||
# define LIBMAD_DECODER_H
|
|
||||||
|
|
||||||
|
|
||||||
enum mad_decoder_mode {
|
|
||||||
MAD_DECODER_MODE_SYNC = 0,
|
|
||||||
MAD_DECODER_MODE_ASYNC
|
|
||||||
};
|
|
||||||
|
|
||||||
enum mad_flow {
|
|
||||||
MAD_FLOW_CONTINUE = 0x0000, /* continue normally */
|
|
||||||
MAD_FLOW_STOP = 0x0010, /* stop decoding normally */
|
|
||||||
MAD_FLOW_BREAK = 0x0011, /* stop decoding and signal an error */
|
|
||||||
MAD_FLOW_IGNORE = 0x0020 /* ignore the current frame */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct mad_decoder {
|
|
||||||
enum mad_decoder_mode mode;
|
|
||||||
|
|
||||||
int options;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
long pid;
|
|
||||||
int in;
|
|
||||||
int out;
|
|
||||||
} async;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
struct mad_stream stream;
|
|
||||||
struct mad_frame frame;
|
|
||||||
struct mad_synth synth;
|
|
||||||
} *sync;
|
|
||||||
|
|
||||||
void *cb_data;
|
|
||||||
|
|
||||||
enum mad_flow (*input_func)(void *, struct mad_stream *);
|
|
||||||
enum mad_flow (*header_func)(void *, struct mad_header const *);
|
|
||||||
enum mad_flow (*filter_func)(void *,
|
|
||||||
struct mad_stream const *, struct mad_frame *);
|
|
||||||
enum mad_flow (*output_func)(void *,
|
|
||||||
struct mad_header const *, struct mad_pcm *);
|
|
||||||
enum mad_flow (*error_func)(void *, struct mad_stream *, struct mad_frame *);
|
|
||||||
enum mad_flow (*message_func)(void *, void *, unsigned int *);
|
|
||||||
};
|
|
||||||
|
|
||||||
void mad_decoder_init(struct mad_decoder *, void *,
|
|
||||||
enum mad_flow (*)(void *, struct mad_stream *),
|
|
||||||
enum mad_flow (*)(void *, struct mad_header const *),
|
|
||||||
enum mad_flow (*)(void *,
|
|
||||||
struct mad_stream const *,
|
|
||||||
struct mad_frame *),
|
|
||||||
enum mad_flow (*)(void *,
|
|
||||||
struct mad_header const *,
|
|
||||||
struct mad_pcm *),
|
|
||||||
enum mad_flow (*)(void *,
|
|
||||||
struct mad_stream *,
|
|
||||||
struct mad_frame *),
|
|
||||||
enum mad_flow (*)(void *, void *, unsigned int *));
|
|
||||||
int mad_decoder_finish(struct mad_decoder *);
|
|
||||||
|
|
||||||
# define mad_decoder_options(decoder, opts) \
|
|
||||||
((void) ((decoder)->options = (opts)))
|
|
||||||
|
|
||||||
int mad_decoder_run(struct mad_decoder *, enum mad_decoder_mode);
|
|
||||||
int mad_decoder_message(struct mad_decoder *, void *, unsigned int *);
|
|
||||||
|
|
||||||
# endif
|
|
||||||
|
|
||||||
# ifdef __cplusplus
|
|
||||||
}
|
|
||||||
# endif
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
/* mad.h.in. */
|
||||||
|
/*
|
||||||
|
* libmad - MPEG audio decoder library
|
||||||
|
* Copyright (C) 2000-2001 Robert Leslie
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
* $Id: acconfig.h,v 1.2 2001-10-21 22:26:32 dmazzoni Exp $
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _MAD_H_
|
||||||
|
#define _MAD_H_
|
||||||
|
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
# endif
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
# $Id: mad.h.sed,v 1.9 2004/01/23 09:41:32 rob Exp $
|
# $Id: mad.h.sed,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
#
|
#
|
||||||
|
|
||||||
/^\/\*$/{
|
/^\/\*$/{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: minimad.c,v 1.4 2004/01/23 09:41:32 rob Exp $
|
* $Id: minimad.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# include <stdio.h>
|
# include <stdio.h>
|
||||||
|
|||||||
+8
-8
@@ -1,9 +1,9 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Common wrapper for a few potentially missing GNU programs.
|
# Common wrapper for a few potentially missing GNU programs.
|
||||||
|
|
||||||
scriptversion=2018-03-07.03; # UTC
|
scriptversion=2013-10-28.13; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996-2021 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
||||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
@@ -17,7 +17,7 @@ scriptversion=2018-03-07.03; # UTC
|
|||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
@@ -101,9 +101,9 @@ else
|
|||||||
exit $st
|
exit $st
|
||||||
fi
|
fi
|
||||||
|
|
||||||
perl_URL=https://www.perl.org/
|
perl_URL=http://www.perl.org/
|
||||||
flex_URL=https://github.com/westes/flex
|
flex_URL=http://flex.sourceforge.net/
|
||||||
gnu_software_URL=https://www.gnu.org/software
|
gnu_software_URL=http://www.gnu.org/software
|
||||||
|
|
||||||
program_details ()
|
program_details ()
|
||||||
{
|
{
|
||||||
@@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
|||||||
exit $st
|
exit $st
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
+13
-13
@@ -1,7 +1,7 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# mkinstalldirs --- make directory hierarchy
|
# mkinstalldirs --- make directory hierarchy
|
||||||
|
|
||||||
scriptversion=2020-07-26.22; # UTC
|
scriptversion=2009-04-28.21; # UTC
|
||||||
|
|
||||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||||
# Created: 1993-05-16
|
# Created: 1993-05-16
|
||||||
@@ -92,8 +92,6 @@ case $dirmode in
|
|||||||
*)
|
*)
|
||||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||||
test ! -d ./--version; then
|
test ! -d ./--version; then
|
||||||
echo "umask 22"
|
|
||||||
umask 22
|
|
||||||
echo "mkdir -m $dirmode -p -- $*"
|
echo "mkdir -m $dirmode -p -- $*"
|
||||||
exec mkdir -m "$dirmode" -p -- "$@"
|
exec mkdir -m "$dirmode" -p -- "$@"
|
||||||
else
|
else
|
||||||
@@ -106,9 +104,6 @@ case $dirmode in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo "umask 22"
|
|
||||||
umask 22
|
|
||||||
|
|
||||||
for file
|
for file
|
||||||
do
|
do
|
||||||
case $file in
|
case $file in
|
||||||
@@ -137,16 +132,21 @@ do
|
|||||||
|
|
||||||
if test ! -d "$pathcomp"; then
|
if test ! -d "$pathcomp"; then
|
||||||
errstatus=$lasterr
|
errstatus=$lasterr
|
||||||
|
else
|
||||||
|
if test ! -z "$dirmode"; then
|
||||||
|
echo "chmod $dirmode $pathcomp"
|
||||||
|
lasterr=
|
||||||
|
chmod "$dirmode" "$pathcomp" || lasterr=$?
|
||||||
|
|
||||||
|
if test ! -z "$lasterr"; then
|
||||||
|
errstatus=$lasterr
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
pathcomp=$pathcomp/
|
pathcomp=$pathcomp/
|
||||||
done
|
done
|
||||||
|
|
||||||
if test ! -z "$dirmode"; then
|
|
||||||
echo "chmod $dirmode $file"
|
|
||||||
chmod "$dirmode" "$file" || errstatus=$?
|
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
|
|
||||||
exit $errstatus
|
exit $errstatus
|
||||||
@@ -154,9 +154,9 @@ exit $errstatus
|
|||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
## along with this program; if not, write to the Free Software
|
## along with this program; if not, write to the Free Software
|
||||||
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
##
|
##
|
||||||
## $Id: Makefile.am,v 1.3 2004/01/23 09:41:33 rob Exp $
|
## $Id: Makefile.am,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
##
|
##
|
||||||
|
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile.in generated by automake 1.16.5 from Makefile.am.
|
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
@@ -14,17 +14,7 @@
|
|||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
am__is_gnu_make = { \
|
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||||
if test -z '$(MAKELEVEL)'; then \
|
|
||||||
false; \
|
|
||||||
elif test -n '$(MAKE_HOST)'; then \
|
|
||||||
true; \
|
|
||||||
elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
|
|
||||||
true; \
|
|
||||||
else \
|
|
||||||
false; \
|
|
||||||
fi; \
|
|
||||||
}
|
|
||||||
am__make_running_with_option = \
|
am__make_running_with_option = \
|
||||||
case $${target_option-} in \
|
case $${target_option-} in \
|
||||||
?) ;; \
|
?) ;; \
|
||||||
@@ -88,11 +78,12 @@ POST_UNINSTALL = :
|
|||||||
build_triplet = @build@
|
build_triplet = @build@
|
||||||
host_triplet = @host@
|
host_triplet = @host@
|
||||||
subdir = msvc++
|
subdir = msvc++
|
||||||
|
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||||
|
$(top_srcdir)/mkinstalldirs
|
||||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||||
$(ACLOCAL_M4)
|
$(ACLOCAL_M4)
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
|
||||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||||
CONFIG_HEADER = $(top_builddir)/config.h
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
CONFIG_CLEAN_FILES =
|
CONFIG_CLEAN_FILES =
|
||||||
@@ -117,7 +108,6 @@ am__can_run_installinfo = \
|
|||||||
*) (install-info --version) >/dev/null 2>&1;; \
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
esac
|
esac
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/mkinstalldirs
|
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
ACLOCAL = @ACLOCAL@
|
ACLOCAL = @ACLOCAL@
|
||||||
AMTAR = @AMTAR@
|
AMTAR = @AMTAR@
|
||||||
@@ -135,9 +125,8 @@ CCASDEPMODE = @CCASDEPMODE@
|
|||||||
CCASFLAGS = @CCASFLAGS@
|
CCASFLAGS = @CCASFLAGS@
|
||||||
CCDEPMODE = @CCDEPMODE@
|
CCDEPMODE = @CCDEPMODE@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
|
CPP = @CPP@
|
||||||
CPPFLAGS = @CPPFLAGS@
|
CPPFLAGS = @CPPFLAGS@
|
||||||
CSCOPE = @CSCOPE@
|
|
||||||
CTAGS = @CTAGS@
|
|
||||||
CYGPATH_W = @CYGPATH_W@
|
CYGPATH_W = @CYGPATH_W@
|
||||||
DEFS = @DEFS@
|
DEFS = @DEFS@
|
||||||
DEPDIR = @DEPDIR@
|
DEPDIR = @DEPDIR@
|
||||||
@@ -148,10 +137,8 @@ ECHO_C = @ECHO_C@
|
|||||||
ECHO_N = @ECHO_N@
|
ECHO_N = @ECHO_N@
|
||||||
ECHO_T = @ECHO_T@
|
ECHO_T = @ECHO_T@
|
||||||
EGREP = @EGREP@
|
EGREP = @EGREP@
|
||||||
ETAGS = @ETAGS@
|
|
||||||
EXEEXT = @EXEEXT@
|
EXEEXT = @EXEEXT@
|
||||||
FGREP = @FGREP@
|
FGREP = @FGREP@
|
||||||
FILECMD = @FILECMD@
|
|
||||||
FPM = @FPM@
|
FPM = @FPM@
|
||||||
GREP = @GREP@
|
GREP = @GREP@
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
@@ -168,7 +155,7 @@ LIBTOOL_DEPS = @LIBTOOL_DEPS@
|
|||||||
LIPO = @LIPO@
|
LIPO = @LIPO@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
LTLIBOBJS = @LTLIBOBJS@
|
LTLIBOBJS = @LTLIBOBJS@
|
||||||
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
|
MAINT = @MAINT@
|
||||||
MAKEINFO = @MAKEINFO@
|
MAKEINFO = @MAKEINFO@
|
||||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||||
MKDIR_P = @MKDIR_P@
|
MKDIR_P = @MKDIR_P@
|
||||||
@@ -236,7 +223,6 @@ pdfdir = @pdfdir@
|
|||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
program_transform_name = @program_transform_name@
|
program_transform_name = @program_transform_name@
|
||||||
psdir = @psdir@
|
psdir = @psdir@
|
||||||
runstatedir = @runstatedir@
|
|
||||||
sbindir = @sbindir@
|
sbindir = @sbindir@
|
||||||
sharedstatedir = @sharedstatedir@
|
sharedstatedir = @sharedstatedir@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@@ -249,7 +235,7 @@ EXTRA_DIST = mad.h config.h libmad.dsp
|
|||||||
all: all-am
|
all: all-am
|
||||||
|
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||||
@for dep in $?; do \
|
@for dep in $?; do \
|
||||||
case '$(am__configure_deps)' in \
|
case '$(am__configure_deps)' in \
|
||||||
*$$dep*) \
|
*$$dep*) \
|
||||||
@@ -258,24 +244,25 @@ $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
|||||||
exit 1;; \
|
exit 1;; \
|
||||||
esac; \
|
esac; \
|
||||||
done; \
|
done; \
|
||||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu msvc++/Makefile'; \
|
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign msvc++/Makefile'; \
|
||||||
$(am__cd) $(top_srcdir) && \
|
$(am__cd) $(top_srcdir) && \
|
||||||
$(AUTOMAKE) --gnu msvc++/Makefile
|
$(AUTOMAKE) --foreign msvc++/Makefile
|
||||||
|
.PRECIOUS: Makefile
|
||||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
@case '$?' in \
|
@case '$?' in \
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
|
|
||||||
$(top_srcdir)/configure: $(am__configure_deps)
|
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||||
$(am__aclocal_m4_deps):
|
$(am__aclocal_m4_deps):
|
||||||
|
|
||||||
@@ -290,10 +277,8 @@ ctags CTAGS:
|
|||||||
|
|
||||||
cscope cscopelist:
|
cscope cscopelist:
|
||||||
|
|
||||||
distdir: $(BUILT_SOURCES)
|
|
||||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
|
||||||
|
|
||||||
distdir-am: $(DISTFILES)
|
distdir: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
@@ -437,8 +422,6 @@ uninstall-am:
|
|||||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
tags-am uninstall uninstall-am
|
tags-am uninstall uninstall-am
|
||||||
|
|
||||||
.PRECIOUS: Makefile
|
|
||||||
|
|
||||||
|
|
||||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
Index: fixed.h
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/audacity/lib-src/libmad/fixed.h,v
|
||||||
|
retrieving revision 1.2
|
||||||
|
diff -u -r1.2 fixed.h
|
||||||
|
--- fixed.h 12 Sep 2005 07:01:30 -0000 1.2
|
||||||
|
+++ fixed.h 2 Feb 2008 11:35:08 -0000
|
||||||
|
@@ -137,7 +137,7 @@
|
||||||
|
|
||||||
|
/* --- Intel --------------------------------------------------------------- */
|
||||||
|
|
||||||
|
-# elif defined(FPM_INTEL)
|
||||||
|
+# elif defined(FPM_INTEL) || defined (__i386__)
|
||||||
|
|
||||||
|
# if defined(_MSC_VER)
|
||||||
|
# pragma warning(push)
|
||||||
|
@@ -351,7 +351,7 @@
|
||||||
|
|
||||||
|
/* --- PowerPC ------------------------------------------------------------- */
|
||||||
|
|
||||||
|
-# elif defined(FPM_PPC)
|
||||||
|
+# elif defined(FPM_PPC) || defined(__ppc__)
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This PowerPC version is fast and accurate; the disposition of the least
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: qc_table.dat,v 1.7 2004/01/23 09:41:32 rob Exp $
|
* $Id: qc_table.dat,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: rq_table.dat,v 1.7 2004/01/23 09:41:32 rob Exp $
|
* $Id: rq_table.dat,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: sf_table.dat,v 1.7 2004/01/23 09:41:33 rob Exp $
|
* $Id: sf_table.dat,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
timestamp
|
||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: stream.c,v 1.12 2004/02/05 09:02:39 rob Exp $
|
* $Id: stream.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: stream.h,v 1.20 2004/02/05 09:02:39 rob Exp $
|
* $Id: stream.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_STREAM_H
|
# ifndef LIBMAD_STREAM_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: synth.c,v 1.25 2004/01/23 09:41:33 rob Exp $
|
* $Id: synth.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: synth.h,v 1.15 2004/01/23 09:41:33 rob Exp $
|
* $Id: synth.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_SYNTH_H
|
# ifndef LIBMAD_SYNTH_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: timer.c,v 1.18 2004/01/23 09:41:33 rob Exp $
|
* $Id: timer.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: timer.h,v 1.16 2004/01/23 09:41:33 rob Exp $
|
* $Id: timer.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_TIMER_H
|
# ifndef LIBMAD_TIMER_H
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: version.c,v 1.15 2004/01/23 09:41:33 rob Exp $
|
* $Id: version.c,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifdef HAVE_CONFIG_H
|
# ifdef HAVE_CONFIG_H
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
* $Id: version.h,v 1.26 2004/01/23 09:41:33 rob Exp $
|
* $Id: version.h,v 1.2 2005-09-12 07:01:30 dmazzoni Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
# ifndef LIBMAD_VERSION_H
|
# ifndef LIBMAD_VERSION_H
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
# define MAD_VERSION_MAJOR 0
|
# define MAD_VERSION_MAJOR 0
|
||||||
# define MAD_VERSION_MINOR 15
|
# define MAD_VERSION_MINOR 15
|
||||||
# define MAD_VERSION_PATCH 1
|
# define MAD_VERSION_PATCH 2
|
||||||
# define MAD_VERSION_EXTRA " (beta)"
|
# define MAD_VERSION_EXTRA " (beta)"
|
||||||
|
|
||||||
# define MAD_VERSION_STRINGIZE(str) #str
|
# define MAD_VERSION_STRINGIZE(str) #str
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
idf_component_register(INCLUDE_DIRS "include")
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
/// \copyright
|
|
||||||
/// Copyright 2021 Mike Dunston (https://github.com/atanisoft)
|
|
||||||
///
|
|
||||||
/// Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
/// you may not use this file except in compliance with the License.
|
|
||||||
/// You may obtain a copy of the License at
|
|
||||||
///
|
|
||||||
/// http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
///
|
|
||||||
/// Unless required by applicable law or agreed to in writing, software
|
|
||||||
/// distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
/// See the License for the specific language governing permissions and
|
|
||||||
/// limitations under the License.
|
|
||||||
///
|
|
||||||
/// \file psram_allocator.h
|
|
||||||
/// This file declares an allocator that provides memory from PSRAM rather than
|
|
||||||
/// internal memory.
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <esp_heap_caps.h>
|
|
||||||
#include "sdkconfig.h"
|
|
||||||
|
|
||||||
template <class T>
|
|
||||||
class PSRAMAllocator
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
using value_type = T;
|
|
||||||
|
|
||||||
PSRAMAllocator() noexcept
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class U> constexpr PSRAMAllocator(const PSRAMAllocator<U>&) noexcept
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
[[nodiscard]] value_type* allocate(std::size_t n)
|
|
||||||
{
|
|
||||||
#if CONFIG_SPIRAM
|
|
||||||
// attempt to allocate in PSRAM first
|
|
||||||
auto p =
|
|
||||||
static_cast<value_type*>(
|
|
||||||
heap_caps_malloc(n * sizeof(value_type), MALLOC_CAP_SPIRAM));
|
|
||||||
if (p)
|
|
||||||
{
|
|
||||||
return p;
|
|
||||||
}
|
|
||||||
#endif // CONFIG_SPIRAM
|
|
||||||
|
|
||||||
// If the allocation in PSRAM failed (or PSRAM not enabled), try to
|
|
||||||
// allocate from the default memory pool.
|
|
||||||
auto p2 =
|
|
||||||
static_cast<value_type*>(
|
|
||||||
heap_caps_malloc(n * sizeof(value_type), MALLOC_CAP_DEFAULT));
|
|
||||||
if (p2)
|
|
||||||
{
|
|
||||||
return p2;
|
|
||||||
}
|
|
||||||
|
|
||||||
throw std::bad_alloc();
|
|
||||||
}
|
|
||||||
|
|
||||||
void deallocate(value_type* p, std::size_t) noexcept
|
|
||||||
{
|
|
||||||
heap_caps_free(p);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
template <class T, class U>
|
|
||||||
bool operator==(const PSRAMAllocator<T>&, const PSRAMAllocator<U>&)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
template <class T, class U>
|
|
||||||
bool operator!=(const PSRAMAllocator<T>& x, const PSRAMAllocator<U>& y)
|
|
||||||
{
|
|
||||||
return !(x == y);
|
|
||||||
}
|
|
||||||
@@ -2,6 +2,6 @@ idf_component_register(
|
|||||||
SRCS "audio_decoder.cpp" "audio_task.cpp" "chunk.cpp" "fatfs_audio_input.cpp"
|
SRCS "audio_decoder.cpp" "audio_task.cpp" "chunk.cpp" "fatfs_audio_input.cpp"
|
||||||
"stream_info.cpp" "stream_message.cpp"
|
"stream_info.cpp" "stream_message.cpp"
|
||||||
INCLUDE_DIRS "include"
|
INCLUDE_DIRS "include"
|
||||||
REQUIRES "codecs" "drivers" "cbor" "result" "tasks" "span" "psram_allocator")
|
REQUIRES "codecs" "drivers" "cbor" "result" "tasks" "span")
|
||||||
|
|
||||||
target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS})
|
target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS})
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
#include <optional>
|
#include <optional>
|
||||||
|
|
||||||
#include "cbor.h"
|
#include "cbor.h"
|
||||||
#include "psram_allocator.h"
|
|
||||||
|
|
||||||
#include "stream_message.hpp"
|
#include "stream_message.hpp"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
idf_component_register(
|
||||||
|
SRCS ""
|
||||||
|
INCLUDE_DIRS "." REQUIRES catch2 cmock audio)
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
idf_component_register(
|
idf_component_register(
|
||||||
SRCS "codec.cpp" "mad.cpp"
|
SRCS "codec.cpp" "mad.cpp"
|
||||||
INCLUDE_DIRS "include"
|
INCLUDE_DIRS "include"
|
||||||
REQUIRES "result" "span")
|
REQUIRES "result" "span" "libmad")
|
||||||
|
|
||||||
add_dependencies("${COMPONENT_LIB}" libmad)
|
|
||||||
target_compile_options("${COMPONENT_LIB}" PRIVATE ${EXTRA_WARNINGS})
|
target_compile_options("${COMPONENT_LIB}" PRIVATE ${EXTRA_WARNINGS})
|
||||||
target_include_directories("${COMPONENT_LIB}" PRIVATE "${LIBMAD_INCLUDE}")
|
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
idf_component_register(
|
||||||
|
SRCS "test_mad.cpp"
|
||||||
|
INCLUDE_DIRS "."
|
||||||
|
REQUIRES catch2 cmock codecs)
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
std::uint8_t test_mp3[] = {
|
||||||
|
0xff, 0xfb, 0x90, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x69, 0x6e,
|
||||||
|
0x67, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04,
|
||||||
|
0x7b, 0x00, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
|
||||||
|
0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
|
||||||
|
0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
|
||||||
|
0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb, 0xdb,
|
||||||
|
0xdb, 0xdb, 0xdb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x50, 0x4c, 0x41, 0x4d,
|
||||||
|
0x45, 0x33, 0x2e, 0x31, 0x30, 0x30, 0x04, 0xb9, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x15, 0x20, 0x24, 0x06, 0xb6, 0x41, 0x00, 0x01,
|
||||||
|
0xe0, 0x00, 0x00, 0x04, 0x7b, 0xe4, 0x2f, 0x1b, 0xba, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfb, 0xb0,
|
||||||
|
0xc4, 0x00, 0x00, 0x0a, 0x00, 0x03, 0x6b, 0x80, 0x80, 0x00, 0x21, 0xc4,
|
||||||
|
0x86, 0x6c, 0x7c, 0xf7, 0xb0, 0x41, 0x05, 0x4f, 0x59, 0x20, 0x0d, 0x53,
|
||||||
|
0x58, 0xc1, 0xf0, 0x7c, 0x1f, 0x85, 0xcf, 0x83, 0xe2, 0x70, 0x70, 0x10,
|
||||||
|
0x04, 0x01, 0x00, 0x40, 0x1f, 0x07, 0xc1, 0xf0, 0x7c, 0x1c, 0x04, 0x01,
|
||||||
|
0x0f, 0xa8, 0x13, 0x07, 0xc1, 0xf0, 0x7c, 0x1f, 0x04, 0x03, 0x00, 0x87,
|
||||||
|
0xd0, 0x0f, 0x83, 0xe0, 0xf8, 0x3e, 0x0e, 0x02, 0x01, 0x8f, 0xd2, 0x5c,
|
||||||
|
0x1f, 0x07, 0xc3, 0xe0, 0x80, 0x20, 0x08, 0x3b, 0xf1, 0x38, 0x3e, 0x0f,
|
||||||
|
0x83, 0x80, 0x80, 0x63, 0xfc, 0x1f, 0x07, 0xc1, 0xf0, 0x40, 0x10, 0x0c,
|
||||||
|
0x7f, 0xe8, 0x77, 0x86, 0x56, 0x64, 0x34, 0x52, 0x03, 0x4d, 0x37, 0x14,
|
||||||
|
0xc4, 0x18, 0x4d, 0x84, 0xd8, 0x0c, 0xc0, 0x66, 0x00, 0x20, 0x02, 0x04,
|
||||||
|
0x81, 0xa8, 0x00, 0x80, 0x08, 0x00, 0x80, 0x50, 0x22, 0x24, 0x98, 0x98,
|
||||||
|
0xae, 0x5c, 0xb9, 0x72, 0xe5, 0xcb, 0x82, 0xbe, 0x17, 0x02, 0x82, 0x41,
|
||||||
|
0x41, 0x41, 0x41, 0x42, 0x82, 0x82, 0x82, 0x8e, 0x05, 0x05, 0xff, 0xe8,
|
||||||
|
0x28, 0x28, 0x28, 0x30, 0x50, 0x50, 0x51, 0x41, 0x5f, 0xff, 0xe0, 0xa0,
|
||||||
|
0xa0, 0xa0, 0xa1, 0x41, 0x41, 0x41, 0x47, 0x7f, 0xff, 0xff, 0xf8, 0x28,
|
||||||
|
0x30, 0x50, 0x50, 0x50, 0x57, 0xff, 0xff, 0xff, 0xf4, 0x14, 0x28, 0x28,
|
||||||
|
0x28, 0x28, 0xaf, 0xff, 0xff, 0xff, 0x82, 0x83, 0x05, 0x05, 0x05, 0x05,
|
||||||
|
0x02, 0x8a, 0xff, 0xff, 0xfe, 0x82, 0x85, 0x2a, 0x4c, 0x41, 0x4d, 0x45,
|
||||||
|
0x33, 0x2e, 0x31, 0x30, 0x30, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xff,
|
||||||
|
0xfb, 0x10, 0xc4, 0xcd, 0x83, 0xc0, 0x00, 0x01, 0xa4, 0x00, 0x00, 0x00,
|
||||||
|
0x20, 0x00, 0x00, 0x34, 0x80, 0x00, 0x00, 0x04, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
|
||||||
|
};
|
||||||
|
std::size_t test_mp3_len = 1147;
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
#include "mad.hpp"
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
#include "span.hpp"
|
||||||
|
#include "catch2/catch.hpp"
|
||||||
|
|
||||||
|
#include "test.mp3.hpp"
|
||||||
|
|
||||||
|
void load_mp3(cpp::span<std::byte> dest) {
|
||||||
|
cpp::span<std::byte> src(reinterpret_cast<std::byte*>(test_mp3), test_mp3_len);
|
||||||
|
std::copy(src.begin(), src.begin() + dest.size(), dest.begin());
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace codecs {
|
||||||
|
|
||||||
|
TEST_CASE("libmad mp3 decoder", "[unit]") {
|
||||||
|
MadMp3Decoder decoder;
|
||||||
|
|
||||||
|
SECTION("handles only mp3 files") {
|
||||||
|
REQUIRE(decoder.CanHandleFile("cool.mp3") == true);
|
||||||
|
REQUIRE(decoder.CanHandleFile("bad.wma") == false);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("processes streams correctly") {
|
||||||
|
std::array<std::byte, 256> input;
|
||||||
|
input.fill(std::byte{0});
|
||||||
|
|
||||||
|
decoder.ResetForNewStream();
|
||||||
|
decoder.SetInput(input);
|
||||||
|
|
||||||
|
SECTION("empty stream fails gracefully") {
|
||||||
|
auto result = decoder.ProcessNextFrame();
|
||||||
|
|
||||||
|
REQUIRE(result.has_value());
|
||||||
|
REQUIRE(result.value() == true);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("invalid stream fails") {
|
||||||
|
input.fill(std::byte{0xFF});
|
||||||
|
|
||||||
|
auto result = decoder.ProcessNextFrame();
|
||||||
|
|
||||||
|
REQUIRE(result.has_error());
|
||||||
|
REQUIRE(result.error() == ICodec::MALFORMED_DATA);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("valid stream parses successfully") {
|
||||||
|
load_mp3(input);
|
||||||
|
|
||||||
|
auto result = decoder.ProcessNextFrame();
|
||||||
|
|
||||||
|
REQUIRE(result.has_value());
|
||||||
|
REQUIRE(result.value() == false);
|
||||||
|
|
||||||
|
SECTION("output samples synthesized") {
|
||||||
|
std::array<std::byte, 256> output;
|
||||||
|
output.fill(std::byte{0});
|
||||||
|
|
||||||
|
auto res = decoder.WriteOutputSamples(output);
|
||||||
|
|
||||||
|
REQUIRE(res.first > 0);
|
||||||
|
REQUIRE(res.second == false);
|
||||||
|
|
||||||
|
// Just check that some kind of data was written. We don't care
|
||||||
|
// about what.
|
||||||
|
REQUIRE(std::to_integer<uint8_t>(output[0]) != 0);
|
||||||
|
REQUIRE(std::to_integer<uint8_t>(output[1]) != 0);
|
||||||
|
REQUIRE(std::to_integer<uint8_t>(output[2]) != 0);
|
||||||
|
REQUIRE(std::to_integer<uint8_t>(output[3]) != 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("output format correct") {
|
||||||
|
auto format = decoder.GetOutputFormat();
|
||||||
|
|
||||||
|
// Matches the test data.
|
||||||
|
REQUIRE(format.num_channels == 2);
|
||||||
|
REQUIRE(format.sample_rate_hz == 44100);
|
||||||
|
// Matches libmad output
|
||||||
|
REQUIRE(format.bits_per_sample == 24);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace codecs
|
||||||
+4
-2
@@ -10,12 +10,14 @@ idf_build_set_property(
|
|||||||
list(APPEND EXTRA_WARNINGS "-Werror")
|
list(APPEND EXTRA_WARNINGS "-Werror")
|
||||||
|
|
||||||
list(APPEND EXTRA_COMPONENT_DIRS
|
list(APPEND EXTRA_COMPONENT_DIRS
|
||||||
|
"$ENV{PROJ_PATH}/src/audio"
|
||||||
|
"$ENV{PROJ_PATH}/src/codecs"
|
||||||
|
"$ENV{PROJ_PATH}/src/tasks"
|
||||||
"$ENV{PROJ_PATH}/src/drivers"
|
"$ENV{PROJ_PATH}/src/drivers"
|
||||||
"$ENV{PROJ_PATH}/src/dev_console"
|
"$ENV{PROJ_PATH}/src/dev_console"
|
||||||
)
|
)
|
||||||
|
|
||||||
# List all components that include tests here.
|
# List all components that include tests here.
|
||||||
set(TEST_COMPONENTS "drivers")
|
set(TEST_COMPONENTS "codecs" "drivers")
|
||||||
|
|
||||||
project(device_tests)
|
project(device_tests)
|
||||||
include($ENV{PROJ_PATH}/tools/cmake/extra-libs.cmake)
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ set(COMPONENTS "")
|
|||||||
|
|
||||||
# External dependencies
|
# External dependencies
|
||||||
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/catch2")
|
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/catch2")
|
||||||
|
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/libmad")
|
||||||
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/lvgl")
|
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/lvgl")
|
||||||
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/psram_allocator")
|
|
||||||
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/result")
|
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/result")
|
||||||
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/span")
|
list(APPEND EXTRA_COMPONENT_DIRS "$ENV{PROJ_PATH}/lib/span")
|
||||||
|
|
||||||
@@ -28,5 +28,3 @@ set(EXTRA_WARNINGS "-Wshadow" "-Wnon-virtual-dtor" "-Wunused"
|
|||||||
# Otherwise, prefer adding per-component build flags to keep things neat.
|
# Otherwise, prefer adding per-component build flags to keep things neat.
|
||||||
idf_build_set_property(COMPILE_OPTIONS "-DLV_CONF_INCLUDE_SIMPLE" APPEND)
|
idf_build_set_property(COMPILE_OPTIONS "-DLV_CONF_INCLUDE_SIMPLE" APPEND)
|
||||||
idf_build_set_property(COMPILE_OPTIONS "-DTCB_SPAN_NAMESPACE_NAME=cpp" APPEND)
|
idf_build_set_property(COMPILE_OPTIONS "-DTCB_SPAN_NAMESPACE_NAME=cpp" APPEND)
|
||||||
|
|
||||||
include($ENV{PROJ_PATH}/tools/cmake/extra-libs.cmake)
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
include($ENV{PROJ_PATH}/tools/cmake/libmad.cmake)
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
set(LIBMAD_SRC "$ENV{PROJ_PATH}/lib/libmad")
|
|
||||||
set(LIBMAD_BIN "${CMAKE_CURRENT_BINARY_DIR}/libmad")
|
|
||||||
set(LIBMAD_INCLUDE "${LIBMAD_BIN}/include")
|
|
||||||
|
|
||||||
externalproject_add(libmad_build
|
|
||||||
SOURCE_DIR "${LIBMAD_SRC}"
|
|
||||||
PREFIX "${LIBMAD_BIN}"
|
|
||||||
CONFIGURE_COMMAND ${LIBMAD_SRC}/configure CC=${CMAKE_C_COMPILER} --srcdir=${LIBMAD_SRC} --prefix=${LIBMAD_BIN} --host=xtensa-elf --disable-debugging --disable-shared
|
|
||||||
BUILD_COMMAND make
|
|
||||||
INSTALL_COMMAND make install
|
|
||||||
BUILD_BYPRODUCTS "${LIBMAD_BIN}/lib/libmad.a" "${LIBMAD_INCLUDE}/mad.h"
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(libmad STATIC IMPORTED GLOBAL)
|
|
||||||
add_dependencies(libmad libmad_build)
|
|
||||||
|
|
||||||
set_target_properties(libmad PROPERTIES IMPORTED_LOCATION
|
|
||||||
"${LIBMAD_BIN}/lib/libmad.a")
|
|
||||||
set_target_properties(libmad PROPERTIES INTERFACE_INCLUDE_DIRECTORIES
|
|
||||||
"${LIBMAD_INCLUDE}")
|
|
||||||
Reference in New Issue
Block a user