1
0
mirror of https://github.com/wine-mirror/wine synced 2024-06-29 06:14:34 +00:00

mpg123: Import upstream release 1.32.5.

This commit is contained in:
Alexandre Julliard 2024-02-17 18:07:34 +01:00
parent fa42210c49
commit 3881edf6f3
42 changed files with 252 additions and 268 deletions

2
configure vendored
View File

@ -13572,7 +13572,7 @@ then :
MPG123_PE_LIBS=mpg123
if ${MPG123_PE_CFLAGS:+false} :
then :
MPG123_PE_CFLAGS="-I\$(top_srcdir)/libs/mpg123/src/libmpg123"
MPG123_PE_CFLAGS="-I\$(top_srcdir)/libs/mpg123/src/include"
else $as_nop
enable_mpg123=no
fi

View File

@ -1186,7 +1186,7 @@ WINE_EXTLIB_FLAGS(JPEG, jpeg, jpeg, "-I\$(top_srcdir)/libs/jpeg")
WINE_EXTLIB_FLAGS(JXR, jxr, jxr, "-I\$(top_srcdir)/libs/jxr/jxrgluelib -I\$(top_srcdir)/libs/jxr/image/sys")
WINE_EXTLIB_FLAGS(LCMS2, lcms2, lcms2, "-I\$(top_srcdir)/libs/lcms2/include")
WINE_EXTLIB_FLAGS(LDAP, ldap, ldap, "-I\$(top_srcdir)/libs/ldap/include")
WINE_EXTLIB_FLAGS(MPG123, mpg123, mpg123, "-I\$(top_srcdir)/libs/mpg123/src/libmpg123")
WINE_EXTLIB_FLAGS(MPG123, mpg123, mpg123, "-I\$(top_srcdir)/libs/mpg123/src/include")
WINE_EXTLIB_FLAGS(MUSL, musl, musl)
WINE_EXTLIB_FLAGS(PNG, png, "png \$(ZLIB_PE_LIBS)", "-I\$(top_srcdir)/libs/png")
WINE_EXTLIB_FLAGS(TIFF, tiff, "tiff \$(ZLIB_PE_LIBS)", "-I\$(top_srcdir)/libs/tiff/libtiff")

View File

@ -134,9 +134,6 @@
/* Define to 1 if you have the `mx' library (-lmx). */
/* #undef HAVE_LIBMX */
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define to 1 if you have the <linux/soundcard.h> header file. */
/* #undef HAVE_LINUX_SOUNDCARD_H */
@ -439,7 +436,7 @@
#define PACKAGE_NAME "mpg123"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "mpg123 1.32.2"
#define PACKAGE_STRING "mpg123 1.32.5"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "mpg123"
@ -448,7 +445,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "1.32.2"
#define PACKAGE_VERSION "1.32.5"
/* Define to only include portable library API (no off_t, no internal I/O). */
/* #undef PORTABLE_API */
@ -459,21 +456,9 @@
/* Define for calculating tables at runtime. */
/* #undef RUNTIME_TABLES */
/* The size of `int32_t', as computed by sizeof. */
#define SIZEOF_INT32_T 4
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of `off_t', as computed by sizeof. */
#define SIZEOF_OFF_T 4
/* The size of `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 4
/* The size of `ssize_t', as computed by sizeof. */
#define SIZEOF_SSIZE_T 4
/* Define to 1 if all of the C90 standard headers exist (not just the ones
required in a freestanding environment). This macro is provided for
backward compatibility; new code need not use it. */
@ -492,7 +477,7 @@
/* #undef USE_YASM_FOR_AVX */
/* Version number of package */
#define VERSION "1.32.2"
#define VERSION "1.32.5"
/* Define to use Win32 named pipes */
#define WANT_WIN32_FIFO 1
@ -535,30 +520,3 @@
#ifndef __cplusplus
/* #undef inline */
#endif
/* Define to `short' if <sys/types.h> does not define. */
/* #undef int16_t */
/* Define to `int' if <sys/types.h> does not define. */
/* #undef int32_t */
/* Define to `long long' if <sys/types.h> does not define. */
/* #undef int64_t */
/* Define to `long' if <sys/types.h> does not define. */
/* #undef ptrdiff_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef size_t */
/* Define to `long' if <sys/types.h> does not define. */
/* #undef ssize_t */
/* Define to `unsigned short' if <sys/types.h> does not define. */
/* #undef uint16_t */
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef uint32_t */
/* Define to `unsigned long' if <sys/types.h> does not define. */
/* #undef uintptr_t */

View File

@ -4,7 +4,7 @@
public domain (or LGPL / GPL, if you like that more;-)
generated by debugdef.pl, what was
trivially written by Thomas Orgis <thomas@orgis.org>
You decide to define DEBUG or not and write debug("foo") or
mdebug("foo: %s", message) and variants with more arguments and this
is converted to an elaborate call to fprintf(stderr, ...) that prints your
@ -45,7 +45,7 @@
#ifndef NO_WARNING
#define mwarning(s, ...) debug_print("warning", s, __VA_ARGS__)
#else
#define mwarning(s, ...)
#define mwarning(s, ...)
#endif
#define warning(s) mwarning("%s", s)

View File

@ -94,7 +94,7 @@ static inline int16_t ftoi16(float x)
/* This is the old new mpg123 WRITE_SAMPLE, fixed for newer GCC by MPlayer folks.
Makes a huge difference on old machines. */
#if WORDS_BIGENDIAN
#if WORDS_BIGENDIAN
#define MANTISSA_OFFSET 1
#else
#define MANTISSA_OFFSET 0
@ -124,10 +124,10 @@ static inline int16_t ftoi16(float x)
else { *(samples) = REAL_TO_SHORT_ACCURATE(sum); }
/*
32bit signed
32bit signed
We do clipping with the same old borders... but different conversion.
We see here that we need extra work for non-16bit output... we optimized for 16bit.
-0x7fffffff-1 is the minimum 32 bit signed integer value expressed so that MSVC
-0x7fffffff-1 is the minimum 32 bit signed integer value expressed so that MSVC
does not give a compile time warning.
*/
#define WRITE_S32_SAMPLE(samples,sum,clip) \

