Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
87e37cd4
Commit
87e37cd4
authored
Nov 10, 2008
by
Led
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0.10.1-rc1
parent
f9434227
Hide whitespace changes
Inline
Side-by-side
Showing
104 changed files
with
1003 additions
and
329 deletions
+1003
-329
ChangeLog
ChangeLog
+5
-0
configure
configure
+78
-9
configure.ac
configure.ac
+3
-1
ltmain.sh
ltmain.sh
+0
-11
decode.c
src/decode.c
+5
-10
CHANGES
src/libid3tag/CHANGES
+10
-2
COPYRIGHT
src/libid3tag/COPYRIGHT
+1
-1
CREDITS
src/libid3tag/CREDITS
+2
-2
Makefile.am
src/libid3tag/Makefile.am
+5
-5
Makefile.in
src/libid3tag/Makefile.in
+4
-3
README
src/libid3tag/README
+2
-2
TODO
src/libid3tag/TODO
+2
-2
VERSION
src/libid3tag/VERSION
+3
-3
compat.c
src/libid3tag/compat.c
+2
-2
compat.gperf
src/libid3tag/compat.gperf
+2
-2
compat.h
src/libid3tag/compat.h
+2
-2
configure
src/libid3tag/configure
+11
-11
configure.ac
src/libid3tag/configure.ac
+3
-3
crc.c
src/libid3tag/crc.c
+5
-5
crc.h
src/libid3tag/crc.h
+3
-3
debug.c
src/libid3tag/debug.c
+2
-2
debug.h
src/libid3tag/debug.h
+3
-4
field.c
src/libid3tag/field.c
+17
-2
field.h
src/libid3tag/field.h
+2
-2
file.c
src/libid3tag/file.c
+6
-5
file.h
src/libid3tag/file.h
+2
-2
frame.c
src/libid3tag/frame.c
+2
-2
frame.h
src/libid3tag/frame.h
+2
-2
frametype.c
src/libid3tag/frametype.c
+2
-2
frametype.gperf
src/libid3tag/frametype.gperf
+2
-2
frametype.h
src/libid3tag/frametype.h
+2
-2
genre.c
src/libid3tag/genre.c
+2
-2
genre.dat
src/libid3tag/genre.dat
+2
-2
genre.dat.in
src/libid3tag/genre.dat.in
+2
-2
genre.dat.sed
src/libid3tag/genre.dat.sed
+2
-2
genre.h
src/libid3tag/genre.h
+2
-2
global.h
src/libid3tag/global.h
+2
-2
id3tag.h
src/libid3tag/id3tag.h
+5
-4
latin1.c
src/libid3tag/latin1.c
+2
-2
latin1.h
src/libid3tag/latin1.h
+2
-2
parse.c
src/libid3tag/parse.c
+2
-2
parse.h
src/libid3tag/parse.h
+2
-2
render.c
src/libid3tag/render.c
+2
-2
render.h
src/libid3tag/render.h
+2
-2
tag.c
src/libid3tag/tag.c
+5
-5
tag.h
src/libid3tag/tag.h
+2
-2
ucs4.c
src/libid3tag/ucs4.c
+2
-2
ucs4.h
src/libid3tag/ucs4.h
+2
-2
utf16.c
src/libid3tag/utf16.c
+2
-2
utf16.h
src/libid3tag/utf16.h
+2
-2
utf8.c
src/libid3tag/utf8.c
+2
-2
utf8.h
src/libid3tag/utf8.h
+2
-2
util.c
src/libid3tag/util.c
+2
-2
util.h
src/libid3tag/util.h
+2
-2
version.c
src/libid3tag/version.c
+2
-2
version.h
src/libid3tag/version.h
+2
-2
CHANGES
src/libmad/CHANGES
+23
-6
COPYRIGHT
src/libmad/COPYRIGHT
+1
-1
CREDITS
src/libmad/CREDITS
+18
-2
D.dat
src/libmad/D.dat
+2
-2
Makefile.am
src/libmad/Makefile.am
+4
-4
Makefile.in
src/libmad/Makefile.in
+4
-3
README
src/libmad/README
+2
-2
TODO
src/libmad/TODO
+2
-3
VERSION
src/libmad/VERSION
+4
-4
bit.c
src/libmad/bit.c
+2
-2
bit.h
src/libmad/bit.h
+2
-2
config.h.in
src/libmad/config.h.in
+4
-0
configure
src/libmad/configure
+241
-11
configure.ac
src/libmad/configure.ac
+4
-3
decoder.c
src/libmad/decoder.c
+2
-2
decoder.h
src/libmad/decoder.h
+2
-2
fixed.c
src/libmad/fixed.c
+2
-2
fixed.h
src/libmad/fixed.h
+18
-3
frame.c
src/libmad/frame.c
+4
-3
frame.h
src/libmad/frame.h
+2
-2
global.h
src/libmad/global.h
+2
-2
huffman.c
src/libmad/huffman.c
+22
-11
huffman.h
src/libmad/huffman.h
+2
-2
imdct_l_arm.S
src/libmad/imdct_l_arm.S
+1
-1
imdct_s.dat
src/libmad/imdct_s.dat
+2
-2
layer12.c
src/libmad/layer12.c
+37
-13
layer12.h
src/libmad/layer12.h
+2
-2
layer3.c
src/libmad/layer3.c
+200
-4
layer3.h
src/libmad/layer3.h
+2
-2
mad.h
src/libmad/mad.h
+28
-12
mad.h.sed
src/libmad/mad.h.sed
+2
-2
minimad.c
src/libmad/minimad.c
+7
-7
qc_table.dat
src/libmad/qc_table.dat
+2
-2
rq_table.dat
src/libmad/rq_table.dat
+2
-2
sf_table.dat
src/libmad/sf_table.dat
+2
-2
stream.c
src/libmad/stream.c
+3
-2
stream.h
src/libmad/stream.h
+3
-2
synth.c
src/libmad/synth.c
+2
-2
synth.h
src/libmad/synth.h
+2
-2
timer.c
src/libmad/timer.c
+2
-2
timer.h
src/libmad/timer.h
+2
-2
version.c
src/libmad/version.c
+2
-2
version.h
src/libmad/version.h
+4
-4
mp3_decode.c
src/mp3_decode.c
+56
-10
ogg_decode.c
src/ogg_decode.c
+10
-4
pcm_utils.c
src/pcm_utils.c
+9
-9
playerData.h
src/playerData.h
+2
-1
playlist.c
src/playlist.c
+4
-1
No files found.
ChangeLog
View file @
87e37cd4
ver 0.10.1 (2004/3/8)
1) Check to see if we need to add "-lm" when linking mpd
2) Fix issues with skipping bad frames in an mp3 (this way we get the correct samplerate and such)
3) Fix crossfading bug with ogg's
ver 0.10.0 (2004/3/3)
1) Use UTF-8 for all client communications
2) Crossfading support
...
...
configure
View file @
87e37cd4
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.58 for mpd 0.10.
0
.
# Generated by GNU Autoconf 2.58 for mpd 0.10.
1
.
#
# Report bugs to <shank@mercury.chem.pitt.edu>.
#
...
...
@@ -428,8 +428,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME
=
'mpd'
PACKAGE_TARNAME
=
'mpd'
PACKAGE_VERSION
=
'0.10.
0
'
PACKAGE_STRING
=
'mpd 0.10.
0
'
PACKAGE_VERSION
=
'0.10.
1
'
PACKAGE_STRING
=
'mpd 0.10.
1
'
PACKAGE_BUGREPORT
=
'shank@mercury.chem.pitt.edu'
# Factoring default headers for most tests.
...
...
@@ -940,7 +940,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat
<<
_ACEOF
\`configure' configures mpd 0.10.
0
to adapt to many kinds of systems.
\`configure' configures mpd 0.10.
1
to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -1006,7 +1006,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of mpd 0.10.
0
:"
;;
short
|
recursive
)
echo
"Configuration of mpd 0.10.
1
:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -1165,7 +1165,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
0
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
mpd configure 0.10.
0
mpd configure 0.10.
1
generated by GNU Autoconf 2.58
Copyright (C) 2003 Free Software Foundation, Inc.
...
...
@@ -1179,7 +1179,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by mpd
$as_me
0.10.
0
, which was
It was created by mpd
$as_me
0.10.
1
, which was
generated by GNU Autoconf 2.58. Invocation command line was
$ $0
$@
...
...
@@ -10351,6 +10351,75 @@ if test $ac_cv_lib_nsl_gethostbyname = yes; then
fi
echo
"
$as_me
:
$LINENO
: checking for exp in -lm"
>
&5
echo
$ECHO_N
"checking for exp in -lm...
$ECHO_C
"
>
&6
if
test
"
${
ac_cv_lib_m_exp
+set
}
"
=
set
;
then
echo
$ECHO_N
"(cached)
$ECHO_C
"
>
&6
else
ac_check_lib_save_LIBS
=
$LIBS
LIBS
=
"-lm
$LIBS
"
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char exp ();
int
main ()
{
exp ();
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
conftest
$ac_exeext
if
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_link
\"
"
)
>
&5
(
eval
$ac_link
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
&&
{
ac_try
=
'test -s conftest$ac_exeext'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
ac_cv_lib_m_exp
=
yes
else
echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
ac_cv_lib_m_exp
=
no
fi
rm
-f
conftest.err conftest.
$ac_objext
\
conftest
$ac_exeext
conftest.
$ac_ext
LIBS
=
$ac_check_lib_save_LIBS
fi
echo
"
$as_me
:
$LINENO
: result:
$ac_cv_lib_m_exp
"
>
&5
echo
"
${
ECHO_T
}
$ac_cv_lib_m_exp
"
>
&6
if
test
$ac_cv_lib_m_exp
=
yes
;
then
MPD_LIBS
=
"
$MPD_LIBS
-lm"
fi
if
test
"
${
ac_cv_header_langinfo_h
+set
}
"
=
set
;
then
echo
"
$as_me
:
$LINENO
: checking for langinfo.h"
>
&5
echo
$ECHO_N
"checking for langinfo.h...
$ECHO_C
"
>
&6
...
...
@@ -13181,7 +13250,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by mpd
$as_me
0.10.
0
, which was
This file was extended by mpd
$as_me
0.10.
1
, which was
generated by GNU Autoconf 2.58. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -13239,7 +13308,7 @@ _ACEOF
cat
>>
$CONFIG_STATUS
<<
_ACEOF
ac_cs_version="\\
mpd config.status 0.10.
0
mpd config.status 0.10.
1
configured by
$0
, generated by GNU Autoconf 2.58,
with options \\"`echo "
$ac_configure_args
" | sed 's/[\\""\`\
$]
/\\\\&/g'`\\"
...
...
configure.ac
View file @
87e37cd4
...
...
@@ -2,7 +2,7 @@ dnl AC_INIT(src/main.c)
dnl AM_INIT_AUTOMAKE(mpd, 0.10.0)
AC_PREREQ(2.52)
AC_INIT(mpd, 0.10.
0
, shank@mercury.chem.pitt.edu)
AC_INIT(mpd, 0.10.
1
, shank@mercury.chem.pitt.edu)
AM_INIT_AUTOMAKE($PACKAGE_NAME, $PACKAGE_VERSION)
AC_PROG_CC
...
...
@@ -51,6 +51,8 @@ AC_CHECK_SIZEOF(long long)
AC_CHECK_LIB(socket,socket,MPD_LIBS="$MPD_LIBS -lsocket",)
AC_CHECK_LIB(nsl,gethostbyname,MPD_LIBS="$MPD_LIBS -lnsl",)
AC_CHECK_LIB(m,exp,MPD_LIBS="$MPD_LIBS -lm",)
AC_CHECK_HEADER(langinfo.h,MPD_CFLAGS="$MPD_CFLAGS -DHAVE_LANGINFO",)
AC_CHECK_HEADER(locale.h,MPD_CFLAGS="$MPD_CFLAGS -DHAVE_LOCALE",)
...
...
ltmain.sh
View file @
87e37cd4
...
...
@@ -219,17 +219,6 @@ if test -n "$prevopt"; then
exit
1
fi
# Mandrake: (gc) It's bad to link C++ code with GCC, so we need to use the compiler name if provided
if
test
"
$mode
"
=
link
&&
test
-n
"
$archive_cmds
"
&&
test
-x
"/usr/bin/perl"
;
then
case
$nonopt
in
*
cc
|
*
++
|
gcc
*
|
*
-gcc
*
|
egcs
*
)
archive_cmds
=
`
echo
$archive_cmds
| perl
-pe
's/^\S+\s+//'
`
archive_cmds
=
"
$nonopt
$archive_cmds
"
archive_expsym_cmds
=
`
echo
$archive_expsym_cmds
| perl
-pe
's/^\S+\s+//'
`
archive_expsym_cmds
=
"
$nonopt
$archive_expsym_cmds
"
esac
fi
# If this variable is set in any of the actions, the command in it
# will be execed at the end. This prevents here-documents from being
# left over by shells.
...
...
src/decode.c
View file @
87e37cd4
...
...
@@ -47,8 +47,6 @@
#include <unistd.h>
#include <string.h>
#define FADE_CHUNKS 1024
int
*
decode_pid
=
NULL
;
void
decodeSigHandler
(
int
sig
)
{
...
...
@@ -91,7 +89,7 @@ void quitDecode(PlayerControl * pc, DecoderControl * dc) {
}
int
calculateCrossFadeChunks
(
PlayerControl
*
pc
,
AudioFormat
*
af
)
{
int
chunks
;
long
chunks
;
if
(
pc
->
crossFade
<=
0
)
return
0
;
...
...
@@ -104,7 +102,7 @@ int calculateCrossFadeChunks(PlayerControl * pc, AudioFormat * af) {
if
(
chunks
<
0
)
chunks
=
0
;
return
chunks
;
return
(
int
)
chunks
;
}
int
waitOnDecode
(
PlayerControl
*
pc
,
AudioFormat
*
af
,
DecoderControl
*
dc
,
...
...
@@ -347,7 +345,7 @@ void decode() {
else
if
((
cb
->
begin
!=
cb
->
end
||
cb
->
wrap
)
&&
cb
->
begin
!=
cb
->
next
)
{
if
(
doCrossFade
==
1
&&
cb
->
next
>=
0
&&
if
(
doCrossFade
==
1
&&
cb
->
next
>=
0
&&
((
cb
->
next
>
cb
->
begin
&&
(
fadePosition
=
cb
->
next
-
cb
->
begin
)
<=
crossFadeChunks
)
||
...
...
@@ -358,9 +356,9 @@ void decode() {
if
(
nextChunk
<
0
)
{
crossFadeChunks
=
fadePosition
;
}
nextChunk
=
cb
->
begin
+
crossFadeChunks
;
test
=
cb
->
end
;
if
(
cb
->
wrap
)
test
+=
buffered_chunks
;
nextChunk
=
cb
->
begin
+
crossFadeChunks
;
if
(
nextChunk
<
test
)
{
if
(
nextChunk
>=
buffered_chunks
)
{
...
...
@@ -392,10 +390,7 @@ void decode() {
{
doCrossFade
=
-
1
;
}
else
{
usleep
(
10
);
continue
;
}
else
continue
;
}
}
pc
->
elapsedTime
=
cb
->
times
[
cb
->
begin
];
...
...
src/libid3tag/CHANGES
View file @
87e37cd4
libid3tag - ID3 tag manipulation library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: CHANGES,v 1.1
2003/08/14 03:57:13 shank
Exp $
$Id: CHANGES,v 1.1
1 2004/02/17 02:04:10 rob
Exp $
===============================================================================
Version 0.15.1 (beta)
* Updated to autoconf 2.59, automake 1.8.2, libtool 1.5.2.
* Fixed a potential problem in file.c when writing empty ID3v2 tags.
* Added new id3_field_gettextencoding() API routine.
Version 0.15.0 (beta)
* Updated to autoconf 2.57, automake 1.7.5, libtool 1.4.3.
...
...
src/libid3tag/COPYRIGHT
View file @
87e37cd4
libid3tag - ID3 tag manipulation library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
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
...
...
src/libid3tag/CREDITS
View file @
87e37cd4
libid3tag - ID3 tag manipulation library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: CREDITS,v 1.
1 2003/08/14 03:57:13 shank
Exp $
$Id: CREDITS,v 1.
2 2004/01/23 09:41:32 rob
Exp $
===============================================================================
...
...
src/libid3tag/Makefile.am
View file @
87e37cd4
##
## libid3tag - ID3 tag manipulation library
## Copyright (C) 2000-200
3
Underbit Technologies, Inc.
## Copyright (C) 2000-200
4
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
...
...
@@ -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: Makefile.am,v 1.
1 2003/08/14 03:57:13 shank
Exp $
## $Id: Makefile.am,v 1.
26 2004/02/17 02:11:28 rob
Exp $
##
## Process this file with automake to produce Makefile.in
...
...
@@ -63,9 +63,9 @@ noinst_HEADERS = id3tag.h
## 6. If any interfaces have been removed since the last public release,
## then set AGE to 0.
version_current
=
2
version_current
=
3
version_revision
=
0
version_age
=
2
version_age
=
3
version_info
=
$(version_current)
:
$(version_revision)
:
$(version_age)
...
...
@@ -90,7 +90,7 @@ EXTRA_libid3tag_la_SOURCES = \
frametype.gperf compat.gperf genre.dat.in
\
debug.c debug.h
libid3tag_la_LDFLAGS
=
-version-info
$(version_info)
#
libid3tag_la_LDFLAGS = -version-info $(version_info)
BUILT_SOURCES
=
frametype.c compat.c genre.dat
...
...
src/libid3tag/Makefile.in
View file @
87e37cd4
...
...
@@ -127,9 +127,9 @@ SUBDIRS =
noinst_LTLIBRARIES
=
libid3tag.la
noinst_HEADERS
=
id3tag.h
version_current
=
2
version_current
=
3
version_revision
=
0
version_age
=
2
version_age
=
3
version_info
=
$(version_current)
:
$(version_revision)
:
$(version_age)
...
...
@@ -154,8 +154,8 @@ EXTRA_libid3tag_la_SOURCES = \
debug.c debug.h
libid3tag_la_LDFLAGS
=
-version-info
$(version_info)
#libid3tag_la_LDFLAGS = -version-info $(version_info)
BUILT_SOURCES
=
frametype.c compat.c genre.dat
subdir
=
.
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
...
...
@@ -164,6 +164,7 @@ CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES
=
libid3tag.list
LTLIBRARIES
=
$(noinst_LTLIBRARIES)
libid3tag_la_LDFLAGS
=
libid3tag_la_LIBADD
=
am__libid3tag_la_SOURCES_DIST
=
version.c ucs4.c latin1.c utf16.c utf8.c
\
parse.c render.c field.c frametype.c compat.c genre.c frame.c
\
...
...
src/libid3tag/README
View file @
87e37cd4
libid3tag - ID3 tag manipulation library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: README,v 1.
1 2003/08/14 03:57:13 shank
Exp $
$Id: README,v 1.
5 2004/01/23 09:41:32 rob
Exp $
===============================================================================
...
...
src/libid3tag/TODO
View file @
87e37cd4
libid3tag - ID3 tag manipulation library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: TODO,v 1.
1 2003/08/14 03:57:13 shank
Exp $
$Id: TODO,v 1.
2 2004/01/23 09:41:32 rob
Exp $
===============================================================================
...
...
src/libid3tag/VERSION
View file @
87e37cd4
0.15.
0
b
0.15.
1
b
configure.ac:24
id3tag.h:33
4-337
msvc++/config.h:5
7
id3tag.h:33
8-341
msvc++/config.h:5
9,65,71
Makefile.am:63-65
src/libid3tag/compat.c
View file @
87e37cd4
...
...
@@ -2,7 +2,7 @@
/* Command-line: gperf -tCcTonD -K id -N id3_compat_lookup -s -3 -k '*' compat.gperf */
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -18,7 +18,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: compat.gperf,v 1.1
2003/08/14 03:57:13 shank
Exp
* Id: compat.gperf,v 1.1
1 2004/01/23 09:41:32 rob
Exp
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/compat.gperf
View file @
87e37cd4
%{
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -17,7 +17,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: compat.gperf,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: compat.gperf,v 1.1
1 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/compat.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: compat.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: compat.h,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_COMPAT_H
...
...
src/libid3tag/configure
View file @
87e37cd4
#! /bin/sh
# From configure.ac Id: configure.ac,v 1.1
2003/08/14 03:57:13 shank
Exp .
# From configure.ac Id: configure.ac,v 1.1
2 2004/01/23 23:22:46 rob
Exp .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.58 for ID3 Tag 0.15.
0
b.
# Generated by GNU Autoconf 2.58 for ID3 Tag 0.15.
1
b.
#
# Report bugs to <support@underbit.com>.
#
...
...
@@ -429,8 +429,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME
=
'ID3 Tag'
PACKAGE_TARNAME
=
'libid3tag'
PACKAGE_VERSION
=
'0.15.
0
b'
PACKAGE_STRING
=
'ID3 Tag 0.15.
0
b'
PACKAGE_VERSION
=
'0.15.
1
b'
PACKAGE_STRING
=
'ID3 Tag 0.15.
1
b'
PACKAGE_BUGREPORT
=
'support@underbit.com'
ac_unique_file
=
"id3tag.h"
...
...
@@ -940,7 +940,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat
<<
_ACEOF
\`configure' configures ID3 Tag 0.15.
0
b to adapt to many kinds of systems.
\`configure' configures ID3 Tag 0.15.
1
b to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -1006,7 +1006,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of ID3 Tag 0.15.
0
b:"
;;
short
|
recursive
)
echo
"Configuration of ID3 Tag 0.15.
1
b:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -1134,7 +1134,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
0
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
ID3 Tag configure 0.15.
0
b
ID3 Tag configure 0.15.
1
b
generated by GNU Autoconf 2.58
Copyright (C) 2003 Free Software Foundation, Inc.
...
...
@@ -1148,7 +1148,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by ID3 Tag
$as_me
0.15.
0
b, which was
It was created by ID3 Tag
$as_me
0.15.
1
b, which was
generated by GNU Autoconf 2.58. Invocation command line was
$ $0
$@
...
...
@@ -1763,7 +1763,7 @@ fi
# Define the identity of the package.
PACKAGE
=
'libid3tag'
VERSION
=
'0.15.
0
b'
VERSION
=
'0.15.
1
b'
cat
>>
confdefs.h
<<
_ACEOF
...
...
@@ -9529,7 +9529,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by ID3 Tag
$as_me
0.15.
0
b, which was
This file was extended by ID3 Tag
$as_me
0.15.
1
b, which was
generated by GNU Autoconf 2.58. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -9592,7 +9592,7 @@ _ACEOF
cat
>>
$CONFIG_STATUS
<<
_ACEOF
ac_cs_version="\\
ID3 Tag config.status 0.15.
0
b
ID3 Tag config.status 0.15.
1
b
configured by
$0
, generated by GNU Autoconf 2.58,
with options \\"`echo "
$ac_configure_args
" | sed 's/[\\""\`\
$]
/\\\\&/g'`\\"
...
...
src/libid3tag/configure.ac
View file @
87e37cd4
dnl -*- m4 -*-
dnl
dnl libid3tag - ID3 tag manipulation library
dnl Copyright (C) 2000-200
3
Underbit Technologies, Inc.
dnl Copyright (C) 2000-200
4
Underbit Technologies, Inc.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
...
...
@@ -17,11 +17,11 @@ 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 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
dnl
AC_REVISION([$Id: configure.ac,v 1.1
2003/08/14 03:57:13 shank
Exp $])dnl
AC_REVISION([$Id: configure.ac,v 1.1
2 2004/01/23 23:22:46 rob
Exp $])dnl
dnl Process this file with autoconf to produce a configure script.
AC_INIT([ID3 Tag], [0.15.
0
b], [support@underbit.com], [libid3tag])
AC_INIT([ID3 Tag], [0.15.
1
b], [support@underbit.com], [libid3tag])
AC_PREREQ(2.53)
AC_CONFIG_SRCDIR([id3tag.h])
...
...
src/libid3tag/crc.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: crc.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: crc.c,v 1.1
1 2004/02/17 02:04:10 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -104,10 +104,10 @@ unsigned long const crc_table[256] = {
};
/*
* NAME: crc->c
alcula
te()
* DESCRIPTION: c
ompu
te CRC-32 value (ISO 3309)
* NAME: crc->c
ompu
te()
* DESCRIPTION: c
alcula
te CRC-32 value (ISO 3309)
*/
unsigned
long
id3_crc_c
alcula
te
(
id3_byte_t
const
*
data
,
id3_length_t
length
)
unsigned
long
id3_crc_c
ompu
te
(
id3_byte_t
const
*
data
,
id3_length_t
length
)
{
register
unsigned
long
crc
;
...
...
src/libid3tag/crc.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: crc.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: crc.h,v 1.
8 2004/02/17 02:04:10 rob
Exp $
*/
# ifndef LIBID3TAG_CRC_H
...
...
@@ -24,6 +24,6 @@
# include "id3tag.h"
unsigned
long
id3_crc_c
alcula
te
(
id3_byte_t
const
*
,
id3_length_t
);
unsigned
long
id3_crc_c
ompu
te
(
id3_byte_t
const
*
,
id3_length_t
);
# endif
src/libid3tag/debug.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: debug.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: debug.c,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/debug.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: debug.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: debug.h,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_DEBUG_H
...
...
@@ -25,8 +25,7 @@
# include <stdlib.h>
void
*
id3_debug_malloc
(
size_t
,
char
const
*
,
unsigned
int
);
void
*
id3_debug_calloc
(
size_t
,
size_t
,
char
const
*
file
,
unsigned
int
line
);
void
*
id3_debug_calloc
(
size_t
,
size_t
,
char
const
*
,
unsigned
int
);
void
*
id3_debug_realloc
(
void
*
,
size_t
,
char
const
*
,
unsigned
int
);
void
id3_debug_free
(
void
*
,
char
const
*
,
unsigned
int
);
...
...
src/libid3tag/field.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: field.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: field.c,v 1.1
6 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -750,6 +750,21 @@ signed long id3_field_getint(union id3_field const *field)
}
/*
* NAME: field->gettextencoding()
* DESCRIPTION: return the value of a text encoding field
*/
enum
id3_field_textencoding
id3_field_gettextencoding
(
union
id3_field
const
*
field
)
{
assert
(
field
);
if
(
field
->
type
!=
ID3_FIELD_TYPE_TEXTENCODING
)
return
-
1
;
return
field
->
number
.
value
;
}
/*
* NAME: field->getlatin1()
* DESCRIPTION: return the value of a latin1 field
*/
...
...
src/libid3tag/field.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: field.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: field.h,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_FIELD_H
...
...
src/libid3tag/file.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: file.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: file.c,v 1.
21 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -522,7 +522,7 @@ int v1_write(struct id3_file *file,
if
(
fseek
(
file
->
iofile
,
(
file
->
flags
&
ID3_FILE_FLAG_ID3V1
)
?
-
128
:
0
,
SEEK_END
)
==
-
1
||
(
location
=
ftell
(
file
->
iofile
))
==
-
1
||
fwrite
(
data
,
128
,
1
,
file
->
iofile
)
==
0
||
fwrite
(
data
,
128
,
1
,
file
->
iofile
)
!=
1
||
fflush
(
file
->
iofile
)
==
EOF
)
return
-
1
;
...
...
@@ -577,13 +577,14 @@ int v2_write(struct id3_file *file,
{
assert
(
!
data
||
length
>
0
);
if
(((
file
->
ntags
==
1
&&
!
(
file
->
flags
&
ID3_FILE_FLAG_ID3V1
))
||
if
(
data
&&
((
file
->
ntags
==
1
&&
!
(
file
->
flags
&
ID3_FILE_FLAG_ID3V1
))
||
(
file
->
ntags
==
2
&&
(
file
->
flags
&
ID3_FILE_FLAG_ID3V1
)))
&&
file
->
tags
[
0
].
length
==
length
)
{
/* easy special case: rewrite existing tag in-place */
if
(
fseek
(
file
->
iofile
,
file
->
tags
[
0
].
location
,
SEEK_SET
)
==
-
1
||
fwrite
(
data
,
length
,
1
,
file
->
iofile
)
==
0
||
fwrite
(
data
,
length
,
1
,
file
->
iofile
)
!=
1
||
fflush
(
file
->
iofile
)
==
EOF
)
return
-
1
;
...
...
src/libid3tag/file.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: file.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: file.h,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_FILE_H
...
...
src/libid3tag/frame.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: frame.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: frame.c,v 1.1
5 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/frame.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: frame.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: frame.h,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_FRAME_H
...
...
src/libid3tag/frametype.c
View file @
87e37cd4
...
...
@@ -2,7 +2,7 @@
/* Command-line: gperf -tCcTonD -K id -N id3_frametype_lookup -s -3 -k '*' frametype.gperf */
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -18,7 +18,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: frametype.gperf,v 1.
1 2003/08/14 03:57:13 shank
Exp
* Id: frametype.gperf,v 1.
7 2004/01/23 09:41:32 rob
Exp
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/frametype.gperf
View file @
87e37cd4
%{
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -17,7 +17,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: frametype.gperf,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: frametype.gperf,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/frametype.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: frametype.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: frametype.h,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_FRAMETYPE_H
...
...
src/libid3tag/genre.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: genre.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: genre.c,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/genre.dat
View file @
87e37cd4
/* Automatically generated from genre.dat.in */
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -17,7 +17,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: genre.dat.in,v 1.
1 2003/08/14 03:57:13 shank
Exp
* Id: genre.dat.in,v 1.
7 2004/01/23 09:41:32 rob
Exp
*/
/*
...
...
src/libid3tag/genre.dat.in
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: genre.dat.in,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: genre.dat.in,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
/*
...
...
src/libid3tag/genre.dat.sed
View file @
87e37cd4
#
# libid3tag - ID3 tag manipulation library
# Copyright (C) 2000-200
3
Underbit Technologies, Inc.
# Copyright (C) 2000-200
4
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
...
...
@@ -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: genre.dat.sed,v 1.1
2003/08/14 03:57:13 shank
Exp $
# $Id: genre.dat.sed,v 1.1
0 2004/01/23 09:41:32 rob
Exp $
#
1
i
\
...
...
src/libid3tag/genre.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: genre.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: genre.h,v 1.
6 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_GENRE_H
...
...
src/libid3tag/global.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: global.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: global.h,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_GLOBAL_H
...
...
src/libid3tag/id3tag.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -19,7 +19,7 @@
* If you would like to negotiate alternate licensing terms, you may do
* so by contacting: Underbit Technologies, Inc. <info@underbit.com>
*
* $Id: id3tag.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: id3tag.h,v 1.1
7 2004/01/23 23:22:46 rob
Exp $
*/
# ifndef LIBID3TAG_ID3TAG_H
...
...
@@ -300,6 +300,7 @@ int id3_field_setbinarydata(union id3_field *,
id3_byte_t
const
*
,
id3_length_t
);
signed
long
id3_field_getint
(
union
id3_field
const
*
);
enum
id3_field_textencoding
id3_field_gettextencoding
(
union
id3_field
const
*
);
id3_latin1_t
const
*
id3_field_getlatin1
(
union
id3_field
const
*
);
id3_latin1_t
const
*
id3_field_getfulllatin1
(
union
id3_field
const
*
);
id3_ucs4_t
const
*
id3_field_getstring
(
union
id3_field
const
*
);
...
...
@@ -336,7 +337,7 @@ id3_ucs4_t *id3_utf8_ucs4duplicate(id3_utf8_t const *);
# define ID3_VERSION_MAJOR 0
# define ID3_VERSION_MINOR 15
# define ID3_VERSION_PATCH
0
# define ID3_VERSION_PATCH
1
# define ID3_VERSION_EXTRA " (beta)"
# define ID3_VERSION_STRINGIZE(str) #str
...
...
@@ -347,7 +348,7 @@ id3_ucs4_t *id3_utf8_ucs4duplicate(id3_utf8_t const *);
ID3_VERSION_STRING(ID3_VERSION_PATCH) \
ID3_VERSION_EXTRA
# define ID3_PUBLISHYEAR "2000-200
3
"
# define ID3_PUBLISHYEAR "2000-200
4
"
# define ID3_AUTHOR "Underbit Technologies, Inc."
# define ID3_EMAIL "info@underbit.com"
...
...
src/libid3tag/latin1.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: latin1.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: latin1.c,v 1.1
0 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/latin1.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: latin1.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: latin1.h,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_LATIN1_H
...
...
src/libid3tag/parse.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: parse.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: parse.c,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/parse.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: parse.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: parse.h,v 1.
6 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_PARSE_H
...
...
src/libid3tag/render.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: render.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: render.c,v 1.1
1 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/render.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: render.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: render.h,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_RENDER_H
...
...
src/libid3tag/tag.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: tag.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: tag.c,v 1.
20 2004/02/17 02:04:10 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -506,7 +506,7 @@ struct id3_tag *v2_parse(id3_byte_t const *ptr)
crc
=
id3_parse_uint
(
&
ehptr
,
4
);
if
(
crc
!=
id3_crc_c
alcula
te
(
ptr
,
end
-
ptr
))
if
(
crc
!=
id3_crc_c
ompu
te
(
ptr
,
end
-
ptr
))
goto
fail
;
tag
->
extendedflags
|=
ID3_TAG_EXTENDEDFLAG_CRCDATAPRESENT
;
...
...
@@ -579,7 +579,7 @@ struct id3_tag *v2_parse(id3_byte_t const *ptr)
crc
=
id3_parse_syncsafe
(
&
ehptr
,
5
);
ehptr
+=
bytes
-
5
;
if
(
crc
!=
id3_crc_c
alcula
te
(
ptr
,
end
-
ptr
))
if
(
crc
!=
id3_crc_c
ompu
te
(
ptr
,
end
-
ptr
))
goto
fail
;
}
...
...
@@ -895,7 +895,7 @@ id3_length_t id3_tag_render(struct id3_tag const *tag, id3_byte_t *buffer)
if
(
crc_ptr
)
{
id3_render_syncsafe
(
&
crc_ptr
,
id3_crc_c
alcula
te
(
frames_ptr
,
*
ptr
-
frames_ptr
),
5
);
id3_crc_c
ompu
te
(
frames_ptr
,
*
ptr
-
frames_ptr
),
5
);
}
/* footer */
...
...
src/libid3tag/tag.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: tag.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: tag.h,v 1.1
0 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_TAG_H
...
...
src/libid3tag/ucs4.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: ucs4.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: ucs4.c,v 1.1
3 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/ucs4.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: ucs4.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: ucs4.h,v 1.1
1 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_UCS4_H
...
...
src/libid3tag/utf16.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: utf16.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: utf16.c,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/utf16.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: utf16.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: utf16.h,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_UTF16_H
...
...
src/libid3tag/utf8.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: utf8.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: utf8.c,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/utf8.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: utf8.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: utf8.h,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_UTF8_H
...
...
src/libid3tag/util.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: util.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: util.c,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/util.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: util.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: util.h,v 1.
6 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_UTIL_H
...
...
src/libid3tag/version.c
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: version.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: version.c,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libid3tag/version.h
View file @
87e37cd4
/*
* libid3tag - ID3 tag manipulation library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: version.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: version.h,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBID3TAG_VERSION_H
...
...
src/libmad/CHANGES
View file @
87e37cd4
libmad - MPEG audio decoder library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: CHANGES,v 1.1
2003/08/14 03:57:13 shank
Exp $
$Id: CHANGES,v 1.1
4 2004/02/17 02:02:03 rob
Exp $
===============================================================================
Version 0.15.1 (beta)
* Updated to autoconf 2.59, automake 1.8.2, libtool 1.5.2.
* Replaced Layer III IMDCT routine with one based on a faster algorithm,
improving both speed and accuracy.
* Improved portability of the Huffman table initialization.
* Fixed a problem that could result in an assertion failure in layer3.c
due to an invalid Layer III free format bitrate.
* Improved the robustness of Layer II bitrate/mode combinations, and added
a new MAD_ERROR_BADMODE error enum. The allowability of low-bitrate
stereo streams is influenced by the --enable-strict-iso option to
`configure'.
Version 0.15.0 (beta)
* Updated to autoconf 2.57, automake 1.7.5, libtool 1.4.3.
...
...
@@ -98,7 +115,7 @@ Version 0.13.0 (beta)
* Eliminated `+' from asm constraints under Intel for better compatibility
with some compilers.
* Fixed a PIC-related problem in
libmad/
imdct_l_arm.S.
* Fixed a PIC-related problem in imdct_l_arm.S.
* Eliminated a static variable to make libmad thread-safe.
...
...
@@ -196,9 +213,9 @@ Version 0.12.0 (alpha)
* Further developed the async API; arbitrary messages can now be passed to
the subsidiary decoding process.
* Streamlined
libmad/timer.c and extended its interface. It now has
support for video frame/field lengths, including output support for
drop-frame
encoding.
* Streamlined
timer.c and extended its interface. It now has support for
video frame/field lengths, including output support for drop-frame
encoding.
* Replaced many constant integer preprocessor defines with enums.
...
...
src/libmad/COPYRIGHT
View file @
87e37cd4
libmad - MPEG audio decoder library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
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
...
...
src/libmad/CREDITS
View file @
87e37cd4
libmad - MPEG audio decoder library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: CREDITS,v 1.
1 2003/08/14 03:57:13 shank
Exp $
$Id: CREDITS,v 1.
5 2004/02/17 02:02:03 rob
Exp $
===============================================================================
...
...
@@ -19,12 +19,20 @@ CONTRIBUTORS
Anonymous
2002/03/15: frame.c
- Reported problem with use of reserved emphasis value.
2003/08/31: layer12.c
- Suggested support for certain disallowed bitrate/mode
combinations.
Niek Albers <info@daansystems.com>
2003/04/21: layer3.c
- Reported runtime uninitialized use of `ptr' in designating
ancillary bits after a decoding error.
Christian Biere <cbiere@users.sourceforge.net>
2003/02/01: frame.c
- Reported assertion failure in layer3.c due to an
invalid/unsupported Layer III free format bitrate.
David Blythe <blythe@routefree.com>
2001/01/30: fixed.h
- Provided initial PowerPC fixed-point assembly.
...
...
@@ -33,6 +41,10 @@ CONTRIBUTORS
2000/09/20: imdct_l_arm.S
- Suggested patch for a.out compatibility.
Brian Cameron <Brian.Cameron@sun.com>
2003/07/02: huffman.c
- Suggested changes for improved portability.
Joshua Haberman <joshua@haberman.com>
2001/08/10: decoder.c, huffman.c
- Suggested portability fixes.
...
...
@@ -41,6 +53,10 @@ CONTRIBUTORS
2002/05/04: sf_table.dat, layer12.c
- Reported problem with use of (missing) scalefactor index 63.
Felix von Leitner <felix-mad@fefe.de>
2003/01/21: fixed.h
- Suggested Intel scaling alternative for possible speedup.
Andre McCurdy <armccurdy@yahoo.co.uk>
2000/08/10: imdct_l_arm.S
- ARM optimized assembly replacement for III_imdct_l().
...
...
src/libmad/D.dat
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: D.dat,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: D.dat,v 1.
9 2004/01/23 09:41:32 rob
Exp $
*/
/*
...
...
src/libmad/Makefile.am
View file @
87e37cd4
##
## libmad - MPEG audio decoder library
## Copyright (C) 2000-200
3
Underbit Technologies, Inc.
## Copyright (C) 2000-200
4
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
...
...
@@ -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: Makefile.am,v 1.
1 2003/08/14 03:57:13 shank
Exp $
## $Id: Makefile.am,v 1.
23 2004/02/17 02:02:03 rob
Exp $
##
## Process this file with automake to produce Makefile.in
...
...
@@ -96,12 +96,12 @@ CLEANFILES = mad.h
## then set AGE to 0.
version_current
=
2
version_revision
=
0
version_revision
=
1
version_age
=
2
version_info
=
$(version_current)
:
$(version_revision)
:
$(version_age)
libmad_la_LDFLAGS
=
-version-info
$(version_info)
#
libmad_la_LDFLAGS = -version-info $(version_info)
mad.h
:
config.status config.h Makefile.am
\
$(srcdir)/COPYRIGHT $(srcdir)/mad.h.sed $(exported_headers)
...
...
src/libmad/Makefile.in
View file @
87e37cd4
...
...
@@ -168,12 +168,10 @@ BUILT_SOURCES = mad.h
CLEANFILES
=
mad.h
version_current
=
2
version_revision
=
0
version_revision
=
1
version_age
=
2
version_info
=
$(version_current)
:
$(version_revision)
:
$(version_age)
libmad_la_LDFLAGS
=
-version-info
$(version_info)
subdir
=
.
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
mkinstalldirs
=
$(SHELL)
$(top_srcdir)
/../../mkinstalldirs
...
...
@@ -181,6 +179,7 @@ CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES
=
libmad.list
LTLIBRARIES
=
$(noinst_LTLIBRARIES)
libmad_la_LDFLAGS
=
am__objects_1
=
am__objects_2
=
$(am__objects_1)
am_libmad_la_OBJECTS
=
version.lo fixed.lo bit.lo timer.lo stream.lo
\
...
...
@@ -713,6 +712,8 @@ uninstall-info: uninstall-info-recursive
uninstall-info-recursive uninstall-recursive
#libmad_la_LDFLAGS = -version-info $(version_info)
mad.h
:
config.status config.h Makefile.am
\
$(srcdir)/COPYRIGHT $(srcdir)/mad.h.sed $(exported_headers)
(
sed
-e
'1s|.*|/*|'
-e
'1b'
-e
'$$s|.*| */|'
-e
'$$b'
\
...
...
src/libmad/README
View file @
87e37cd4
libmad - MPEG audio decoder library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: README,v 1.
1 2003/08/14 03:57:13 shank
Exp $
$Id: README,v 1.
4 2004/01/23 09:41:32 rob
Exp $
===============================================================================
...
...
src/libmad/TODO
View file @
87e37cd4
libmad - MPEG audio decoder library
Copyright (C) 2000-200
3
Underbit Technologies, Inc.
Copyright (C) 2000-200
4
Underbit Technologies, Inc.
$Id: TODO,v 1.
1 2003/08/14 03:57:13 shank
Exp $
$Id: TODO,v 1.
3 2004/02/05 09:02:39 rob
Exp $
===============================================================================
...
...
@@ -57,7 +57,6 @@ libmad Layer I:
- check frame length sanity
libmad Layer II:
- check legal bitrate/mode combinations
- check frame length sanity
libmad Layer III:
...
...
src/libmad/VERSION
View file @
87e37cd4
0.15.
0
b
0.15.
1
b
configure.ac:24
version.h:25-28
msvc++/config.h:
115
msvc++/mad.h:
38-41
msvc++/config.h:
99,105,120
msvc++/mad.h:
41-44
Makefile.am:
89-91
Makefile.am:
98-100
src/libmad/bit.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: bit.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: bit.c,v 1.1
2 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libmad/bit.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: bit.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: bit.h,v 1.1
2 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_BIT_H
...
...
src/libmad/config.h.in
View file @
87e37cd4
...
...
@@ -118,6 +118,10 @@
/* Version number of package */
#undef VERSION
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
...
...
src/libmad/configure
View file @
87e37cd4
#! /bin/sh
# From configure.ac Id: configure.ac,v 1.
1 2003/08/14 03:57:13 shank
Exp .
# From configure.ac Id: configure.ac,v 1.
9 2004/01/23 09:41:32 rob
Exp .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.58 for MPEG Audio Decoder 0.15.
0
b.
# Generated by GNU Autoconf 2.58 for MPEG Audio Decoder 0.15.
1
b.
#
# Report bugs to <support@underbit.com>.
#
...
...
@@ -429,8 +429,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME
=
'MPEG Audio Decoder'
PACKAGE_TARNAME
=
'libmad'
PACKAGE_VERSION
=
'0.15.
0
b'
PACKAGE_STRING
=
'MPEG Audio Decoder 0.15.
0
b'
PACKAGE_VERSION
=
'0.15.
1
b'
PACKAGE_STRING
=
'MPEG Audio Decoder 0.15.
1
b'
PACKAGE_BUGREPORT
=
'support@underbit.com'
ac_unique_file
=
"decoder.h"
...
...
@@ -940,7 +940,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat
<<
_ACEOF
\`configure' configures MPEG Audio Decoder 0.15.
0
b to adapt to many kinds of systems.
\`configure' configures MPEG Audio Decoder 0.15.
1
b to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -1006,7 +1006,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of MPEG Audio Decoder 0.15.
0
b:"
;;
short
|
recursive
)
echo
"Configuration of MPEG Audio Decoder 0.15.
1
b:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -1142,7 +1142,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
0
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
MPEG Audio Decoder configure 0.15.
0
b
MPEG Audio Decoder configure 0.15.
1
b
generated by GNU Autoconf 2.58
Copyright (C) 2003 Free Software Foundation, Inc.
...
...
@@ -1156,7 +1156,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by MPEG Audio Decoder
$as_me
0.15.
0
b, which was
It was created by MPEG Audio Decoder
$as_me
0.15.
1
b, which was
generated by GNU Autoconf 2.58. Invocation command line was
$ $0
$@
...
...
@@ -1771,7 +1771,7 @@ fi
# Define the identity of the package.
PACKAGE
=
'libmad'
VERSION
=
'0.15.
0
b'
VERSION
=
'0.15.
1
b'
cat
>>
confdefs.h
<<
_ACEOF
...
...
@@ -8850,6 +8850,236 @@ _ACEOF
;;
esac
echo
"
$as_me
:
$LINENO
: checking whether byte ordering is bigendian"
>
&5
echo
$ECHO_N
"checking whether byte ordering is bigendian...
$ECHO_C
"
>
&6
if
test
"
${
ac_cv_c_bigendian
+set
}
"
=
set
;
then
echo
$ECHO_N
"(cached)
$ECHO_C
"
>
&6
else
# See if sys/param.h defines the BYTE_ORDER macro.
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/param.h>
int
main ()
{
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
if
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_compile
\"
"
)
>
&5
(
eval
$ac_compile
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
&&
{
ac_try
=
'test -s conftest.$ac_objext'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
# It does; now see whether it defined to BIG_ENDIAN or not.
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/param.h>
int
main ()
{
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
if
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_compile
\"
"
)
>
&5
(
eval
$ac_compile
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
&&
{
ac_try
=
'test -s conftest.$ac_objext'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
ac_cv_c_bigendian
=
yes
else
echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
ac_cv_c_bigendian
=
no
fi
rm
-f
conftest.err conftest.
$ac_objext
conftest.
$ac_ext
else
echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
# It does not; compile a test program.
if
test
"
$cross_compiling
"
=
yes
;
then
# try to guess the endianness by grepping values into an object file
ac_cv_c_bigendian
=
unknown
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
int
main ()
{
_ascii (); _ebcdic ();
;
return 0;
}
_ACEOF
rm
-f
conftest.
$ac_objext
if
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_compile
\"
"
)
>
&5
(
eval
$ac_compile
)
2>conftest.er1
ac_status
=
$?
grep
-v
'^ *+'
conftest.er1
>
conftest.err
rm
-f
conftest.er1
cat
conftest.err
>
&5
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
&&
{
ac_try
=
'test -s conftest.$ac_objext'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
if
grep
BIGenDianSyS conftest.
$ac_objext
>
/dev/null
;
then
ac_cv_c_bigendian
=
yes
fi
if
grep
LiTTleEnDian conftest.
$ac_objext
>
/dev/null
;
then
if
test
"
$ac_cv_c_bigendian
"
=
unknown
;
then
ac_cv_c_bigendian
=
no
else
# finding both strings is unlikely to happen, but who knows?
ac_cv_c_bigendian
=
unknown
fi
fi
else
echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
fi
rm
-f
conftest.err conftest.
$ac_objext
conftest.
$ac_ext
else
cat
>
conftest.
$ac_ext
<<
_ACEOF
/* confdefs.h. */
_ACEOF
cat
confdefs.h
>>
conftest.
$ac_ext
cat
>>
conftest.
$ac_ext
<<
_ACEOF
/* end confdefs.h. */
int
main ()
{
/* Are we little or big endian? From Harbison&Steele. */
union
{
long l;
char c[sizeof (long)];
} u;
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}
_ACEOF
rm
-f
conftest
$ac_exeext
if
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_link
\"
"
)
>
&5
(
eval
$ac_link
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
&&
{
ac_try
=
'./conftest$ac_exeext'
{
(
eval echo
"
$as_me
:
$LINENO
:
\"
$ac_try
\"
"
)
>
&5
(
eval
$ac_try
)
2>&5
ac_status
=
$?
echo
"
$as_me
:
$LINENO
:
\$
? =
$ac_status
"
>
&5
(
exit
$ac_status
)
;
}
;
}
;
then
ac_cv_c_bigendian
=
no
else
echo
"
$as_me
: program exited with status
$ac_status
"
>
&5
echo
"
$as_me
: failed program was:"
>
&5
sed
's/^/| /'
conftest.
$ac_ext
>
&5
(
exit
$ac_status
)
ac_cv_c_bigendian
=
yes
fi
rm
-f
core
*
.core gmon.out bb.out conftest
$ac_exeext
conftest.
$ac_objext
conftest.
$ac_ext
fi
fi
rm
-f
conftest.err conftest.
$ac_objext
conftest.
$ac_ext
fi
echo
"
$as_me
:
$LINENO
: result:
$ac_cv_c_bigendian
"
>
&5
echo
"
${
ECHO_T
}
$ac_cv_c_bigendian
"
>
&6
case
$ac_cv_c_bigendian
in
yes
)
cat
>>
confdefs.h
<<
\
_ACEOF
#define WORDS_BIGENDIAN 1
_ACEOF
;;
no
)
;;
*
)
{
{
echo
"
$as_me
:
$LINENO
: error: unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help"
>
&5
echo
"
$as_me
: error: unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help"
>
&2
;
}
{
(
exit
1
)
;
exit
1
;
}
;
}
;;
esac
echo
"
$as_me
:
$LINENO
: checking for pid_t"
>
&5
echo
$ECHO_N
"checking for pid_t...
$ECHO_C
"
>
&6
if
test
"
${
ac_cv_type_pid_t
+set
}
"
=
set
;
then
...
...
@@ -10955,7 +11185,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by MPEG Audio Decoder
$as_me
0.15.
0
b, which was
This file was extended by MPEG Audio Decoder
$as_me
0.15.
1
b, which was
generated by GNU Autoconf 2.58. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -11018,7 +11248,7 @@ _ACEOF
cat
>>
$CONFIG_STATUS
<<
_ACEOF
ac_cs_version="\\
MPEG Audio Decoder config.status 0.15.
0
b
MPEG Audio Decoder config.status 0.15.
1
b
configured by
$0
, generated by GNU Autoconf 2.58,
with options \\"`echo "
$ac_configure_args
" | sed 's/[\\""\`\
$]
/\\\\&/g'`\\"
...
...
src/libmad/configure.ac
View file @
87e37cd4
dnl -*- m4 -*-
dnl
dnl libmad - MPEG audio decoder library
dnl Copyright (C) 2000-200
3
Underbit Technologies, Inc.
dnl Copyright (C) 2000-200
4
Underbit Technologies, Inc.
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
...
...
@@ -17,11 +17,11 @@ 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 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
dnl
AC_REVISION([$Id: configure.ac,v 1.
1 2003/08/14 03:57:13 shank
Exp $])dnl
AC_REVISION([$Id: configure.ac,v 1.
9 2004/01/23 09:41:32 rob
Exp $])dnl
dnl Process this file with autoconf to produce a configure script.
AC_INIT([MPEG Audio Decoder], [0.15.
0
b], [support@underbit.com], [libmad])
AC_INIT([MPEG Audio Decoder], [0.15.
1
b], [support@underbit.com], [libmad])
AC_PREREQ(2.53)
AC_CONFIG_SRCDIR([decoder.h])
...
...
@@ -212,6 +212,7 @@ dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_C_BIGENDIAN
AC_TYPE_PID_T
AC_CHECK_SIZEOF(int, 2)
...
...
src/libmad/decoder.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: decoder.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: decoder.c,v 1.
22 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libmad/decoder.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: decoder.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: decoder.h,v 1.1
7 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_DECODER_H
...
...
src/libmad/fixed.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: fixed.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: fixed.c,v 1.1
3 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libmad/fixed.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: fixed.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: fixed.h,v 1.
38 2004/02/17 02:02:03 rob
Exp $
*/
# ifndef LIBMAD_FIXED_H
...
...
@@ -208,7 +208,22 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
: "cc"); \
__result; \
})
# else
# 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" \
...
...
src/libmad/frame.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: frame.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: frame.c,v 1.
29 2004/02/04 22:59:19 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -376,7 +376,8 @@ int mad_header_decode(struct mad_header *header, struct mad_stream *stream)
/* calculate free bit rate */
if
(
header
->
bitrate
==
0
)
{
if
((
stream
->
freerate
==
0
||
!
stream
->
sync
)
&&
if
((
stream
->
freerate
==
0
||
!
stream
->
sync
||
(
header
->
layer
==
MAD_LAYER_III
&&
stream
->
freerate
>
640000
))
&&
free_bitrate
(
stream
,
header
)
==
-
1
)
goto
fail
;
...
...
src/libmad/frame.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: frame.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: frame.h,v 1.
20 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_FRAME_H
...
...
src/libmad/global.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: global.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: global.h,v 1.1
1 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_GLOBAL_H
...
...
src/libmad/huffman.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: huffman.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: huffman.c,v 1.1
0 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -34,13 +34,19 @@
* These tables support decoding up to 4 Huffman code bits at a time.
*/
# if defined(__GNUC__)
# define PTR(offs, bits) { ptr: { 0, bits, offs } }
# define V(v, w, x, y, hlen) { value: { 1, hlen, v, w, x, y } }
# if defined(__GNUC__) || \
(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901)
# define PTR(offs, bits) { .ptr = { 0, bits, offs } }
# define V(v, w, x, y, hlen) { .value = { 1, hlen, v, w, x, y } }
# else
# define PTR(offs, bits) { { 0, bits, offs } }
# define V(v, w, x, y, hlen) { { 1, hlen, (v << 0) | (w << 1) | \
(x << 2) | (y << 3) } }
# if defined(WORDS_BIGENDIAN)
# define V(v, w, x, y, hlen) { { 1, hlen, (v << 11) | (w << 10) | \
(x << 9) | (y << 8) } }
# else
# define V(v, w, x, y, hlen) { { 1, hlen, (v << 0) | (w << 1) | \
(x << 2) | (y << 3) } }
# endif
# endif
static
...
...
@@ -106,12 +112,17 @@ union huffquad const hufftabB[] = {
# undef V
# undef PTR
# if defined(__GNUC__)
# define PTR(offs, bits) { ptr: { 0, bits, offs } }
# define V(x, y, hlen) { value: { 1, hlen, x, y } }
# if defined(__GNUC__) || \
(defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901)
# define PTR(offs, bits) { .ptr = { 0, bits, offs } }
# define V(x, y, hlen) { .value = { 1, hlen, x, y } }
# else
# define PTR(offs, bits) { { 0, bits, offs } }
# define V(x, y, hlen) { { 1, hlen, (x << 0) | (y << 4) } }
# if defined(WORDS_BIGENDIAN)
# define V(x, y, hlen) { { 1, hlen, (x << 8) | (y << 4) } }
# else
# define V(x, y, hlen) { { 1, hlen, (x << 0) | (y << 4) } }
# endif
# endif
static
...
...
src/libmad/huffman.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: huffman.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: huffman.h,v 1.1
1 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_HUFFMAN_H
...
...
src/libmad/imdct_l_arm.S
View file @
87e37cd4
...
...
@@ -22,7 +22,7 @@
*
*****************************************************************************
*
* $Id: imdct_l_arm.S,v 1.
1 2003/08/14 03:57:13 shank Exp
$
* $Id: imdct_l_arm.S,v 1.
7 2001/03/25 20:03:34 rob Rel
$
*
* 2001/03/24: Andre McCurdy <armccurdy@yahoo.co.uk>
* - Corrected PIC unsafe loading of address of 'imdct36_long_karray'
...
...
src/libmad/imdct_s.dat
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: imdct_s.dat,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: imdct_s.dat,v 1.
8 2004/01/23 09:41:32 rob
Exp $
*/
/* 0 */ { MAD_F(0x09bd7ca0) /* 0.608761429 */,
...
...
src/libmad/layer12.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: layer12.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: layer12.c,v 1.1
7 2004/02/05 09:02:39 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -341,20 +341,44 @@ int mad_layer_II(struct mad_stream *stream, struct mad_frame *frame)
if
(
header
->
flags
&
MAD_FLAG_LSF_EXT
)
index
=
4
;
else
if
(
header
->
flags
&
MAD_FLAG_FREEFORMAT
)
goto
freeformat
;
else
{
switch
(
nch
==
2
?
header
->
bitrate
/
2
:
header
->
bitrate
)
{
case
32000
:
case
48000
:
index
=
(
header
->
samplerate
==
32000
)
?
3
:
2
;
break
;
unsigned
long
bitrate_per_channel
;
case
56000
:
case
64000
:
case
80000
:
index
=
0
;
break
;
bitrate_per_channel
=
header
->
bitrate
;
if
(
nch
==
2
)
{
bitrate_per_channel
/=
2
;
default:
# if defined(OPT_STRICT)
/*
* ISO/IEC 11172-3 allows only single channel mode for 32, 48, 56, and
* 80 kbps bitrates in Layer II, but some encoders ignore this
* restriction. We enforce it if OPT_STRICT is defined.
*/
if
(
bitrate_per_channel
<=
28000
||
bitrate_per_channel
==
40000
)
{
stream
->
error
=
MAD_ERROR_BADMODE
;
return
-
1
;
}
# endif
}
else
{
/* nch == 1 */
if
(
bitrate_per_channel
>
192000
)
{
/*
* ISO/IEC 11172-3 does not allow single channel mode for 224, 256,
* 320, or 384 kbps bitrates in Layer II.
*/
stream
->
error
=
MAD_ERROR_BADMODE
;
return
-
1
;
}
}
if
(
bitrate_per_channel
<=
48000
)
index
=
(
header
->
samplerate
==
32000
)
?
3
:
2
;
else
if
(
bitrate_per_channel
<=
80000
)
index
=
0
;
else
{
freeformat:
index
=
(
header
->
samplerate
==
48000
)
?
0
:
1
;
}
}
...
...
src/libmad/layer12.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: layer12.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: layer12.h,v 1.1
0 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_LAYER12_H
...
...
src/libmad/layer3.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: layer3.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: layer3.c,v 1.
43 2004/01/23 09:41:32 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -1575,6 +1575,193 @@ void III_aliasreduce(mad_fixed_t xr[576], int lines)
# if defined(ASO_IMDCT)
void
III_imdct_l
(
mad_fixed_t
const
[
18
],
mad_fixed_t
[
36
],
unsigned
int
);
# else
# if 1
static
void
fastsdct
(
mad_fixed_t
const
x
[
9
],
mad_fixed_t
y
[
18
])
{
mad_fixed_t
a0
,
a1
,
a2
,
a3
,
a4
,
a5
,
a6
,
a7
,
a8
,
a9
,
a10
,
a11
,
a12
;
mad_fixed_t
a13
,
a14
,
a15
,
a16
,
a17
,
a18
,
a19
,
a20
,
a21
,
a22
,
a23
,
a24
,
a25
;
mad_fixed_t
m0
,
m1
,
m2
,
m3
,
m4
,
m5
,
m6
,
m7
;
enum
{
c0
=
MAD_F
(
0x1f838b8d
),
/* 2 * cos( 1 * PI / 18) */
c1
=
MAD_F
(
0x1bb67ae8
),
/* 2 * cos( 3 * PI / 18) */
c2
=
MAD_F
(
0x18836fa3
),
/* 2 * cos( 4 * PI / 18) */
c3
=
MAD_F
(
0x1491b752
),
/* 2 * cos( 5 * PI / 18) */
c4
=
MAD_F
(
0x0af1d43a
),
/* 2 * cos( 7 * PI / 18) */
c5
=
MAD_F
(
0x058e86a0
),
/* 2 * cos( 8 * PI / 18) */
c6
=
-
MAD_F
(
0x1e11f642
)
/* 2 * cos(16 * PI / 18) */
};
a0
=
x
[
3
]
+
x
[
5
];
a1
=
x
[
3
]
-
x
[
5
];
a2
=
x
[
6
]
+
x
[
2
];
a3
=
x
[
6
]
-
x
[
2
];
a4
=
x
[
1
]
+
x
[
7
];
a5
=
x
[
1
]
-
x
[
7
];
a6
=
x
[
8
]
+
x
[
0
];
a7
=
x
[
8
]
-
x
[
0
];
a8
=
a0
+
a2
;
a9
=
a0
-
a2
;
a10
=
a0
-
a6
;
a11
=
a2
-
a6
;
a12
=
a8
+
a6
;
a13
=
a1
-
a3
;
a14
=
a13
+
a7
;
a15
=
a3
+
a7
;
a16
=
a1
-
a7
;
a17
=
a1
+
a3
;
m0
=
mad_f_mul
(
a17
,
-
c3
);
m1
=
mad_f_mul
(
a16
,
-
c0
);
m2
=
mad_f_mul
(
a15
,
-
c4
);
m3
=
mad_f_mul
(
a14
,
-
c1
);
m4
=
mad_f_mul
(
a5
,
-
c1
);
m5
=
mad_f_mul
(
a11
,
-
c6
);
m6
=
mad_f_mul
(
a10
,
-
c5
);
m7
=
mad_f_mul
(
a9
,
-
c2
);
a18
=
x
[
4
]
+
a4
;
a19
=
2
*
x
[
4
]
-
a4
;
a20
=
a19
+
m5
;
a21
=
a19
-
m5
;
a22
=
a19
+
m6
;
a23
=
m4
+
m2
;
a24
=
m4
-
m2
;
a25
=
m4
+
m1
;
/* output to every other slot for convenience */
y
[
0
]
=
a18
+
a12
;
y
[
2
]
=
m0
-
a25
;
y
[
4
]
=
m7
-
a20
;
y
[
6
]
=
m3
;
y
[
8
]
=
a21
-
m6
;
y
[
10
]
=
a24
-
m1
;
y
[
12
]
=
a12
-
2
*
a18
;
y
[
14
]
=
a23
+
m0
;
y
[
16
]
=
a22
+
m7
;
}
static
inline
void
sdctII
(
mad_fixed_t
const
x
[
18
],
mad_fixed_t
X
[
18
])
{
mad_fixed_t
tmp
[
9
];
int
i
;
/* scale[i] = 2 * cos(PI * (2 * i + 1) / (2 * 18)) */
static
mad_fixed_t
const
scale
[
9
]
=
{
MAD_F
(
0x1fe0d3b4
),
MAD_F
(
0x1ee8dd47
),
MAD_F
(
0x1d007930
),
MAD_F
(
0x1a367e59
),
MAD_F
(
0x16a09e66
),
MAD_F
(
0x125abcf8
),
MAD_F
(
0x0d8616bc
),
MAD_F
(
0x08483ee1
),
MAD_F
(
0x02c9fad7
)
};
/* divide the 18-point SDCT-II into two 9-point SDCT-IIs */
/* even input butterfly */
for
(
i
=
0
;
i
<
9
;
i
+=
3
)
{
tmp
[
i
+
0
]
=
x
[
i
+
0
]
+
x
[
18
-
(
i
+
0
)
-
1
];
tmp
[
i
+
1
]
=
x
[
i
+
1
]
+
x
[
18
-
(
i
+
1
)
-
1
];
tmp
[
i
+
2
]
=
x
[
i
+
2
]
+
x
[
18
-
(
i
+
2
)
-
1
];
}
fastsdct
(
tmp
,
&
X
[
0
]);
/* odd input butterfly and scaling */
for
(
i
=
0
;
i
<
9
;
i
+=
3
)
{
tmp
[
i
+
0
]
=
mad_f_mul
(
x
[
i
+
0
]
-
x
[
18
-
(
i
+
0
)
-
1
],
scale
[
i
+
0
]);
tmp
[
i
+
1
]
=
mad_f_mul
(
x
[
i
+
1
]
-
x
[
18
-
(
i
+
1
)
-
1
],
scale
[
i
+
1
]);
tmp
[
i
+
2
]
=
mad_f_mul
(
x
[
i
+
2
]
-
x
[
18
-
(
i
+
2
)
-
1
],
scale
[
i
+
2
]);
}
fastsdct
(
tmp
,
&
X
[
1
]);
/* output accumulation */
for
(
i
=
3
;
i
<
18
;
i
+=
8
)
{
X
[
i
+
0
]
-=
X
[(
i
+
0
)
-
2
];
X
[
i
+
2
]
-=
X
[(
i
+
2
)
-
2
];
X
[
i
+
4
]
-=
X
[(
i
+
4
)
-
2
];
X
[
i
+
6
]
-=
X
[(
i
+
6
)
-
2
];
}
}
static
inline
void
dctIV
(
mad_fixed_t
const
y
[
18
],
mad_fixed_t
X
[
18
])
{
mad_fixed_t
tmp
[
18
];
int
i
;
/* scale[i] = 2 * cos(PI * (2 * i + 1) / (4 * 18)) */
static
mad_fixed_t
const
scale
[
18
]
=
{
MAD_F
(
0x1ff833fa
),
MAD_F
(
0x1fb9ea93
),
MAD_F
(
0x1f3dd120
),
MAD_F
(
0x1e84d969
),
MAD_F
(
0x1d906bcf
),
MAD_F
(
0x1c62648b
),
MAD_F
(
0x1afd100f
),
MAD_F
(
0x1963268b
),
MAD_F
(
0x1797c6a4
),
MAD_F
(
0x159e6f5b
),
MAD_F
(
0x137af940
),
MAD_F
(
0x11318ef3
),
MAD_F
(
0x0ec6a507
),
MAD_F
(
0x0c3ef153
),
MAD_F
(
0x099f61c5
),
MAD_F
(
0x06ed12c5
),
MAD_F
(
0x042d4544
),
MAD_F
(
0x0165547c
)
};
/* scaling */
for
(
i
=
0
;
i
<
18
;
i
+=
3
)
{
tmp
[
i
+
0
]
=
mad_f_mul
(
y
[
i
+
0
],
scale
[
i
+
0
]);
tmp
[
i
+
1
]
=
mad_f_mul
(
y
[
i
+
1
],
scale
[
i
+
1
]);
tmp
[
i
+
2
]
=
mad_f_mul
(
y
[
i
+
2
],
scale
[
i
+
2
]);
}
/* SDCT-II */
sdctII
(
tmp
,
X
);
/* scale reduction and output accumulation */
X
[
0
]
/=
2
;
for
(
i
=
1
;
i
<
17
;
i
+=
4
)
{
X
[
i
+
0
]
=
X
[
i
+
0
]
/
2
-
X
[(
i
+
0
)
-
1
];
X
[
i
+
1
]
=
X
[
i
+
1
]
/
2
-
X
[(
i
+
1
)
-
1
];
X
[
i
+
2
]
=
X
[
i
+
2
]
/
2
-
X
[(
i
+
2
)
-
1
];
X
[
i
+
3
]
=
X
[
i
+
3
]
/
2
-
X
[(
i
+
3
)
-
1
];
}
X
[
17
]
=
X
[
17
]
/
2
-
X
[
16
];
}
/*
* NAME: imdct36
* DESCRIPTION: perform X[18]->x[36] IMDCT using Szu-Wei Lee's fast algorithm
*/
static
inline
void
imdct36
(
mad_fixed_t
const
x
[
18
],
mad_fixed_t
y
[
36
])
{
mad_fixed_t
tmp
[
18
];
int
i
;
/* DCT-IV */
dctIV
(
x
,
tmp
);
/* convert 18-point DCT-IV to 36-point IMDCT */
for
(
i
=
0
;
i
<
9
;
i
+=
3
)
{
y
[
i
+
0
]
=
tmp
[
9
+
(
i
+
0
)];
y
[
i
+
1
]
=
tmp
[
9
+
(
i
+
1
)];
y
[
i
+
2
]
=
tmp
[
9
+
(
i
+
2
)];
}
for
(
i
=
9
;
i
<
27
;
i
+=
3
)
{
y
[
i
+
0
]
=
-
tmp
[
36
-
(
9
+
(
i
+
0
))
-
1
];
y
[
i
+
1
]
=
-
tmp
[
36
-
(
9
+
(
i
+
1
))
-
1
];
y
[
i
+
2
]
=
-
tmp
[
36
-
(
9
+
(
i
+
2
))
-
1
];
}
for
(
i
=
27
;
i
<
36
;
i
+=
3
)
{
y
[
i
+
0
]
=
-
tmp
[(
i
+
0
)
-
27
];
y
[
i
+
1
]
=
-
tmp
[(
i
+
1
)
-
27
];
y
[
i
+
2
]
=
-
tmp
[(
i
+
2
)
-
27
];
}
}
# else
/*
* NAME: imdct36
* DESCRIPTION: perform X[18]->x[36] IMDCT
...
...
@@ -1865,6 +2052,7 @@ void imdct36(mad_fixed_t const X[18], mad_fixed_t x[36])
x
[
26
]
=
x
[
27
]
=
MAD_F_MLZ
(
hi
,
lo
)
+
t5
;
}
# endif
/*
* NAME: III_imdct_l()
...
...
@@ -1929,7 +2117,11 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],
break
;
case
1
:
/* start block */
for
(
i
=
0
;
i
<
18
;
++
i
)
z
[
i
]
=
mad_f_mul
(
z
[
i
],
window_l
[
i
]);
for
(
i
=
0
;
i
<
18
;
i
+=
3
)
{
z
[
i
+
0
]
=
mad_f_mul
(
z
[
i
+
0
],
window_l
[
i
+
0
]);
z
[
i
+
1
]
=
mad_f_mul
(
z
[
i
+
1
],
window_l
[
i
+
1
]);
z
[
i
+
2
]
=
mad_f_mul
(
z
[
i
+
2
],
window_l
[
i
+
2
]);
}
/* (i = 18; i < 24; ++i) z[i] unchanged */
for
(
i
=
24
;
i
<
30
;
++
i
)
z
[
i
]
=
mad_f_mul
(
z
[
i
],
window_s
[
i
-
18
]);
for
(
i
=
30
;
i
<
36
;
++
i
)
z
[
i
]
=
0
;
...
...
@@ -1939,7 +2131,11 @@ void III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],
for
(
i
=
0
;
i
<
6
;
++
i
)
z
[
i
]
=
0
;
for
(
i
=
6
;
i
<
12
;
++
i
)
z
[
i
]
=
mad_f_mul
(
z
[
i
],
window_s
[
i
-
6
]);
/* (i = 12; i < 18; ++i) z[i] unchanged */
for
(
i
=
18
;
i
<
36
;
++
i
)
z
[
i
]
=
mad_f_mul
(
z
[
i
],
window_l
[
i
]);
for
(
i
=
18
;
i
<
36
;
i
+=
3
)
{
z
[
i
+
0
]
=
mad_f_mul
(
z
[
i
+
0
],
window_l
[
i
+
0
]);
z
[
i
+
1
]
=
mad_f_mul
(
z
[
i
+
1
],
window_l
[
i
+
1
]);
z
[
i
+
2
]
=
mad_f_mul
(
z
[
i
+
2
],
window_l
[
i
+
2
]);
}
break
;
}
}
...
...
src/libmad/layer3.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: layer3.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: layer3.h,v 1.1
0 2004/01/23 09:41:32 rob
Exp $
*/
# ifndef LIBMAD_LAYER3_H
...
...
src/libmad/mad.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -33,14 +33,14 @@ extern "C" {
# define SIZEOF_LONG_LONG 8
/* Id: version.h,v 1.
1 2003/08/14 03:57:13 shank
Exp */
/* 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
0
# define MAD_VERSION_PATCH
1
# define MAD_VERSION_EXTRA " (beta)"
# define MAD_VERSION_STRINGIZE(str) #str
...
...
@@ -51,7 +51,7 @@ extern "C" {
MAD_VERSION_STRING(MAD_VERSION_PATCH) \
MAD_VERSION_EXTRA
# define MAD_PUBLISHYEAR "2000-200
3
"
# define MAD_PUBLISHYEAR "2000-200
4
"
# define MAD_AUTHOR "Underbit Technologies, Inc."
# define MAD_EMAIL "info@underbit.com"
...
...
@@ -62,7 +62,7 @@ extern char const mad_build[];
# endif
/* Id: fixed.h,v 1.
1 2003/08/14 03:57:13 shank
Exp */
/* Id: fixed.h,v 1.
38 2004/02/17 02:02:03 rob
Exp */
# ifndef LIBMAD_FIXED_H
# define LIBMAD_FIXED_H
...
...
@@ -253,7 +253,22 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t x, mad_fixed_t y)
: "cc"); \
__result; \
})
# else
# 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" \
...
...
@@ -528,7 +543,7 @@ mad_fixed_t mad_f_div(mad_fixed_t, mad_fixed_t);
# endif
/* Id: bit.h,v 1.1
2003/08/14 03:57:13 shank
Exp */
/* Id: bit.h,v 1.1
2 2004/01/23 09:41:32 rob
Exp */
# ifndef LIBMAD_BIT_H
# define LIBMAD_BIT_H
...
...
@@ -557,7 +572,7 @@ unsigned short mad_bit_crc(struct mad_bitptr, unsigned int, unsigned short);
# endif
/* Id: timer.h,v 1.1
2003/08/14 03:57:13 shank
Exp */
/* Id: timer.h,v 1.1
6 2004/01/23 09:41:33 rob
Exp */
# ifndef LIBMAD_TIMER_H
# define LIBMAD_TIMER_H
...
...
@@ -639,7 +654,7 @@ void mad_timer_string(mad_timer_t, char *, char const *,
# endif
/* Id: stream.h,v 1.
1 2003/08/14 03:57:13 shank
Exp */
/* Id: stream.h,v 1.
20 2004/02/05 09:02:39 rob
Exp */
# ifndef LIBMAD_STREAM_H
# define LIBMAD_STREAM_H
...
...
@@ -665,6 +680,7 @@ enum mad_error {
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 */
...
...
@@ -727,7 +743,7 @@ char const *mad_stream_errorstr(struct mad_stream const *);
# endif
/* Id: frame.h,v 1.
1 2003/08/14 03:57:13 shank
Exp */
/* Id: frame.h,v 1.
20 2004/01/23 09:41:32 rob
Exp */
# ifndef LIBMAD_FRAME_H
# define LIBMAD_FRAME_H
...
...
@@ -824,7 +840,7 @@ void mad_frame_mute(struct mad_frame *);
# endif
/* Id: synth.h,v 1.1
2003/08/14 03:57:13 shank
Exp */
/* Id: synth.h,v 1.1
5 2004/01/23 09:41:33 rob
Exp */
# ifndef LIBMAD_SYNTH_H
# define LIBMAD_SYNTH_H
...
...
@@ -873,7 +889,7 @@ void mad_synth_frame(struct mad_synth *, struct mad_frame const *);
# endif
/* Id: decoder.h,v 1.1
2003/08/14 03:57:13 shank
Exp */
/* Id: decoder.h,v 1.1
7 2004/01/23 09:41:32 rob
Exp */
# ifndef LIBMAD_DECODER_H
# define LIBMAD_DECODER_H
...
...
src/libmad/mad.h.sed
View file @
87e37cd4
#
# libmad - MPEG audio decoder library
# Copyright (C) 2000-200
3
Underbit Technologies, Inc.
# Copyright (C) 2000-200
4
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
...
...
@@ -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: mad.h.sed,v 1.
1 2003/08/14 03:57:13 shank
Exp $
# $Id: mad.h.sed,v 1.
9 2004/01/23 09:41:32 rob
Exp $
#
/
^
\/\*
$
/
{
...
...
src/libmad/minimad.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: minimad.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: minimad.c,v 1.
4 2004/01/23 09:41:32 rob
Exp $
*/
# include <stdio.h>
...
...
@@ -163,8 +163,8 @@ enum mad_flow output(void *data,
/*
* This is the error callback function. It is called whenever a decoding
* error occurs. The error is indicated by stream->error; the list of
* possible MAD_ERROR_* errors can be found in the mad.h (or
*
libmad/stream.h)
header file.
* possible MAD_ERROR_* errors can be found in the mad.h (or
stream.h)
* header file.
*/
static
...
...
@@ -184,9 +184,9 @@ enum mad_flow error(void *data,
}
/*
* This is the function called by main() above to perform all the
*
decoding. It instantiates a decoder object and configures it with the
*
input,
output, and error callback functions above. A single call to
* This is the function called by main() above to perform all the
decoding.
*
It instantiates a decoder object and configures it with the input,
* output, and error callback functions above. A single call to
* mad_decoder_run() continues until a callback function returns
* MAD_FLOW_STOP (to stop decoding) or MAD_FLOW_BREAK (to stop decoding and
* signal an error).
...
...
src/libmad/qc_table.dat
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: qc_table.dat,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: qc_table.dat,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
/*
...
...
src/libmad/rq_table.dat
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: rq_table.dat,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: rq_table.dat,v 1.
7 2004/01/23 09:41:32 rob
Exp $
*/
/*
...
...
src/libmad/sf_table.dat
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: sf_table.dat,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: sf_table.dat,v 1.
7 2004/01/23 09:41:33 rob
Exp $
*/
/*
...
...
src/libmad/stream.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: stream.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: stream.c,v 1.1
2 2004/02/05 09:02:39 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
@@ -145,6 +145,7 @@ char const *mad_stream_errorstr(struct mad_stream const *stream)
case
MAD_ERROR_BADCRC
:
return
"CRC check failed"
;
case
MAD_ERROR_BADBITALLOC
:
return
"forbidden bit allocation value"
;
case
MAD_ERROR_BADSCALEFACTOR
:
return
"bad scalefactor index"
;
case
MAD_ERROR_BADMODE
:
return
"bad bitrate/mode combination"
;
case
MAD_ERROR_BADFRAMELEN
:
return
"bad frame length"
;
case
MAD_ERROR_BADBIGVALUES
:
return
"bad big_values count"
;
case
MAD_ERROR_BADBLOCKTYPE
:
return
"reserved block_type"
;
...
...
src/libmad/stream.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: stream.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: stream.h,v 1.
20 2004/02/05 09:02:39 rob
Exp $
*/
# ifndef LIBMAD_STREAM_H
...
...
@@ -44,6 +44,7 @@ enum mad_error {
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 */
...
...
src/libmad/synth.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: synth.c,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: synth.c,v 1.
25 2004/01/23 09:41:33 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libmad/synth.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: synth.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: synth.h,v 1.1
5 2004/01/23 09:41:33 rob
Exp $
*/
# ifndef LIBMAD_SYNTH_H
...
...
src/libmad/timer.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: timer.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: timer.c,v 1.1
8 2004/01/23 09:41:33 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libmad/timer.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: timer.h,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: timer.h,v 1.1
6 2004/01/23 09:41:33 rob
Exp $
*/
# ifndef LIBMAD_TIMER_H
...
...
src/libmad/version.c
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: version.c,v 1.1
2003/08/14 03:57:13 shank
Exp $
* $Id: version.c,v 1.1
5 2004/01/23 09:41:33 rob
Exp $
*/
# ifdef HAVE_CONFIG_H
...
...
src/libmad/version.h
View file @
87e37cd4
/*
* libmad - MPEG audio decoder library
* Copyright (C) 2000-200
3
Underbit Technologies, Inc.
* Copyright (C) 2000-200
4
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
...
...
@@ -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: version.h,v 1.
1 2003/08/14 03:57:13 shank
Exp $
* $Id: version.h,v 1.
26 2004/01/23 09:41:33 rob
Exp $
*/
# ifndef LIBMAD_VERSION_H
...
...
@@ -24,7 +24,7 @@
# define MAD_VERSION_MAJOR 0
# define MAD_VERSION_MINOR 15
# define MAD_VERSION_PATCH
0
# define MAD_VERSION_PATCH
1
# define MAD_VERSION_EXTRA " (beta)"
# define MAD_VERSION_STRINGIZE(str) #str
...
...
@@ -35,7 +35,7 @@
MAD_VERSION_STRING(MAD_VERSION_PATCH) \
MAD_VERSION_EXTRA
# define MAD_PUBLISHYEAR "2000-200
3
"
# define MAD_PUBLISHYEAR "2000-200
4
"
# define MAD_AUTHOR "Underbit Technologies, Inc."
# define MAD_EMAIL "info@underbit.com"
...
...
src/mp3_decode.c
View file @
87e37cd4
...
...
@@ -25,6 +25,13 @@
#else
#include <mad.h>
#endif
#ifdef HAVE_ID3TAG
#ifdef USE_MPD_ID3TAG
#include "libid3tag/id3tag.h"
#else
#include <id3tag.h>
#endif
#endif
#include "playerData.h"
#include "log.h"
...
...
@@ -38,6 +45,7 @@
#define READ_BUFFER_SIZE 40960
#define DECODE_SKIP -3
#define DECODE_BREAK -2
#define DECODE_CONT -1
#define DECODE_OK 0
...
...
@@ -180,7 +188,19 @@ int decodeNextFrameHeader(mp3DecodeData * data) {
}
}
if
(
mad_header_decode
(
&
data
->
frame
.
header
,
&
data
->
stream
))
{
if
(
MAD_RECOVERABLE
((
data
->
stream
).
error
))
return
DECODE_CONT
;
#ifdef HAVE_ID3TAG
if
((
data
->
stream
).
error
==
MAD_ERROR_LOSTSYNC
)
{
signed
long
tagsize
=
id3_tag_query
(
(
data
->
stream
).
this_frame
,
(
data
->
stream
).
bufend
-
(
data
->
stream
).
this_frame
);
if
(
tagsize
>
0
)
{
mad_stream_skip
(
&
(
data
->
stream
),
tagsize
);
return
DECODE_CONT
;
}
}
#endif
if
(
MAD_RECOVERABLE
((
data
->
stream
).
error
))
return
DECODE_SKIP
;
else
{
if
((
data
->
stream
).
error
==
MAD_ERROR_BUFLEN
)
return
DECODE_CONT
;
else
...
...
@@ -203,8 +223,20 @@ int decodeNextFrame(mp3DecodeData * data) {
return
DECODE_BREAK
;
}
}
#ifdef HAVE_ID3TAG
if
(
mad_frame_decode
(
&
data
->
frame
,
&
data
->
stream
))
{
if
(
MAD_RECOVERABLE
((
data
->
stream
).
error
))
return
DECODE_CONT
;
if
((
data
->
stream
).
error
==
MAD_ERROR_LOSTSYNC
)
{
signed
long
tagsize
=
id3_tag_query
(
(
data
->
stream
).
this_frame
,
(
data
->
stream
).
bufend
-
(
data
->
stream
).
this_frame
);
if
(
tagsize
>
0
)
{
mad_stream_skip
(
&
(
data
->
stream
),
tagsize
);
return
DECODE_CONT
;
}
}
#endif
if
(
MAD_RECOVERABLE
((
data
->
stream
).
error
))
return
DECODE_SKIP
;
else
{
if
((
data
->
stream
).
error
==
MAD_ERROR_BUFLEN
)
return
DECODE_CONT
;
else
...
...
@@ -282,14 +314,20 @@ int decodeFirstFrame(mp3DecodeData * data) {
struct
stat
filestat
;
struct
xing
xing
;
int
ret
;
int
skip
;
memset
(
&
xing
,
0
,
sizeof
(
struct
xing
));
xing
.
flags
=
0
;
while
((
ret
=
decodeNextFrameHeader
(
data
))
==
DECODE_CONT
);
if
(
ret
!=
DECODE_OK
)
return
-
1
;
while
((
ret
=
decodeNextFrame
(
data
))
==
DECODE_CONT
);
if
(
ret
!=
DECODE_OK
)
return
-
1
;
while
(
1
)
{
skip
=
0
;
while
((
ret
=
decodeNextFrameHeader
(
data
))
==
DECODE_CONT
);
if
(
ret
==
DECODE_SKIP
)
skip
=
1
;
else
if
(
ret
==
DECODE_BREAK
)
return
-
1
;
while
((
ret
=
decodeNextFrame
(
data
))
==
DECODE_CONT
);
if
(
ret
==
DECODE_BREAK
)
return
-
1
;
if
(
!
skip
&&
ret
==
DECODE_OK
)
break
;
}
if
(
parse_xing
(
&
xing
,
data
->
stream
.
anc_ptr
,
data
->
stream
.
anc_bitlen
))
{
if
(
xing
.
flags
&
XING_FRAMES
)
{
...
...
@@ -386,6 +424,7 @@ int mp3Read(mp3DecodeData * data, Buffer * cb, DecoderControl * dc) {
static
int
i
;
static
int
ret
;
static
struct
audio_dither
dither
;
static
int
skip
;
if
(
data
->
currentFrame
>=
data
->
highestFrame
&&
data
->
highestFrame
<
data
->
maxFrames
)
...
...
@@ -463,11 +502,18 @@ int mp3Read(mp3DecodeData * data, Buffer * cb, DecoderControl * dc) {
}
}
if
(
data
->
muteFrame
)
{
while
((
ret
=
decodeNextFrameHeader
(
data
))
==
DECODE_CONT
);
while
(
1
)
{
skip
=
0
;
while
((
ret
=
decodeNextFrameHeader
(
data
))
==
DECODE_CONT
);
if
(
ret
==
DECODE_SKIP
)
skip
=
1
;
else
if
(
ret
==
DECODE_BREAK
)
break
;
if
(
!
data
->
muteFrame
)
{
while
((
ret
=
decodeNextFrame
(
data
))
==
DECODE_CONT
);
if
(
ret
==
DECODE_BREAK
)
break
;
}
if
(
!
skip
&&
ret
==
DECODE_OK
)
break
;
}
else
while
((
ret
=
decodeNextFrame
(
data
))
==
DECODE_CONT
);
return
ret
;
}
...
...
src/ogg_decode.c
View file @
87e37cd4
...
...
@@ -63,6 +63,7 @@ int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
int
eof
=
0
;
long
ret
;
char
chunk
[
CHUNK_SIZE
];
int
chunkpos
=
0
;
long
bitRate
=
0
;
long
test
;
...
...
@@ -70,13 +71,17 @@ int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
if
(
dc
->
seek
)
{
cb
->
end
=
0
;
cb
->
wrap
=
0
;
chunkpos
=
0
;
ov_time_seek_page
(
&
vf
,
dc
->
seekWhere
);
dc
->
seek
=
0
;
}
ret
=
ov_read
(
&
vf
,
chunk
,
CHUNK_SIZE
,
0
,
2
,
1
,
ret
=
ov_read
(
&
vf
,
chunk
+
chunkpos
,
CHUNK_SIZE
-
chunkpos
,
0
,
2
,
1
,
&
current_section
);
if
(
ret
<=
0
)
eof
=
1
;
else
{
else
chunkpos
+=
ret
;
if
(
chunkpos
>=
CHUNK_SIZE
||
eof
)
{
while
(
cb
->
begin
==
cb
->
end
&&
cb
->
wrap
&&
!
dc
->
stop
&&
!
dc
->
seek
)
{
...
...
@@ -89,8 +94,9 @@ int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
af
->
bits
);
#endif
memcpy
(
cb
->
chunks
+
cb
->
end
*
CHUNK_SIZE
,
chunk
,
CHUNK_SIZE
);
cb
->
chunkSize
[
cb
->
end
]
=
ret
;
chunk
,
chunkpos
);
cb
->
chunkSize
[
cb
->
end
]
=
chunkpos
;
chunkpos
=
0
;
cb
->
times
[
cb
->
end
]
=
ov_time_tell
(
&
vf
);
if
((
test
=
ov_bitrate_instant
(
&
vf
))
>
0
)
{
bitRate
=
test
/
1000
;
...
...
src/pcm_utils.c
View file @
87e37cd4
...
...
@@ -85,7 +85,7 @@ void pcm_volumeChange(char * buffer, int bufferSize, AudioFormat * format,
}
void
pcm_add
(
char
*
buffer1
,
char
*
buffer2
,
size_t
bufferSize1
,
size_t
bufferSize2
,
AudioFormat
*
format
)
size_t
bufferSize2
,
int
vol1
,
int
vol2
,
AudioFormat
*
format
)
{
mpd_sint32
temp32
;
mpd_sint8
*
buffer8_1
=
(
mpd_sint8
*
)
buffer1
;
...
...
@@ -96,8 +96,7 @@ void pcm_add(char * buffer1, char * buffer2, size_t bufferSize1,
switch
(
format
->
bits
)
{
case
16
:
while
(
bufferSize1
>
0
&&
bufferSize2
>
0
)
{
temp32
=
*
buffer16_1
;
temp32
+=
*
buffer16_2
;
temp32
=
(
vol1
*
(
*
buffer16_1
)
+
vol2
*
(
*
buffer16_2
))
/
100
;
*
buffer16_1
=
temp32
>
32767
?
32767
:
(
temp32
<-
32768
?
-
32768
:
temp32
);
buffer16_1
++
;
...
...
@@ -105,12 +104,11 @@ void pcm_add(char * buffer1, char * buffer2, size_t bufferSize1,
bufferSize1
-=
2
;
bufferSize2
-=
2
;
}
if
(
bufferSize2
>
0
)
memcpy
(
buffer
8_1
,
buffer8
_2
,
bufferSize2
);
if
(
bufferSize2
>
0
)
memcpy
(
buffer
16_1
,
buffer16
_2
,
bufferSize2
);
break
;
case
8
:
while
(
bufferSize1
>
0
&&
bufferSize2
>
0
)
{
temp32
=
*
buffer8_1
;
temp32
+=
*
buffer8_2
;
temp32
=
(
vol1
*
(
*
buffer8_1
)
+
vol2
*
(
*
buffer8_2
))
/
100
;
*
buffer8_1
=
temp32
>
127
?
127
:
(
temp32
<-
128
?
-
128
:
temp32
);
buffer8_1
++
;
...
...
@@ -129,10 +127,12 @@ void pcm_add(char * buffer1, char * buffer2, size_t bufferSize1,
void
pcm_mix
(
char
*
buffer1
,
char
*
buffer2
,
size_t
bufferSize1
,
size_t
bufferSize2
,
AudioFormat
*
format
,
float
portion1
)
{
int
vol1
;
float
s
=
sin
(
M_PI_2
*
portion1
);
s
*=
s
;
vol1
=
s
*
100
+
0
.
5
;
vol1
=
vol1
>
100
?
100
:
(
vol1
<
0
?
0
:
vol1
);
pcm_volumeChange
(
buffer1
,
bufferSize1
,
format
,(
int
)(
s
*
100
));
pcm_volumeChange
(
buffer2
,
bufferSize2
,
format
,(
int
)((
1
-
s
)
*
100
));
pcm_add
(
buffer1
,
buffer2
,
bufferSize1
,
bufferSize2
,
format
);
pcm_add
(
buffer1
,
buffer2
,
bufferSize1
,
bufferSize2
,
vol1
,
100
-
vol1
,
format
);
}
src/playerData.h
View file @
87e37cd4
...
...
@@ -24,7 +24,8 @@
#include "decode.h"
#include "mpd_types.h"
#define CHUNK_SIZE 1024
/* pick 1020 since its devisible for 8,16,24, and 32-bit audio */
#define CHUNK_SIZE 1020
extern
int
buffered_before_play
;
extern
int
buffered_chunks
;
...
...
src/playlist.c
View file @
87e37cd4
...
...
@@ -1231,6 +1231,9 @@ int seekSongInPlaylist(FILE * fp, int song, float time) {
}
else
if
(
playPlaylistOrderNumber
(
fp
,
i
)
<
0
)
return
-
1
;
if
(
playlist
.
current
!=
i
)
if
(
playPlaylistOrderNumber
(
fp
,
i
)
<
0
)
return
-
1
;
if
(
playlist
.
current
!=
i
)
{
if
(
playPlaylistOrderNumber
(
fp
,
i
)
<
0
)
return
-
1
;
}
return
playerSeek
(
fp
,
playlist
.
songs
[
playlist
.
order
[
i
]]
->
utf8file
,
time
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment