mirror of
https://gitee.com/openharmony/third_party_libsnd
synced 2024-11-23 09:59:54 +00:00
Use <byteswap.h> if present.
Patches applied: * erikd@miles--2004/libsndfile--stable--0--patch-3 ChangeLog
This commit is contained in:
parent
709d860427
commit
84f62ff08e
17
ChangeLog
17
ChangeLog
@ -1,3 +1,20 @@
|
|||||||
|
2004-07-17 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
|
||||||
|
|
||||||
|
* src/pcm.c
|
||||||
|
When converting from unsigned char to float or double, subtract 128 before
|
||||||
|
converting to float/double rather than after to save a floating point
|
||||||
|
operation as suggested by Stefan Briesenick.
|
||||||
|
|
||||||
|
* src/(pcm|sfendian|alaw|ulaw|double64|float32).c
|
||||||
|
Optimize inner loops by changing the loop counting slightly as suggested
|
||||||
|
by Stefan Briesenick.
|
||||||
|
|
||||||
|
* configure.ac
|
||||||
|
Detect presence of <byteswap.h>.
|
||||||
|
|
||||||
|
* src/sfendian.h
|
||||||
|
Use <byteswap.h> if present.
|
||||||
|
|
||||||
2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
|
2004-07-02 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
|
||||||
|
|
||||||
* src/common.h src/*.c
|
* src/common.h src/*.c
|
||||||
|
@ -44,6 +44,7 @@ if test "x-$build_os-$host_os-$target_os" = x-mingw32-mingw32-mingw32 ; then
|
|||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
|
|
||||||
AC_CHECK_HEADERS(endian.h)
|
AC_CHECK_HEADERS(endian.h)
|
||||||
|
AC_CHECK_HEADERS(byteswap.h)
|
||||||
AC_HEADER_SYS_WAIT
|
AC_HEADER_SYS_WAIT
|
||||||
|
|
||||||
AC_CHECK_DECLS(S_IRGRP)
|
AC_CHECK_DECLS(S_IRGRP)
|
||||||
|
@ -16,7 +16,21 @@
|
|||||||
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#if HAVE_BYTESWAP_H
|
||||||
|
|
||||||
|
#include <byteswap.h>
|
||||||
|
|
||||||
|
#define ENDSWAP_SHORT(x) bswap_16 (x)
|
||||||
|
#define ENDSWAP_INT(x) bswap_32 (x)
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#define ENDSWAP_SHORT(x) ((((x)>>8)&0xFF)+(((x)&0xFF)<<8))
|
||||||
|
#define ENDSWAP_INT(x) ((((x)>>24)&0xFF)+(((x)>>8)&0xFF00)+(((x)&0xFF00)<<8)+(((x)&0xFF)<<24))
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Many file types (ie WAV, AIFF) use sets of four consecutive bytes as a
|
** Many file types (ie WAV, AIFF) use sets of four consecutive bytes as a
|
||||||
@ -33,10 +47,6 @@
|
|||||||
#error "Target CPU endian-ness unknown. May need to hand edit src/config.h"
|
#error "Target CPU endian-ness unknown. May need to hand edit src/config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* wo standard endswap macros. */
|
|
||||||
|
|
||||||
#define ENDSWAP_SHORT(x) ((((x)>>8)&0xFF)+(((x)&0xFF)<<8))
|
|
||||||
#define ENDSWAP_INT(x) ((((x)>>24)&0xFF)+(((x)>>8)&0xFF00)+(((x)&0xFF00)<<8)+(((x)&0xFF)<<24))
|
|
||||||
/*
|
/*
|
||||||
** Macros to handle reading of data of a specific endian-ness into host endian
|
** Macros to handle reading of data of a specific endian-ness into host endian
|
||||||
** shorts and ints. The single input is an unsigned char* pointer to the start
|
** shorts and ints. The single input is an unsigned char* pointer to the start
|
||||||
@ -96,7 +106,7 @@ void endswap_long_copy (long *dest, long *src, int len) ;
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
** Do not edit or modify anything in this comment block.
|
** Do not edit or modify anything in this comment block.
|
||||||
** The arch-tag line is a file identity tag for the GNU Arch
|
** The arch-tag line is a file identity tag for the GNU Arch
|
||||||
** revision control system.
|
** revision control system.
|
||||||
**
|
**
|
||||||
** arch-tag: f0c5cd54-42d3-4237-90ec-11fe24995de7
|
** arch-tag: f0c5cd54-42d3-4237-90ec-11fe24995de7
|
||||||
|
Loading…
Reference in New Issue
Block a user