diff options
author | Warren Dukes <warren.dukes@gmail.com> | 2004-03-04 23:19:57 +0000 |
---|---|---|
committer | Warren Dukes <warren.dukes@gmail.com> | 2004-03-04 23:19:57 +0000 |
commit | e2d2baece9230967d8f1d5fdb5259515c2fb03c7 (patch) | |
tree | 0e0e0470e22eb21a60cf694cbaad199aadc5e242 /src/libmad/huffman.c | |
parent | 7be523c015a18ffcfbdd9511e225609729b25a0c (diff) | |
download | mpd-e2d2baece9230967d8f1d5fdb5259515c2fb03c7.tar.gz mpd-e2d2baece9230967d8f1d5fdb5259515c2fb03c7.tar.xz mpd-e2d2baece9230967d8f1d5fdb5259515c2fb03c7.zip |
update to 0.15.1 of libmad and libid3tag
git-svn-id: https://svn.musicpd.org/mpd/trunk@196 09075e82-0dd4-0310-85a5-a0d7c8717e4f
Diffstat (limited to 'src/libmad/huffman.c')
-rw-r--r-- | src/libmad/huffman.c | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/src/libmad/huffman.c b/src/libmad/huffman.c index 2a52e9237..a230a9c10 100644 --- a/src/libmad/huffman.c +++ b/src/libmad/huffman.c @@ -1,6 +1,6 @@ /* * libmad - MPEG audio decoder library - * Copyright (C) 2000-2003 Underbit Technologies, Inc. + * Copyright (C) 2000-2004 Underbit Technologies, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -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.10 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 |