View File

@ -39,7 +39,7 @@
#include <shlwapi.h>
#endif
#include "debug.h"
#include "../common/debug.h"
#ifndef WINDOWS_UWP

View File

@ -21,10 +21,8 @@
#include <errno.h>
#ifdef HAVE_STDLIB_H
/* realloc, size_t */
#include <stdlib.h>
#endif
#include <stddef.h>
@ -48,16 +46,10 @@
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
/* We want SIZE_MAX, etc. */
#ifdef HAVE_LIMITS_H
#include <limits.h>
#endif
#ifndef SIZE_MAX
#define SIZE_MAX ((size_t)-1)
@ -85,26 +77,11 @@
#define INT32_MIN (-INT32_MAX - 1)
#endif
#ifndef OFF_MAX
#undef OFF_MIN
#if SIZEOF_OFF_T == 4
#define OFF_MAX INT32_MAX
#define OFF_MIN INT32_MIN
#elif SIZEOF_OFF_T == 8
#define OFF_MAX INT64_MAX
#define OFF_MIN INT64_MIN
#else
#error "Unexpected width of off_t."
#endif
#endif
// Add two values (themselves assumed to be < limit), saturating to given limit.
#define SATURATE_ADD(inout, add, limit) inout = (limit-add >= inout) ? inout+add : limit;
#define SATURATE_SUB(inout, sub, limit) inout = (limit+sub >= inout) ? inout-sub : limit;
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_STRINGS_H
#include <strings.h>
#endif
@ -150,29 +127,6 @@ const char *INT123_strerror(int errnum);
and returns NULL on NULL input instead of crashing. */
char* INT123_compat_strdup(const char *s);
/* If we have the size checks enabled, try to derive some sane printfs.
Simple start: Use max integer type and format if long is not big enough.
I am hesitating to use %ll without making sure that it's there... */
#if (defined SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG) && (defined PRIiMAX)
# define OFF_P PRIiMAX
typedef intmax_t off_p;
#else
# define OFF_P "li"
typedef long off_p;
#endif
#if (defined SIZEOF_SIZE_T) && (SIZEOF_SIZE_T > SIZEOF_LONG) && (defined PRIuMAX) && (defined PRIiMAX)
# define SIZE_P PRIuMAX
typedef uintmax_t size_p;
# define SSIZE_P PRIiMAX
typedef intmax_t ssize_p;
#else
# define SIZE_P "lu"
typedef unsigned long size_p;
# define SSIZE_P "ld"
typedef long ssize_p;
#endif
/* Get an environment variable, possibly converted to UTF-8 from wide string.
The return value is a copy that you shall free. */
char *INT123_compat_getenv(const char* name);
@ -200,7 +154,6 @@ FILE* INT123_compat_fdopen(int fd, const char *mode);
int INT123_compat_close(int infd);
int INT123_compat_fclose(FILE* stream);
/**
* Setting binary mode on a descriptor, where necessary.
* We do not bother with errors. This has to work.
@ -326,10 +279,15 @@ size_t INT123_unintr_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *st
#define normal mpg123_normal
#endif
#include "true.h"
#include "../common/true.h"
#if (!defined(WIN32) || defined (__CYGWIN__)) && defined(HAVE_SIGNAL_H)
void (*INT123_catchsignal(int signum, void(*handler)(int)))(int);
#endif
// Some ancient toolchains miss the documented errno value.
#if defined(_WIN32) && !defined(EOVERFLOW)
#define EOVERFLOW 132
#endif
#endif

View File

@ -26,7 +26,7 @@
#include <locale.h>
#endif
#include "debug.h"
#include "../common/debug.h"
/* A safe realloc also for very old systems where realloc(NULL, size) returns NULL. */
void *INT123_safe_realloc(void *ptr, size_t size)

View File

@ -47,13 +47,13 @@ enum mpg123_enc_enum
/* 0000 0000 0100 0000 Some 16 bit integer encoding. */
, MPG123_ENC_16 = 0x040
/* 0100 0000 0000 0000 Some 24 bit integer encoding. */
, MPG123_ENC_24 = 0x4000
, MPG123_ENC_24 = 0x4000
/* 0000 0001 0000 0000 Some 32 bit integer encoding. */
, MPG123_ENC_32 = 0x100
, MPG123_ENC_32 = 0x100
/* 0000 0000 1000 0000 Some signed integer encoding. */
, MPG123_ENC_SIGNED = 0x080
, MPG123_ENC_SIGNED = 0x080
/* 0000 1110 0000 0000 Some float encoding. */
, MPG123_ENC_FLOAT = 0xe00
, MPG123_ENC_FLOAT = 0xe00
/* 0000 0000 1101 0000 signed 16 bit */
, MPG123_ENC_SIGNED_16 = (MPG123_ENC_16|MPG123_ENC_SIGNED|0x10)
/* 0000 0000 0110 0000 unsigned 16 bit */
@ -156,4 +156,3 @@ struct mpg123_fmt
/** @} */
#endif

View File

