From 63d519983a6a5776e473454b912a2e7521c4262a Mon Sep 17 00:00:00 2001 From: Heiko Schaefer Date: Fri, 17 Aug 2001 13:34:25 +0000 Subject: compile-fix for non-gnu systems (e.g. freebsd) CVS patchset: 441 CVS date: 2001/08/17 13:34:25 --- src/dxr3/dxr3_decoder.c | 4 +- src/libffmpeg/Makefile.am | 2 +- src/libffmpeg/bswap.h | 91 --------------------------------------- src/libffmpeg/libavcodec/common.c | 2 +- src/libspudec/xine_decoder.c | 4 +- src/xine-engine/bswap.h | 91 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 97 insertions(+), 97 deletions(-) delete mode 100644 src/libffmpeg/bswap.h create mode 100644 src/xine-engine/bswap.h diff --git a/src/dxr3/dxr3_decoder.c b/src/dxr3/dxr3_decoder.c index e08088bc1..c27c60ef0 100644 --- a/src/dxr3/dxr3_decoder.c +++ b/src/dxr3/dxr3_decoder.c @@ -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: dxr3_decoder.c,v 1.12 2001/08/16 12:54:58 ehasenle Exp $ + * $Id: dxr3_decoder.c,v 1.13 2001/08/17 13:34:25 heikos Exp $ * * dxr3 video and spu decoder plugin. Accepts the video and spu data * from XINE and sends it directly to the corresponding dxr3 devices. @@ -36,12 +36,12 @@ #include #include -#include #include #include #include "video_out.h" #include "xine_internal.h" #include "buffer.h" +#include "xine-engine/bswap.h" #define LOOKUP_DEV "dxr3_devname" #define DEFAULT_DEV "/dev/em8300" diff --git a/src/libffmpeg/Makefile.am b/src/libffmpeg/Makefile.am index 998146fe3..992b45aec 100644 --- a/src/libffmpeg/Makefile.am +++ b/src/libffmpeg/Makefile.am @@ -18,7 +18,7 @@ xineplug_decode_ff_la_LDFLAGS = \ $(top_builddir)/src/libffmpeg/libavcodec/libavcodec.la \ -avoid-version -module -noinst_HEADERS = config.h bswap.h +noinst_HEADERS = config.h debug: @$(MAKE) CFLAGS="@DEBUG_CFLAGS@ -DCONFIG_DECODERS -DHAVE_AV_CONFIG_H" diff --git a/src/libffmpeg/bswap.h b/src/libffmpeg/bswap.h deleted file mode 100644 index 21ef3a74e..000000000 --- a/src/libffmpeg/bswap.h +++ /dev/null @@ -1,91 +0,0 @@ -#ifndef __BSWAP_H__ -#define __BSWAP_H__ - -/* It's need for ffmpeg. Else where will be defined ARCH_X86?*/ -#include "config.h" - -#ifdef HAVE_BYTESWAP_H -#include -#else - -#include - -#ifdef ARCH_X86 -inline static unsigned short ByteSwap16(unsigned short x) -{ - __asm("xchgb %b0,%h0" : - "=q" (x) : - "0" (x)); - return x; -} -#define bswap_16(x) ByteSwap16(x) - -inline static unsigned int ByteSwap32(unsigned int x) -{ -#if __CPU__ > 386 - __asm("bswap %0": - "=r" (x) : -#else - __asm("xchgb %b0,%h0\n" - " rorl $16,%0\n" - " xchgb %b0,%h0": - "=q" (x) : -#endif - "0" (x)); - return x; -} -#define bswap_32(x) ByteSwap32(x) - -inline static unsigned long long int ByteSwap64(unsigned long long int x) -{ - register union { __extension__ unsigned long long int __ll; - unsigned long int __l[2]; } __x; - asm("xchgl %0,%1": - "=r"(__x.__l[0]),"=r"(__x.__l[1]): - "0"(bswap_32((unsigned long)x)),"1"(bswap_32((unsigned long)(x>>32)))); - return __x.__ll; -} -#define bswap_64(x) ByteSwap64(x) - -#else - -#define bswap_16(x) (((x) & 0x00ff) << 8 | ((x) & 0xff00) >> 8) - - -// code from bits/byteswap.h (C) 1997, 1998 Free Software Foundation, Inc. -#define bswap_32(x) \ - ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \ - (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) - -#define bswap_64(x) \ - (__extension__ \ - ({ union { __extension__ unsigned long long int __ll; \ - unsigned long int __l[2]; } __w, __r; \ - __w.__ll = (x); \ - __r.__l[0] = bswap_32 (__w.__l[1]); \ - __r.__l[1] = bswap_32 (__w.__l[0]); \ - __r.__ll; })) -#endif /* !ARCH_X86 */ - -#endif /* !HAVE_BYTESWAP_H */ - -// be2me ... BigEndian to MachineEndian -// le2me ... LittleEndian to MachineEndian - -#ifdef WORDS_BIGENDIAN -#define be2me_16(x) (x) -#define be2me_32(x) (x) -#define be2me_64(x) (x) -#define le2me_16(x) bswap_16(x) -#define le2me_32(x) bswap_32(x) -#define le2me_64(x) bswap_64(x) -#else -#define be2me_16(x) bswap_16(x) -#define be2me_32(x) bswap_32(x) -#define be2me_64(x) bswap_64(x) -#define le2me_16(x) (x) -#define le2me_32(x) (x) -#define le2me_64(x) (x) -#endif - -#endif diff --git a/src/libffmpeg/libavcodec/common.c b/src/libffmpeg/libavcodec/common.c index 24a9a1656..77b6d85d2 100644 --- a/src/libffmpeg/libavcodec/common.c +++ b/src/libffmpeg/libavcodec/common.c @@ -29,7 +29,7 @@ #define NDEBUG #include -#include "../bswap.h" +#include "xine-engine/bswap.h" void init_put_bits(PutBitContext *s, UINT8 *buffer, int buffer_size, diff --git a/src/libspudec/xine_decoder.c b/src/libspudec/xine_decoder.c index 1900ae384..b2dc7b793 100644 --- a/src/libspudec/xine_decoder.c +++ b/src/libspudec/xine_decoder.c @@ -19,7 +19,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: xine_decoder.c,v 1.10 2001/08/16 12:33:00 ehasenle Exp $ + * $Id: xine_decoder.c,v 1.11 2001/08/17 13:34:25 heikos Exp $ * * stuff needed to turn libspu into a xine decoder plugin */ @@ -35,13 +35,13 @@ #include #include #include -#include #include "spu.h" #include "buffer.h" #include "events.h" #include "xine_internal.h" #include "video_out/alphablend.h" +#include "xine-engine/bswap.h" static clut_t __default_clut[] = { {y: 0x00, cr: 0x80, cb:0x80}, diff --git a/src/xine-engine/bswap.h b/src/xine-engine/bswap.h new file mode 100644 index 000000000..21ef3a74e --- /dev/null +++ b/src/xine-engine/bswap.h @@ -0,0 +1,91 @@ +#ifndef __BSWAP_H__ +#define __BSWAP_H__ + +/* It's need for ffmpeg. Else where will be defined ARCH_X86?*/ +#include "config.h" + +#ifdef HAVE_BYTESWAP_H +#include +#else + +#include + +#ifdef ARCH_X86 +inline static unsigned short ByteSwap16(unsigned short x) +{ + __asm("xchgb %b0,%h0" : + "=q" (x) : + "0" (x)); + return x; +} +#define bswap_16(x) ByteSwap16(x) + +inline static unsigned int ByteSwap32(unsigned int x) +{ +#if __CPU__ > 386 + __asm("bswap %0": + "=r" (x) : +#else + __asm("xchgb %b0,%h0\n" + " rorl $16,%0\n" + " xchgb %b0,%h0": + "=q" (x) : +#endif + "0" (x)); + return x; +} +#define bswap_32(x) ByteSwap32(x) + +inline static unsigned long long int ByteSwap64(unsigned long long int x) +{ + register union { __extension__ unsigned long long int __ll; + unsigned long int __l[2]; } __x; + asm("xchgl %0,%1": + "=r"(__x.__l[0]),"=r"(__x.__l[1]): + "0"(bswap_32((unsigned long)x)),"1"(bswap_32((unsigned long)(x>>32)))); + return __x.__ll; +} +#define bswap_64(x) ByteSwap64(x) + +#else + +#define bswap_16(x) (((x) & 0x00ff) << 8 | ((x) & 0xff00) >> 8) + + +// code from bits/byteswap.h (C) 1997, 1998 Free Software Foundation, Inc. +#define bswap_32(x) \ + ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \ + (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)) + +#define bswap_64(x) \ + (__extension__ \ + ({ union { __extension__ unsigned long long int __ll; \ + unsigned long int __l[2]; } __w, __r; \ + __w.__ll = (x); \ + __r.__l[0] = bswap_32 (__w.__l[1]); \ + __r.__l[1] = bswap_32 (__w.__l[0]); \ + __r.__ll; })) +#endif /* !ARCH_X86 */ + +#endif /* !HAVE_BYTESWAP_H */ + +// be2me ... BigEndian to MachineEndian +// le2me ... LittleEndian to MachineEndian + +#ifdef WORDS_BIGENDIAN +#define be2me_16(x) (x) +#define be2me_32(x) (x) +#define be2me_64(x) (x) +#define le2me_16(x) bswap_16(x) +#define le2me_32(x) bswap_32(x) +#define le2me_64(x) bswap_64(x) +#else +#define be2me_16(x) bswap_16(x) +#define be2me_32(x) bswap_32(x) +#define be2me_64(x) bswap_64(x) +#define le2me_16(x) (x) +#define le2me_32(x) (x) +#define le2me_64(x) (x) +#endif + +#endif -- cgit v1.2.3