@ -19,15 +19,15 @@
*/
#define MPG123_API_VERSION 48
/** library patch level at client build time */
#define MPG123_PATCHLEVEL 0
#define MPG123_PATCHLEVEL 2
#ifndef MPG123_EXPORT
/** Defines needed for MS Visual Studio(tm) DLL builds.
* Every public function must be prefixed with MPG123_EXPORT. When building
* Every public function must be prefixed with MPG123_EXPORT. When building
* the DLL ensure to define BUILD_MPG123_DLL. This makes the function accessible
* for clients and includes it in the import library which is created together
* with the DLL. When consuming the DLL ensure to define LINK_MPG123_DLL which
* imports the functions from the DLL.
* imports the functions from the DLL.
*/
#ifdef BUILD_MPG123_DLL
/* The dll exports. */
@ -233,7 +233,7 @@ enum mpg123_parms
MPG123_RVA, /**< one of the RVA choices above (integer) */
MPG123_DOWNSPEED, /**< play a frame N times (integer) */
MPG123_UPSPEED, /**< play every Nth frame (integer) */
MPG123_START_FRAME, /**< start with this frame (skip frames before that, integer) */
MPG123_START_FRAME, /**< start with this frame (skip frames before that, integer) */
MPG123_DECODE_FRAMES, /**< decode only this number of frames (integer) */
MPG123_ICY_INTERVAL, /**< Stream contains ICY metadata with this interval (integer).
Make sure to set this _before_ opening a stream.*/
@ -582,7 +582,7 @@ MPG123_EXPORT const char* mpg123_current_decoder(mpg123_handle *mh);
/** @} */
/** \defgroup mpg123_output mpg123 output audio format
/** \defgroup mpg123_output mpg123 output audio format
*
* Functions to get and select the format of the decoded audio.
*
@ -631,14 +631,14 @@ MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
* \return positive size of encoding in bytes, 0 on invalid encoding. */
MPG123_EXPORT int mpg123_encsize(int encoding);
/** Configure a mpg123 handle to accept no output format at all,
/** Configure a mpg123 handle to accept no output format at all,
* use before specifying supported formats with mpg123_format
* \param mh handle
* \return MPG123_OK on success
*/
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh);
/** Configure mpg123 handle to accept all formats
/** Configure mpg123 handle to accept all formats
* (also any custom rate you may set) -- this is default.
* \param mh handle
* \return MPG123_OK on success
@ -667,12 +667,12 @@ MPG123_EXPORT int mpg123_format( mpg123_handle *mh
MPG123_EXPORT int mpg123_format2( mpg123_handle *mh
, long rate, int channels, int encodings );
/** Check to see if a specific format at a specific rate is supported
/** Check to see if a specific format at a specific rate is supported
* by mpg123_handle.
* \param mh handle
* \param rate sampling rate
* \param encoding encoding
* \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
* \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
* MPG123_MONO or MPG123_STEREO|MPG123_MONO. */
MPG123_EXPORT int mpg123_format_support( mpg123_handle *mh
, long rate, int encoding );
@ -837,10 +837,10 @@ MPG123_EXPORT int mpg123_read(mpg123_handle *mh
MPG123_EXPORT int mpg123_feed( mpg123_handle *mh
, const unsigned char *in, size_t size );
/** Decode MPEG Audio from inmemory to outmemory.
/** Decode MPEG Audio from inmemory to outmemory.
* This is very close to a drop-in replacement for old mpglib.
* When you give zero-sized output buffer the input will be parsed until
* decoded data is available. This enables you to get MPG123_NEW_FORMAT (and query it)
* When you give zero-sized output buffer the input will be parsed until
* decoded data is available. This enables you to get MPG123_NEW_FORMAT (and query it)
* without taking decoded data.
* Think of this function being the union of mpg123_read() and mpg123_feed() (which it actually is, sort of;-).
* You can actually always decide if you want those specialized functions in separate steps or one call this one here.
@ -973,7 +973,7 @@ MPG123_EXPORT int64_t mpg123_framepos64(mpg123_handle *mh);
* just use the position defined for the samples you get out of the decoder;-)
* The general usage is modelled after stdlib's ftell() and fseek().
* Especially, the whence parameter for the seek functions has the same meaning
* as the one for fseek() and needs the same constants from stdlib.h:
* as the one for fseek() and needs the same constants from stdlib.h:
*
* - SEEK_SET: set position to (or near to) specified offset
* - SEEK_CUR: change position by offset from now
@ -1084,7 +1084,7 @@ MPG123_EXPORT int64_t mpg123_seek64( mpg123_handle *mh
* \param whence one of SEEK_SET, SEEK_CUR or SEEK_END
* (Offset for SEEK_END is always effectively negative since API
* version 48, was inverted from lseek() usage since ever before.)
* \param input_offset The position it expects to be at the
* \param input_offset The position it expects to be at the
* next time data is fed to mpg123_decode().
* \return The resulting offset >= 0 or error/message code
*/
@ -1310,7 +1310,7 @@ MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band);
*/
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh);
/** Set the absolute output volume including the RVA setting,
/** Set the absolute output volume including the RVA setting,
* vol<0 just applies (a possibly changed) RVA setting.
* \param mh handle
* \param vol volume value (linear factor)
@ -1327,14 +1327,14 @@ MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
/** Adjust output volume including the RVA setting by chosen amount
* \param mh handle
* \param change volume adjustment in decibels (limited to +/- 60 dB)
* \param db volume adjustment in decibels (limited to +/- 60 dB)
* \return MPG123_OK on success
*/
MPG123_EXPORT int mpg123_volume_change_db(mpg123_handle *mh, double db);
/** Return current volume setting, the actual value due to RVA, and the RVA
* adjustment itself. It's all as double float value to abstract the sample
* format. The volume values are linear factors / amplitudes (not percent)
/** Return current volume setting, the actual value due to RVA, and the RVA
* adjustment itself. It's all as double float value to abstract the sample
* format. The volume values are linear factors / amplitudes (not percent)
* and the RVA value is in decibels.
* \param mh handle
* \param base return address for base volume (linear factor)
@ -1629,7 +1629,7 @@ MPG123_EXPORT int mpg123_getstate2( mpg123_handle *mh
/** Data structure for storing strings in a safer way than a standard C-String.
* Can also hold a number of null-terminated strings. */
typedef struct
typedef struct
{
char* p; /**< pointer to the string data */
size_t size; /**< raw number of bytes allocated */
@ -2003,10 +2003,10 @@ MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
* - Influence behaviour of library _during_ initialization of handle (MPG123_VERBOSE).
* - Use one set of parameters for multiple handles.
*
* The functions for handling mpg123_pars (mpg123_par() and mpg123_fmt()
* family) directly return a fully qualified mpg123 error code, the ones
* operating on full handles normally MPG123_OK or MPG123_ERR, storing the
* specific error code itseld inside the handle.
* The functions for handling mpg123_pars (mpg123_par() and mpg123_fmt()
* family) directly return a fully qualified mpg123 error code, the ones
* operating on full handles normally MPG123_OK or MPG123_ERR, storing the
* specific error code itseld inside the handle.
*
* @{
*/
@ -2037,15 +2037,15 @@ MPG123_EXPORT mpg123_pars *mpg123_new_pars(int *error);
*/
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars* mp);
/** Configure mpg123 parameters to accept no output format at all,
/** Configure mpg123 parameters to accept no output format at all,
* use before specifying supported formats with mpg123_format
* \param mp parameter handle
* \return MPG123_OK on success
*/
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp);
/** Configure mpg123 parameters to accept all formats
* (also any custom rate you may set) -- this is default.
/** Configure mpg123 parameters to accept all formats
* (also any custom rate you may set) -- this is default.
* \param mp parameter handle
* \return MPG123_OK on success
*/
@ -2081,7 +2081,7 @@ MPG123_EXPORT int mpg123_fmt2(mpg123_pars *mp
* \param mp parameter handle
* \param rate sampling rate
* \param encoding encoding
* \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
* \return 0 for no support (that includes invalid parameters), MPG123_STEREO,
* MPG123_MONO or MPG123_STEREO|MPG123_MONO. */
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
@ -2179,7 +2179,7 @@ MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh);
#ifndef MPG123_PORTABLE_API
/** Replace low-level stream access functions; read and lseek as known in POSIX.
* You can use this to make any fancy file opening/closing yourself,
* You can use this to make any fancy file opening/closing yourself,
* using mpg123_open_fd() to set the file descriptor for your read/lseek
* (doesn't need to be a "real" file descriptor...).
* Setting a function to NULL means that just a call to POSIX read/lseek is

View File

@ -203,16 +203,6 @@ void INT123_dct64_i386 (real *,real *,real *);
void INT123_dct64_altivec(real *,real *,real *);
void INT123_dct64_i486(int*, int* , real*); /* Yeah, of no use outside of synth_i486.c .*/
/* This is used by the layer 3 decoder, one generic function and 3DNow variants. */
void INT123_dct36 (real *,real *,real *,const real *,real *);
void INT123_dct36_3dnow (real *,real *,real *,const real *,real *);
void INT123_dct36_3dnowext(real *,real *,real *,const real *,real *);
void INT123_dct36_x86_64 (real *,real *,real *,const real *,real *);
void INT123_dct36_sse (real *,real *,real *,const real *,real *);
void INT123_dct36_avx (real *,real *,real *,const real *,real *);
void INT123_dct36_neon (real *,real *,real *,const real *,real *);
void INT123_dct36_neon64 (real *,real *,real *,const real *,real *);
/* Tools for NtoM resampling synth, defined in ntom.c . */
int INT123_synth_ntom_set_step(mpg123_handle *fr); /* prepare ntom decoding */
unsigned long INT123_ntom_val(mpg123_handle *fr, int64_t frame); /* compute INT123_ntom_val for frame offset */
@ -232,6 +222,13 @@ int64_t INT123_ntom_frameoff(mpg123_handle *fr, int64_t soff);
/* Initialization of any static data that majy be needed at runtime.
Make sure you call these once before it is too late. */
#ifndef NO_LAYER3
#ifdef OPT_THE_DCT36
// Set the current dct36 function choice. The pointers themselves are to static functions.
void INT123_dct36_choose(mpg123_handle *fr);
int INT123_dct36_match(mpg123_handle *fr, enum optdec t);
#endif
#ifdef RUNTIME_TABLES
void INT123_init_layer3(void);
#endif

View File

@ -7,7 +7,7 @@
*/
#include "config.h"
#include "compat.h"
#include "../compat/compat.h"
#include "dither.h"
static const uint32_t init_seed = 2463534242UL;

View File

@ -26,8 +26,8 @@
*/
#include "mpg123lib_intern.h"
#include "sample.h"
#include "debug.h"
#include "../common/sample.h"
#include "../common/debug.h"
/* static int chans[NUM_CHANNELS] = { 1 , 2 }; */
static const long my_rates[MPG123_RATES] = /* only the standard rates */
@ -686,7 +686,7 @@ static void conv_s16_to_s32(struct outbuffer *buf)
#endif
#endif
#include "swap_bytes_impl.h"
#include "../common/swap_bytes_impl.h"
void swap_endian(struct outbuffer *buf, int block)
{

View File

@ -9,7 +9,7 @@
#define WANT_GETCPUFLAGS
#include "mpg123lib_intern.h"
#include "getcpuflags.h"
#include "debug.h"
#include "../common/debug.h"
static void frame_fixed_reset(mpg123_handle *fr);
@ -193,13 +193,12 @@ int INT123_frame_outbuffer(mpg123_handle *fr)
{
fr->err = MPG123_BAD_BUFFER;
if(NOQUIET)
merror( "have external buffer of size %"SIZE_P", need %"SIZE_P
, (size_p)fr->buffer.size, (size_p)size );
merror("have external buffer of size %zu, need %zu", fr->buffer.size, size);
return MPG123_ERR;
}
}
debug1("need frame buffer of %"SIZE_P, (size_p)size);
debug1("need frame buffer of %zu", size);
if(fr->buffer.rdata != NULL && fr->buffer.size != size)
{
free(fr->buffer.rdata);
@ -222,7 +221,7 @@ int INT123_frame_outbuffer(mpg123_handle *fr)
int attribute_align_arg mpg123_replace_buffer(mpg123_handle *mh, void *data, size_t size)
{
debug2("replace buffer with %p size %"SIZE_P, data, (size_p)size);
debug2("replace buffer with %p size %zu", data, size);
if(mh == NULL) return MPG123_BAD_HANDLE;
/* Will accept any size, the error comes later... */
if(data == NULL)

View File

@ -167,11 +167,9 @@ struct mpg123_handle_struct
{
#ifdef OPT_MULTI
#ifndef NO_LAYER3
#if (defined OPT_3DNOW_VINTAGE || defined OPT_3DNOWEXT_VINTAGE || defined OPT_SSE || defined OPT_X86_64 || defined OPT_AVX || defined OPT_NEON || defined OPT_NEON64)
#ifdef OPT_THE_DCT36
void (*the_dct36)(real *,real *,real *,const real *,real *);
#endif
#endif
#endif
enum optdec type;

View File

@ -7,7 +7,7 @@
This is no stand-alone header, precisely to be able to fool it into using fake handle types for testing the math.
*/
#include "debug.h"
#include "../common/debug.h"
#ifdef GAPLESS
/* From internal sample number to external. */
@ -81,8 +81,8 @@ static void frame_buffercheck(mpg123_handle *fr)
}
if(VERBOSE3)
fprintf(stderr, "\nNote: Cut frame %" PRIi64 " buffer on end of stream to %"
PRIi64 " samples, fill now %"SIZE_P" bytes.\n"
, fr->num, (fr->num == fr->lastframe ? fr->lastoff : 0), (size_p)fr->buffer.fill);
PRIi64 " samples, fill now %zu bytes.\n"
, fr->num, (fr->num == fr->lastframe ? fr->lastoff : 0), fr->buffer.fill);
}
/* The first interesting frame: Skip some leading samples. */

View File

@ -13,7 +13,7 @@
#define _MPG123_GETBITS_H_
#include "mpg123lib_intern.h"
#include "debug.h"
#include "../common/debug.h"
#define backbits(fr,nob) ((void)( \
fr->bits_avail += nob, \

View File

@ -10,7 +10,7 @@
#ifndef NO_ICY
#include "compat.h"
#include "../compat/compat.h"
#include "mpg123.h"
struct icy_meta

View File

@ -28,7 +28,7 @@
#include "config.h"
/* Includes string and stdlib headers... */
#include "compat.h"
#include "../compat/compat.h"
/* ThOr: too lazy for this type check; also we use char/short all around anyway.
Of cource, it would be the proper way to use _these_ kind of types all around. */

View File

@ -85,7 +85,7 @@
#include "mpg123lib_intern.h"
#include "id3.h"
#include "debug.h"
#include "../common/debug.h"
#ifndef NO_ID3V2 /* Only the main parsing routine will always be there. */
@ -352,7 +352,7 @@ static void store_id3_text(mpg123_string *sb, unsigned char *source, size_t sour
}
memcpy(sb->p, source, source_size);
sb->fill = source_size;
debug1("stored undecoded ID3 text of size %"SIZE_P, (size_p)source_size);
debug1("stored undecoded ID3 text of size %zu", source_size);
return;
}
@ -567,7 +567,7 @@ static void process_comment(mpg123_handle *fr, enum frame_types tt, unsigned cha
if(realsize < (size_t)(descr-realdata))
{
if(NOQUIET) error1("Invalid frame size of %"SIZE_P" (too small for anything).", (size_p)realsize);
if(NOQUIET) error1("Invalid frame size of %zu (too small for anything).", realsize);
return;
}
if(encoding > mpg123_id3_enc_max)
@ -622,8 +622,8 @@ static void process_comment(mpg123_handle *fr, enum frame_types tt, unsigned cha
if(VERBOSE4) /* Do _not_ print the verbatim text: The encoding might be funny! */
{
fprintf(stderr, "Note: ID3 comm/uslt desc of length %"SIZE_P".\n", (size_p)xcom->description.fill);
fprintf(stderr, "Note: ID3 comm/uslt text of length %"SIZE_P".\n", (size_p)xcom->text.fill);
fprintf(stderr, "Note: ID3 comm/uslt desc of length %zu.\n", xcom->description.fill);
fprintf(stderr, "Note: ID3 comm/uslt text of length %zu.\n", xcom->text.fill);
}
/* Look out for RVA info only when we really deal with a straight comment. */
if(tt == comment && localcom.description.fill > 0)

View File

@ -8,7 +8,7 @@
*/
#include "index.h"
#include "debug.h"
#include "../common/debug.h"
/* The next expected frame offset, one step ahead. */
static int64_t fi_next(struct frame_index *fi)
@ -124,7 +124,7 @@ int INT123_fi_set(struct frame_index *fi, int64_t *offsets, int64_t step, size_t
void INT123_fi_reset(struct frame_index *fi)
{
debug1("reset with size %"SIZE_P, (size_p)fi->size);
debug1("reset with size %zu", fi->size);
fi->fill = 0;
fi->step = 1;
fi->next = fi_next(fi);

View File

@ -21,7 +21,7 @@
*/
#include "config.h"
#include "compat.h"
#include "../compat/compat.h"
struct frame_index
{

View File

@ -10,7 +10,7 @@
#include "mpg123lib_intern.h"
#include "getbits.h"
#include "debug.h"
#include "../common/debug.h"
/*
Allocation value is not allowed to be 15. Initially, libmad showed me the

View File

@ -21,9 +21,17 @@
#include "huffman.h"
#endif
#include "getbits.h"
#include "debug.h"
#include "../common/debug.h"
/* Predeclare the assembly routines, only called from wrappers here. */
void INT123_dct36_3dnow (real *,real *,real *,const real *,real *);
void INT123_dct36_3dnowext(real *,real *,real *,const real *,real *);
void INT123_dct36_x86_64 (real *,real *,real *,const real *,real *);
void INT123_dct36_sse (real *,real *,real *,const real *,real *);
void INT123_dct36_avx (real *,real *,real *,const real *,real *);
void INT123_dct36_neon (real *,real *,real *,const real *,real *);
void INT123_dct36_neon64 (real *,real *,real *,const real *,real *);
/* define CUT_SFB21 if you want to cut-off the frequency above 16kHz */
#if 0
@ -1256,10 +1264,7 @@ static void III_antialias(real xr[SBLIMIT][SSLIMIT],struct gr_info_s *gr_info)
Mathematics of Computation, Volume 32, Number 141, January 1978,
Pages 175-199
*/
/* Calculation of the inverse MDCT
used to be static without 3dnow - does that really matter? */
void INT123_dct36(real *inbuf,real *o1,real *o2,const real *wintab,real *tsbuf)
static void INT123_dct36(real *inbuf,real *o1,real *o2,const real *wintab,real *tsbuf)
{
real tmp[18];
@ -1449,6 +1454,105 @@ void INT123_dct36(real *inbuf,real *o1,real *o2,const real *wintab,real *tsbuf)
}
}
// Wrap the assembly routine calls into C functions that serve as jump target to satisfy
// indirect branch protection if the toolchain enables that. Otherwise, we'd need to anticipate
// that in the assembly (and ensure assemblers support endbr64 and friends).
// Loss of efficiency:
// In the case of one static optimization choice, we do not have that problem.
#ifdef OPT_THE_DCT36
#define DCT36_WRAP(asmfunc) \
static void asmfunc ## _wrap(real *inbuf,real *o1,real *o2,const real *wintab,real *tsbuf) \
{ \
asmfunc(inbuf, o1, o2, wintab, tsbuf); \
}
#ifdef OPT_SSE
DCT36_WRAP(INT123_dct36_sse)
#endif
#ifdef OPT_3DNOWEXT_VINTAGE
DCT36_WRAP(INT123_dct36_3dnowext)
#endif
#ifdef OPT_3DNOW_VINTAGE
DCT36_WRAP(INT123_dct36_3dnow)
#endif
#ifdef OPT_X86_64
DCT36_WRAP(INT123_dct36_x86_64)
#endif
#ifdef OPT_AVX
DCT36_WRAP(INT123_dct36_avx)
#endif
#ifdef OPT_NEON
DCT36_WRAP(INT123_dct36_neon)
#endif
#ifdef OPT_NEON64
DCT36_WRAP(INT123_dct36_neon64)
#endif
int INT123_dct36_match(mpg123_handle *fr, enum optdec t)
{
#ifdef OPT_SSE
if(t == sse && fr->cpu_opts.the_dct36 == INT123_dct36_sse_wrap)
return 1;
#endif
#ifdef OPT_3DNOWEXT_VINTAGE
if(t == dreidnowext_vintage && fr->cpu_opts.the_dct36 == INT123_dct36_3dnowext_wrap)
return 1;
#endif
#ifdef OPT_3DNOW_VINTAGE
if(t == dreidnow_vintage && fr->cpu_opts.the_dct36 == INT123_dct36_3dnow_wrap)
return 1;
#endif
return 0;
}
void INT123_dct36_choose(mpg123_handle *fr)
{
switch(fr->cpu_opts.type)
{
#ifdef OPT_SSE
case sse:
fr->cpu_opts.the_dct36 = INT123_dct36_sse_wrap;
break;
#endif
#ifdef OPT_3DNOWEXT_VINTAGE
case dreidnowext_vintage:
fr->cpu_opts.the_dct36 = INT123_dct36_3dnowext_wrap;
break;
#endif
#ifdef OPT_3DNOW_VINTAGE
case dreidnow_vintage:
fr->cpu_opts.the_dct36 = INT123_dct36_3dnow_wrap;
break;
#endif
#ifdef OPT_AVX
case avx:
fr->cpu_opts.the_dct36 = INT123_dct36_avx_wrap;
break;
#endif
#ifdef OPT_X86_64
case x86_64:
fr->cpu_opts.the_dct36 = INT123_dct36_x86_64_wrap;
break;
#endif
#ifdef OPT_NEON
case neon:
fr->cpu_opts.the_dct36 = INT123_dct36_neon_wrap;
break;
#endif
#ifdef OPT_NEON64
case neon:
fr->cpu_opts.the_dct36 = INT123_dct36_neon64_wrap;
break;
#endif
default:
fr->cpu_opts.the_dct36 = INT123_dct36;
}
}
#endif
/* new DCT12 */
static void dct12(real *in,real *rawout1,real *rawout2,register const real *wi,register real *ts)

View File

@ -32,19 +32,35 @@
#endif
// For correct MPG123_EXPORT.
#include "abi_align.h"
#include "../common/abi_align.h"
// Need the full header with non-portable API, for the bare mpg123_open*()
// declarations. But no renaming shenanigans.
#include "mpg123.h"
#include "lfs_wrap.h"
#include "abi_align.h"
#include "compat.h"
#include "../common/abi_align.h"
#include "../compat/compat.h"
#include <sys/stat.h>
#include <fcntl.h>
#include "debug.h"
#ifndef OFF_MAX
#undef OFF_MIN
#if SIZEOF_OFF_T == 4
#define OFF_MAX INT32_MAX
#define OFF_MIN INT32_MIN
#elif SIZEOF_OFF_T == 8
#define OFF_MAX INT64_MAX
#define OFF_MIN INT64_MIN
#else
#error "Unexpected width of off_t."
#endif
#endif
// A paranoid check that someone did not define a wrong SIZEOF_OFF_T at configure time.
typedef unsigned char MPG123_STATIC_ASSERT[(SIZEOF_OFF_T == sizeof(off_t)) ? 1 : -1];
#include "../common/debug.h"
// We do not want to expose this publicly, but it is cleaner to have it also defined
// as portable API to offer the legacy function wrapper over. It's an undocumented
@ -90,7 +106,7 @@ struct wrap_data
off_t (*r_lseek)(int, off_t, int);
mpg123_ssize_t (*r_h_read)(void *, void *, size_t);
off_t (*r_h_lseek)(void*, off_t, int);
#if LFS_LARGEFILE_64
#ifdef LFS_LARGEFILE_64
mpg123_ssize_t (*r_read_64) (int, void *, size_t);
off64_t (*r_lseek_64)(int, off64_t, int);
mpg123_ssize_t (*r_h_read_64)(void *, void *, size_t);
@ -175,7 +191,7 @@ static struct wrap_data* wrap_get(mpg123_handle *mh, int force_alloc)
whd->r_lseek = NULL;
whd->r_h_read = NULL;
whd->r_h_lseek = NULL;
#if LFS_LARGEFILE_64
#ifdef LFS_LARGEFILE_64
whd->r_read_64 = NULL;
whd->r_lseek_64 = NULL;
whd->r_h_read_64 = NULL;

View File

@ -7,19 +7,19 @@
*/
#include "mpg123lib_intern.h"
#include "version.h"
#include "../version.h"
#include "icy2utf8.h"
#include "gapless.h"
/* Want accurate rounding function regardless of decoder setup. */
#define FORCE_ACCURATE
#include "sample.h"
#include "../common/sample.h"
#include "parse.h"
#ifndef PORTABLE_API
#include "lfs_wrap.h"
#endif
#include "debug.h"
#include "../common/debug.h"
#define SEEKFRAME(mh) ((mh)->ignoreframe < 0 ? 0 : (mh)->ignoreframe)
@ -648,9 +648,10 @@ int attribute_align_arg mpg123_open_handle(mpg123_handle *mh, void *iohandle)
#ifndef PORTABLE_API
ret = INT123_wrap_open( mh, iohandle, NULL, -1
, mh->p.timeout, mh->p.flags & MPG123_QUIET );
iohandle = ret == LFS_WRAP_NONE ? iohandle : mh->wrapperdata;
if(ret >= 0)
#endif
ret = INT123_open_stream_handle(mh, ret == LFS_WRAP_NONE ? iohandle : mh->wrapperdata);
ret = INT123_open_stream_handle(mh, iohandle);
return ret;
}
@ -911,7 +912,8 @@ static void decode_the_frame(mpg123_handle *fr)
if(fr->buffer.fill < needed_bytes)
{
if(VERBOSE2)
fprintf(stderr, "Note: broken frame %li, filling up with %"SIZE_P" zeroes, from %"SIZE_P"\n", (long)fr->num, (size_p)(needed_bytes-fr->buffer.fill), (size_p)fr->buffer.fill);
fprintf( stderr, "Note: broken frame %li, filling up with %zu zeroes, from %zu\n"
, (long)fr->num, (needed_bytes-fr->buffer.fill), fr->buffer.fill );
/*
One could do a loop with individual samples instead... but zero is zero
@ -931,7 +933,7 @@ static void decode_the_frame(mpg123_handle *fr)
else
{
if(NOQUIET)
error2("I got _more_ bytes than expected (%"SIZE_P" / %"SIZE_P"), that should not be possible!", (size_p)fr->buffer.fill, (size_p)needed_bytes);
error2("I got _more_ bytes than expected (%zu / %zu), that should not be possible!", fr->buffer.fill, needed_bytes);
}
}
#endif

View File

@ -15,9 +15,9 @@
#include "config.h" /* Load this before _anything_ */
#include "abi_align.h"
#include "../common/abi_align.h"
#include "compat.h"
#include "../compat/compat.h"
// Only portable API plays a role in the library itself, outside of lfs_wrap.c.
// Also, we need to ensure no suffix renaming for the primary implementations.
@ -230,12 +230,6 @@ static inline int32_t scale_rounded(int32_t x, int shift)
#endif
#ifndef REAL_IS_FIXED
# if (defined SIZEOF_INT32_T) && (SIZEOF_INT32_T != 4)
# error "Bad 32bit types!!!"
# endif
#endif
#ifndef DOUBLE_TO_REAL
# define DOUBLE_TO_REAL(x) (real)(x)
#endif
@ -284,7 +278,7 @@ static inline int32_t scale_rounded(int32_t x, int shift)
now: factor on minimum frame buffer size (which takes upsampling into account) */
#define AUDIOBUFSIZE 2
#include "true.h"
#include "../common/true.h"
#define MAX_NAME_SIZE 81
#define SBLIMIT 32

View File

@ -8,7 +8,7 @@
#define SAFE_NTOM /* Do not depend on int64_t*int64_t with big values still being in the range... */
#include "mpg123lib_intern.h"
#include "debug.h"
#include "../common/debug.h"
int INT123_synth_ntom_set_step(mpg123_handle *fr)
{

View File

@ -12,7 +12,7 @@
#define WANT_GETCPUFLAGS
#include "mpg123lib_intern.h" /* includes optimize.h */
#include "getcpuflags.h"
#include "debug.h"
#include "../common/debug.h"
/* Ugly macros to build conditional synth function array values. */
@ -160,8 +160,8 @@ static enum optdec sse_or_vintage(mpg123_handle *fr)
enum optdec type;
type = sse_vintage;
# ifdef OPT_SSE
# ifdef OPT_MULTI
if(fr->cpu_opts.the_dct36 == INT123_dct36_sse)
# ifdef OPT_THE_DCT36
if(INT123_dct36_match(fr, sse))
# endif
type = sse;
# endif
@ -192,7 +192,7 @@ static int find_dectype(mpg123_handle *fr)
type = dreidnowext;
# ifdef OPT_3DNOWEXT_VINTAGE
# ifdef OPT_MULTI
if(fr->cpu_opts.the_dct36 == INT123_dct36_3dnowext)
if(INT123_dct36_match(fr, dreidnowext_vintage))
# endif
type = dreidnowext_vintage;
# endif
@ -210,7 +210,7 @@ static int find_dectype(mpg123_handle *fr)
type = dreidnow;
# ifdef OPT_3DNOW_VINTAGE
# ifdef OPT_MULTI
if(fr->cpu_opts.the_dct36 == INT123_dct36_3dnow)
if(INT123_dct36_match(fr, dreidnow_vintage))
# endif
type = dreidnow_vintage;
# endif
@ -503,13 +503,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
#endif
fr->cpu_opts.type = nodec;
#ifdef OPT_MULTI
#ifndef NO_LAYER3
#if (defined OPT_3DNOW_VINTAGE || defined OPT_3DNOWEXT_VINTAGE || defined OPT_SSE || defined OPT_X86_64 || defined OPT_AVX || defined OPT_NEON || defined OPT_NEON64)
fr->cpu_opts.the_dct36 = INT123_dct36;
#endif
#endif
#endif
/* covers any i386+ cpu; they actually differ only in the INT123_synth_1to1 function, mostly... */
#ifdef OPT_X86
if(cpu_i586(fr->cpu_flags))
@ -523,11 +516,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = dn_sse;
fr->cpu_opts.type = sse;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
/* if(cpu_fast_sse(fr->cpu_flags)) */ fr->cpu_opts.the_dct36 = INT123_dct36_sse;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_sse;
# ifdef ACCURATE_ROUNDING
@ -590,11 +578,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = dn_dreidnowext_vintage;
fr->cpu_opts.type = dreidnowext_vintage;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
fr->cpu_opts.the_dct36 = INT123_dct36_3dnowext;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_3dnowext;
# endif
@ -619,11 +602,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = dn_dreidnow_vintage;
fr->cpu_opts.type = dreidnow_vintage;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
fr->cpu_opts.the_dct36 = INT123_dct36_3dnow;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_3dnow;
# endif
@ -723,11 +701,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = "x86-64 (AVX)";
fr->cpu_opts.type = avx;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
fr->cpu_opts.the_dct36 = INT123_dct36_avx;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_avx;
fr->synths.stereo[r_1to1][f_16] = INT123_synth_1to1_stereo_avx;
@ -749,11 +722,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = "x86-64 (SSE)";
fr->cpu_opts.type = x86_64;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
fr->cpu_opts.the_dct36 = INT123_dct36_x86_64;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_x86_64;
fr->synths.stereo[r_1to1][f_16] = INT123_synth_1to1_stereo_x86_64;
@ -796,11 +764,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = dn_neon;
fr->cpu_opts.type = neon;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
fr->cpu_opts.the_dct36 = INT123_dct36_neon;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_neon;
fr->synths.stereo[r_1to1][f_16] = INT123_synth_1to1_stereo_neon;
@ -834,11 +797,6 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
{
chosen = dn_neon64;
fr->cpu_opts.type = neon64;
#ifdef OPT_MULTI
# ifndef NO_LAYER3
fr->cpu_opts.the_dct36 = INT123_dct36_neon64;
# endif
#endif
# ifndef NO_16BIT
fr->synths.plain[r_1to1][f_16] = INT123_synth_1to1_neon64;
fr->synths.stereo[r_1to1][f_16] = INT123_synth_1to1_stereo_neon64;
@ -897,6 +855,10 @@ int INT123_frame_cpu_opt(mpg123_handle *fr, const char* cpu)
# endif
# endif
#ifdef OPT_THE_DCT36
INT123_dct36_choose(fr);
#endif
#ifdef OPT_DITHER
if(done && dithered)
{

View File

@ -364,19 +364,16 @@ extern const int INT123_costab_mmxsse[];
#endif
#endif
/*
Now come two blocks of standard definitions for multi-decoder mode and single-decoder mode.
Most stuff is so automatic that it's indeed generated by some inline shell script.
Remember to use these scripts when possible, instead of direct repetitive hacking.
*/
#ifdef OPT_MULTI
# define defopt nodec
# ifndef NO_LAYER3
# if (defined OPT_3DNOW_VINTAGE || defined OPT_3DNOWEXT_VINTAGE || defined OPT_SSE || defined OPT_X86_64 || defined OPT_AVX || defined OPT_NEON || defined OPT_NEON64)
# define OPT_THE_DCT36
# define opt_dct36(fr) ((fr)->cpu_opts.the_dct36)
# endif
# endif
#endif /* OPT_MULTI else */

View File

@ -30,7 +30,7 @@
#include "mpeghead.h"
#include "debug.h"
#include "../common/debug.h"
#define bsbufid(fr) (fr)->bsbuf==(fr)->bsspace[0] ? 0 : ((fr)->bsbuf==fr->bsspace[1] ? 1 : ( (fr)->bsbuf==(fr)->bsspace[0]+512 ? 2 : ((fr)->bsbuf==fr->bsspace[1]+512 ? 3 : -1) ) )

View File

@ -11,7 +11,7 @@
#include "mpg123lib_intern.h"
#include "debug.h"
#include "../common/debug.h"
static int stream_init(mpg123_handle *fr);
static int64_t get_fileinfo(mpg123_handle *);
@ -526,7 +526,7 @@ static struct buffy* bc_alloc(struct bufferchain *bc, size_t size)
buf->next = NULL; /* That shall be set to a sensible value later. */
buf->size = 0;
--bc->pool_fill;
debug2("bc_alloc: picked %p from pool (fill now %"SIZE_P")", (void*)buf, (size_p)bc->pool_fill);
debug2("bc_alloc: picked %p from pool (fill now %zu)", (void*)buf, bc->pool_fill);
return buf;
}
else return buffy_new(size, bc->bufblock);

View File

@ -10,9 +10,9 @@
#include "mpg123lib_intern.h"
#include "config.h"
#include "mpg123.h"
#include "compat.h"
#include "../compat/compat.h"
#include <string.h>
#include "debug.h"
#include "../common/debug.h"
mpg123_string* attribute_align_arg mpg123_new_string(const char *val)
{

View File

@ -10,8 +10,8 @@
#ifdef OPT_GENERIC_DITHER
#define FORCE_ACCURATE
#endif
#include "sample.h"
#include "debug.h"
#include "../common/sample.h"
#include "../common/debug.h"
/*
Part 1: All synth functions that produce signed short.

View File

@ -7,8 +7,8 @@
*/
#include "mpg123lib_intern.h"
#include "sample.h"
#include "debug.h"
#include "../common/sample.h"
#include "../common/debug.h"
/*
Part 2: All synth functions that produce 8bit output.

View File

@ -7,8 +7,8 @@
*/
#include "mpg123lib_intern.h"
#include "sample.h"
#include "debug.h"
#include "../common/sample.h"
#include "../common/debug.h"
#ifdef REAL_IS_FIXED
#error "Do not build this file with fixed point math!"

View File

@ -7,8 +7,8 @@
*/
#include "mpg123lib_intern.h"
#include "sample.h"
#include "debug.h"
#include "../common/sample.h"
#include "../common/debug.h"
#ifdef REAL_IS_FIXED
#error "Do not build this file with fixed point math!"

View File

@ -7,7 +7,7 @@
*/
#include "mpg123lib_intern.h"
#include "debug.h"
#include "../common/debug.h"
// The (normally precomputed) cos tables.
#include "costabs.h"

View File

@ -16,7 +16,7 @@
// only single spaces as separator to ease parsing by build scripts
#define MPG123_MAJOR 1
#define MPG123_MINOR 32
#define MPG123_PATCH 2
#define MPG123_PATCH 5
// Don't get too wild with that to avoid confusing m4. No brackets.
// Also, it should fit well into a sane file name for the tarball.
#define MPG123_SUFFIX ""