sync to minilzo 2.03, allocate correct amount of memory for decompression, fixes

git-svn-id: svn://code.dyne.org/veejay/trunk@1408 eb8d1916-c9e9-0310-b8de-cf0c9472ead5
This commit is contained in:
Niels Elburg
2010-03-11 20:16:25 +00:00
parent e7f1f1e883
commit 074819cc61
7 changed files with 761 additions and 200 deletions

View File

@@ -3,7 +3,8 @@
MAINTAINERCLEANFILES = Makefile.in
AM_CFLAGS=$(OP_CFLAGS)
INCLUDES = -I$(top_srcdir) -I$(includedir) -I$(top_srcdir)/vjmem \
-I$(top_srcdir)/vjmsg
-I$(top_srcdir)/vjmsg
CFLAGS="$CFLAGS -DLZO_HAVE_CONFIG_H"
VJLZO_LIB_FILE = libminilzo.la
noinst_LTLIBRARIES = $(VJLZO_LIB_FILE)

View File

@@ -63,7 +63,7 @@ void *lzo_new( )
}
l->wrkmem = (lzo_bytep)
vj_malloc( 2 * LZO1X_1_MEM_COMPRESS );
vj_calloc( LZO1X_1_MEM_COMPRESS );
if(l->wrkmem == NULL )
{
@@ -94,7 +94,7 @@ int lzo_compress( void *lzo, uint8_t *src, uint8_t *plane, unsigned int *size,
lzo_bytep dst = plane;
lzo_uintp dst_len = (lzo_uintp) size;
lzo_voidp wrkmem = l->wrkmem;
int r = lzo1x_1_compress( src, len, dst, dst_len, l->wrkmem );
int r = lzo1x_1_compress( src, len, dst, dst_len, wrkmem );
if( r != LZO_E_OK )
return 0;
return (*size);
@@ -102,13 +102,13 @@ int lzo_compress( void *lzo, uint8_t *src, uint8_t *plane, unsigned int *size,
long lzo_decompress( void *lzo, uint8_t *linbuf, int linbuf_len, uint8_t *dst[3], int uv_len )
{
int i;
unsigned int i;
lzo_uint len[3] = { 0,0,0};
int mode = 0;
int sum = 0;
unsigned int mode = 0;
unsigned int sum = 0;
lzot *l = (lzot*) lzo;
lzo_uint result_len = 0;
lzo_uint offset = 0;
lzo_uint offset = 16;
len[0] = str2ulong( linbuf );
len[1] = str2ulong( linbuf+4 );
@@ -118,17 +118,19 @@ long lzo_decompress( void *lzo, uint8_t *linbuf, int linbuf_len, uint8_t *dst[3
if(len[1] ==0 && len[2] == 0 )
mode = 1;
for( i = 0; i <= 2; i ++ )
for( i = 0; i < 3; i ++ )
{
if( len[i] <= 0 )
continue;
const lzo_bytep src = (lzo_bytep) (linbuf+16+offset);
const lzo_bytep src = (lzo_bytep) (linbuf+offset);
int r = lzo1x_decompress( src, len[i], dst[i], &result_len, l->wrkmem );
if( r != LZO_E_OK )
return 0;
sum += result_len;
offset += len[i];
result_len = 0;
}
if(mode == 1) {

View File

@@ -2,6 +2,9 @@
This file is part of the LZO real-time data compression library.
Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
@@ -15,8 +18,9 @@
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License,
version 2, as published by the Free Software Foundation.
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
The LZO library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -37,9 +41,9 @@
#ifndef __LZOCONF_H_INCLUDED
#define __LZOCONF_H_INCLUDED
#define LZO_VERSION 0x2020
#define LZO_VERSION_STRING "2.02"
#define LZO_VERSION_DATE "Oct 17 2005"
#define LZO_VERSION 0x2030
#define LZO_VERSION_STRING "2.03"
#define LZO_VERSION_DATE "Apr 30 2008"
/* internal Autoconf configuration file - only used when building LZO */
#if defined(LZO_HAVE_CONFIG_H)

View File

@@ -2,6 +2,9 @@
This file is part of the LZO real-time data compression library.
Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
@@ -15,8 +18,9 @@
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License,
version 2, as published by the Free Software Foundation.
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
The LZO library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -221,6 +225,20 @@
#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1
#endif
#if defined(_CRAY) && defined(_CRAY1)
# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1
#endif
#define LZO_PP_STRINGIZE(x) #x
#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x)
#define LZO_PP_CONCAT2(a,b) a ## b
#define LZO_PP_CONCAT3(a,b,c) a ## b ## c
#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b)
#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d)
#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e)
#if 1
#define LZO_CPP_STRINGIZE(x) #x
#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
#define LZO_CPP_CONCAT2(a,b) a ## b
@@ -231,6 +249,7 @@
#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
#endif
#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
#if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS)
@@ -250,6 +269,9 @@
# define LZO_INFO_OS "freestanding"
#elif defined(LZO_OS_EMBEDDED)
# define LZO_INFO_OS "embedded"
#elif 1 && defined(__IAR_SYSTEMS_ICC__)
# define LZO_OS_EMBEDDED 1
# define LZO_INFO_OS "embedded"
#elif defined(__CYGWIN__) && defined(__GNUC__)
# define LZO_OS_CYGWIN 1
# define LZO_INFO_OS "cygwin"
@@ -323,6 +345,9 @@
# elif defined(__NT__) && (__WATCOMC__ < 1100)
# define LZO_OS_WIN32 1
# define LZO_INFO_OS "win32"
# elif defined(__linux__) || defined(__LINUX__)
# define LZO_OS_POSIX 1
# define LZO_INFO_OS "posix"
# else
# error "please specify a target using the -bt compiler option"
# endif
@@ -368,12 +393,15 @@
# elif defined(__IRIX__) || defined(__irix__)
# define LZO_OS_POSIX_IRIX 1
# define LZO_INFO_OS_POSIX "irix"
# elif defined(__linux__) || defined(__linux)
# elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
# define LZO_OS_POSIX_LINUX 1
# define LZO_INFO_OS_POSIX "linux"
# elif defined(__APPLE__) || defined(__MACOS__)
# define LZO_OS_POSIX_MACOSX 1
# define LZO_INFO_OS_POSIX "macosx"
# elif defined(__minix__) || defined(__minix)
# define LZO_OS_POSIX_MINIX 1
# define LZO_INFO_OS_POSIX "minix"
# elif defined(__NetBSD__)
# define LZO_OS_POSIX_NETBSD 1
# define LZO_INFO_OS_POSIX "netbsd"
@@ -394,6 +422,9 @@
# elif defined(__ultrix__) || defined(__ultrix)
# define LZO_OS_POSIX_ULTRIX 1
# define LZO_INFO_OS_POSIX "ultrix"
# elif defined(_UNICOS)
# define LZO_OS_POSIX_UNICOS 1
# define LZO_INFO_OS_POSIX "unicos"
# else
# define LZO_OS_POSIX_UNKNOWN 1
# define LZO_INFO_OS_POSIX "unknown"
@@ -420,14 +451,14 @@
# define LZO_CC_CILLY 1
# define LZO_INFO_CC "Cilly"
# if defined(__CILLY__)
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__CILLY__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__)
# else
# define LZO_INFO_CCVER "unknown"
# endif
#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
# define LZO_CC_SDCC 1
# define LZO_INFO_CC "sdcc"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(SDCC)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC)
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
# define LZO_INFO_CC "Pathscale C"
@@ -435,13 +466,22 @@
#elif defined(__INTEL_COMPILER)
# define LZO_CC_INTELC 1
# define LZO_INFO_CC "Intel C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__INTEL_COMPILER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
# if defined(_WIN32) || defined(_WIN64)
# define LZO_CC_SYNTAX_MSC 1
# else
# define LZO_CC_SYNTAX_GNUC 1
# endif
#elif defined(__POCC__) && defined(_WIN32)
# define LZO_CC_PELLESC 1
# define LZO_INFO_CC "Pelles C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__POCC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__)
#elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__)
# define LZO_CC_LLVM 1
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
# else
# define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
# endif
# define LZO_INFO_CC "llvm-gcc"
# define LZO_INFO_CCVER __VERSION__
#elif defined(__GNUC__) && defined(__VERSION__)
@@ -454,34 +494,50 @@
# endif
# define LZO_INFO_CC "gcc"
# define LZO_INFO_CCVER __VERSION__
#elif defined(__ACK__) && defined(_ACK)
# define LZO_CC_ACK 1
# define LZO_INFO_CC "Amsterdam Compiler Kit C"
# define LZO_INFO_CCVER "unknown"
#elif defined(__AZTEC_C__)
# define LZO_CC_AZTECC 1
# define LZO_INFO_CC "Aztec C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__AZTEC_C__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__)
#elif defined(__BORLANDC__)
# define LZO_CC_BORLANDC 1
# define LZO_INFO_CC "Borland C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__BORLANDC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__)
#elif defined(_CRAYC) && defined(_RELEASE)
# define LZO_CC_CRAYC 1
# define LZO_INFO_CC "Cray C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE)
#elif defined(__DMC__) && defined(__SC__)
# define LZO_CC_DMC 1
# define LZO_INFO_CC "Digital Mars C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DMC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__)
#elif defined(__DECC)
# define LZO_CC_DECC 1
# define LZO_INFO_CC "DEC C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DECC)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC)
#elif defined(__HIGHC__)
# define LZO_CC_HIGHC 1
# define LZO_INFO_CC "MetaWare High C"
# define LZO_INFO_CCVER "unknown"
#elif defined(__IAR_SYSTEMS_ICC__)
# define LZO_CC_IARC 1
# define LZO_INFO_CC "IAR C"
# if defined(__VER__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__)
# else
# define LZO_INFO_CCVER "unknown"
# endif
#elif defined(__IBMC__)
# define LZO_CC_IBMC 1
# define LZO_INFO_CC "IBM C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__IBMC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__)
#elif defined(__KEIL__) && defined(__C166__)
# define LZO_CC_KEILC 1
# define LZO_INFO_CC "Keil C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__C166__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__)
#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
# define LZO_CC_LCCWIN32 1
# define LZO_INFO_CC "lcc-win32"
@@ -490,7 +546,7 @@
# define LZO_CC_LCC 1
# define LZO_INFO_CC "lcc"
# if defined(__LCC_VERSION__)
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__LCC_VERSION__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__)
# else
# define LZO_INFO_CCVER "unknown"
# endif
@@ -498,14 +554,14 @@
# define LZO_CC_MSC 1
# define LZO_INFO_CC "Microsoft C"
# if defined(_MSC_FULL_VER)
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER) "." LZO_CPP_MACRO_EXPAND(_MSC_FULL_VER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
# else
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
# endif
#elif defined(__MWERKS__)
# define LZO_CC_MWERKS 1
# define LZO_INFO_CC "Metrowerks C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__MWERKS__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__)
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
# define LZO_CC_NDPC 1
# define LZO_INFO_CC "Microway NDP C"
@@ -513,7 +569,7 @@
#elif defined(__PACIFIC__)
# define LZO_CC_PACIFICC 1
# define LZO_INFO_CC "Pacific C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PACIFIC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__)
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
# define LZO_CC_PGI 1
# define LZO_INFO_CC "Portland Group PGI C"
@@ -521,38 +577,52 @@
#elif defined(__PUREC__) && defined(__TOS__)
# define LZO_CC_PUREC 1
# define LZO_INFO_CC "Pure C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PUREC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__)
#elif defined(__SC__) && defined(__ZTC__)
# define LZO_CC_SYMANTECC 1
# define LZO_INFO_CC "Symantec C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__SC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__)
#elif defined(__SUNPRO_C)
# define LZO_CC_SUNPROC 1
# define LZO_INFO_CC "Sun C"
# define LZO_INFO_CCVER "unknown"
# define LZO_INFO_CC "SunPro C"
# if ((__SUNPRO_C)+0 > 0)
# define LZO_CC_SUNPROC __SUNPRO_C
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C)
# else
# define LZO_CC_SUNPROC 1
# define LZO_INFO_CCVER "unknown"
# endif
#elif defined(__SUNPRO_CC)
# define LZO_INFO_CC "SunPro C"
# if ((__SUNPRO_CC)+0 > 0)
# define LZO_CC_SUNPROC __SUNPRO_CC
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
# else
# define LZO_CC_SUNPROC 1
# define LZO_INFO_CCVER "unknown"
# endif
#elif defined(__TINYC__)
# define LZO_CC_TINYC 1
# define LZO_INFO_CC "Tiny C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TINYC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__)
#elif defined(__TSC__)
# define LZO_CC_TOPSPEEDC 1
# define LZO_INFO_CC "TopSpeed C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TSC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__)
#elif defined(__WATCOMC__)
# define LZO_CC_WATCOMC 1
# define LZO_INFO_CC "Watcom C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__WATCOMC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__)
#elif defined(__TURBOC__)
# define LZO_CC_TURBOC 1
# define LZO_INFO_CC "Turbo C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TURBOC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__)
#elif defined(__ZTC__)
# define LZO_CC_ZORTECHC 1
# define LZO_INFO_CC "Zortech C"
# if (__ZTC__ == 0x310)
# define LZO_INFO_CCVER "0x310"
# else
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__ZTC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__)
# endif
#else
# define LZO_CC_UNKNOWN 1
@@ -562,6 +632,15 @@
#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
# error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
#endif
#if !defined(__LZO_ARCH_OVERRIDE) && !defined(LZO_ARCH_GENERIC) && defined(_CRAY)
# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY)
# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
# define LZO_ARCH_CRAY_MPP 1
# elif defined(_CRAY1)
# define LZO_ARCH_CRAY_PVP 1
# endif
# endif
#endif
#if !defined(__LZO_ARCH_OVERRIDE)
#if defined(LZO_ARCH_GENERIC)
# define LZO_INFO_ARCH "generic"
@@ -572,6 +651,9 @@
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
# define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha"
#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
# define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha"
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
# define LZO_ARCH_AMD64 1
# define LZO_INFO_ARCH "amd64"
@@ -579,6 +661,16 @@
# define LZO_ARCH_ARM 1
# define LZO_ARCH_ARM_THUMB 1
# define LZO_INFO_ARCH "arm_thumb"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
# define LZO_ARCH_ARM 1
# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
# define LZO_ARCH_ARM_THUMB 1
# define LZO_INFO_ARCH "arm_thumb"
# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
# define LZO_INFO_ARCH "arm"
# else
# define LZO_INFO_ARCH "arm"
# endif
#elif defined(__arm__) || defined(_M_ARM)
# define LZO_ARCH_ARM 1
# define LZO_INFO_ARCH "arm"
@@ -594,6 +686,9 @@
#elif defined(__cris__)
# define LZO_ARCH_CRIS 1
# define LZO_INFO_ARCH "cris"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
# define LZO_ARCH_EZ80 1
# define LZO_INFO_ARCH "ez80"
#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
# define LZO_ARCH_H8300 1
# define LZO_INFO_ARCH "h8300"
@@ -618,10 +713,13 @@
#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__)
# define LZO_ARCH_M16C 1
# define LZO_INFO_ARCH "m16c"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
# define LZO_ARCH_M16C 1
# define LZO_INFO_ARCH "m16c"
#elif defined(__m32r__)
# define LZO_ARCH_M32R 1
# define LZO_INFO_ARCH "m32r"
#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(_M_M68K)
#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
# define LZO_ARCH_M68K 1
# define LZO_INFO_ARCH "m68k"
#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
@@ -630,13 +728,19 @@
#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
# define LZO_ARCH_MCS51 1
# define LZO_INFO_ARCH "mcs51"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
# define LZO_ARCH_MCS51 1
# define LZO_INFO_ARCH "mcs51"
#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
# define LZO_ARCH_MIPS 1
# define LZO_INFO_ARCH "mips"
#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
# define LZO_ARCH_MSP430 1
# define LZO_INFO_ARCH "msp430"
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC)
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
# define LZO_ARCH_MSP430 1
# define LZO_INFO_ARCH "msp430"
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
@@ -648,9 +752,26 @@
#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
# define LZO_ARCH_SPARC 1
# define LZO_INFO_ARCH "sparc"
#elif defined(__SPU__)
# define LZO_ARCH_SPU 1
# define LZO_INFO_ARCH "spu"
#elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
# define LZO_ARCH_Z80 1
# define LZO_INFO_ARCH "z80"
#elif (LZO_ARCH_CRAY_PVP)
# if defined(_CRAYSV1)
# define LZO_ARCH_CRAY_SV1 1
# define LZO_INFO_ARCH "cray_sv1"
# elif (_ADDR64)
# define LZO_ARCH_CRAY_T90 1
# define LZO_INFO_ARCH "cray_t90"
# elif (_ADDR32)
# define LZO_ARCH_CRAY_YMP 1
# define LZO_INFO_ARCH "cray_ymp"
# else
# define LZO_ARCH_CRAY_XMP 1
# define LZO_INFO_ARCH "cray_xmp"
# endif
#else
# define LZO_ARCH_UNKNOWN 1
# define LZO_INFO_ARCH "unknown"
@@ -704,7 +825,7 @@
# endif
#endif
#if !defined(__LZO_MM_OVERRIDE)
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#if (LZO_ARCH_I086)
#if (UINT_MAX != LZO_0xffffL)
# error "this should not happen"
#endif
@@ -735,6 +856,7 @@
#else
# error "unknown memory model"
#endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#define LZO_HAVE_MM_HUGE_PTR 1
#define LZO_HAVE_MM_HUGE_ARRAY 1
#if (LZO_MM_TINY)
@@ -787,6 +909,7 @@ extern "C" {
#ifdef __cplusplus
}
#endif
#endif
#elif (LZO_ARCH_C166)
#if !defined(__MODEL__)
# error "FIXME - C166 __MODEL__"
@@ -837,23 +960,27 @@ extern "C" {
#else
# error "FIXME - MCS51 __MODEL__"
#endif
#elif (LZO_ARCH_CRAY_PVP)
# define LZO_MM_PVP 1
#else
# define LZO_MM_FLAT 1
#endif
#if (LZO_MM_FLAT)
# define LZO_INFO_MM "flat"
#elif (LZO_MM_TINY)
# define LZO_INFO_MM "tiny"
#elif (LZO_MM_SMALL)
# define LZO_INFO_MM "small"
#elif (LZO_MM_MEDIUM)
# define LZO_INFO_MM "medium"
#elif (LZO_MM_COMPACT)
#if (LZO_MM_COMPACT)
# define LZO_INFO_MM "compact"
#elif (LZO_MM_LARGE)
# define LZO_INFO_MM "large"
#elif (LZO_MM_FLAT)
# define LZO_INFO_MM "flat"
#elif (LZO_MM_HUGE)
# define LZO_INFO_MM "huge"
#elif (LZO_MM_LARGE)
# define LZO_INFO_MM "large"
#elif (LZO_MM_MEDIUM)
# define LZO_INFO_MM "medium"
#elif (LZO_MM_PVP)
# define LZO_INFO_MM "pvp"
#elif (LZO_MM_SMALL)
# define LZO_INFO_MM "small"
#elif (LZO_MM_TINY)
# define LZO_INFO_MM "tiny"
#else
# error "unknown memory model"
#endif
@@ -890,7 +1017,9 @@ extern "C" {
#endif
#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
#if !defined(LZO_SIZEOF_SHORT)
# if (USHRT_MAX == LZO_0xffffL)
# if (LZO_ARCH_CRAY_PVP)
# define LZO_SIZEOF_SHORT 8
# elif (USHRT_MAX == LZO_0xffffL)
# define LZO_SIZEOF_SHORT 2
# elif (__LZO_LSR(USHRT_MAX,7) == 1)
# define LZO_SIZEOF_SHORT 1
@@ -907,7 +1036,9 @@ extern "C" {
# endif
#endif
#if !defined(LZO_SIZEOF_INT)
# if (UINT_MAX == LZO_0xffffL)
# if (LZO_ARCH_CRAY_PVP)
# define LZO_SIZEOF_INT 8
# elif (UINT_MAX == LZO_0xffffL)
# define LZO_SIZEOF_INT 2
# elif (UINT_MAX == LZO_0xffffffffL)
# define LZO_SIZEOF_INT 4
@@ -948,6 +1079,8 @@ extern "C" {
# if (LZO_CC_GNUC >= 0x030300ul)
# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
# define LZO_SIZEOF_LONG_LONG 4
# endif
# endif
# endif
@@ -960,9 +1093,9 @@ extern "C" {
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define LZO_SIZEOF_LONG_LONG 8
#elif ((LZO_OS_WIN32 || LZO_OS_WIN64) && LZO_CC_MSC && (_MSC_VER >= 1400))
#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_OS_WIN64)
#elif (LZO_OS_WIN64 || defined(_WIN64))
# define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
# define LZO_SIZEOF_LONG_LONG 8
@@ -970,11 +1103,11 @@ extern "C" {
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI))
#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
# define LZO_SIZEOF___INT64 8
#elif (LZO_OS_WIN32 && (LZO_CC_MSC))
#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
# define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
# define LZO_SIZEOF___INT64 8
@@ -982,7 +1115,7 @@ extern "C" {
# define LZO_SIZEOF___INT64 8
#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
# define LZO_SIZEOF___INT64 8
#elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
# define LZO_SIZEOF_LONG_LONG 8
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
# define LZO_SIZEOF_LONG_LONG 8
@@ -1043,11 +1176,11 @@ extern "C" {
#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
# define __LZO_WORDSIZE 8
# define LZO_SIZEOF_VOID_P 8
#elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
#elif (LZO_OS_OS400)
#elif (LZO_OS_OS400 || defined(__OS400__))
# define __LZO_WORDSIZE LZO_SIZEOF_LONG
# define LZO_SIZEOF_VOID_P 16
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
@@ -1056,6 +1189,11 @@ extern "C" {
# define LZO_SIZEOF_VOID_P 8
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
#elif (LZO_ARCH_SPU)
# if 0
# define __LZO_WORDSIZE 16
# endif
# define LZO_SIZEOF_VOID_P 4
#else
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
#endif
@@ -1091,15 +1229,30 @@ extern "C" {
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif
#endif
#if !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) && !defined(LZO_ABI_NEUTRAL_ENDIAN)
#if (LZO_ARCH_AMD64 || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
#if defined(LZO_ABI_NEUTRAL_ENDIAN)
# undef LZO_ABI_BIG_ENDIAN
# undef LZO_ABI_LITTLE_ENDIAN
#elif !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN)
#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
# define LZO_ABI_BIG_ENDIAN 1
#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif (LZO_ARCH_M68K || LZO_ARCH_S390)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
# if (__LITTLE_ENDIAN__ == 1)
# define LZO_ABI_LITTLE_ENDIAN 1
# else
# define LZO_ABI_BIG_ENDIAN 1
# endif
#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
@@ -1168,25 +1321,66 @@ extern "C" {
#elif (LZO_CC_MWERKS) && defined(__MSL__)
# define LZO_LIBC_MSL __MSL__
# define LZO_INFO_LIBC "msl"
#elif 1 && defined(__IAR_SYSTEMS_ICC__)
# define LZO_LIBC_ISOC90 1
# define LZO_INFO_LIBC "isoc90"
#else
# define LZO_LIBC_DEFAULT 1
# define LZO_INFO_LIBC "default"
#endif
#endif
#if !defined(__lzo_gnuc_extension__)
#if (LZO_CC_GNUC >= 0x020800ul)
# define __lzo_gnuc_extension__ __extension__
# define __lzo_gnuc_extension__ __extension__
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_gnuc_extension__ __extension__
# define __lzo_gnuc_extension__ __extension__
#else
# define __lzo_gnuc_extension__
#endif
#if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
# define lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define lzo_alignof(e) __alignof(e)
#endif
#if !defined(__lzo_ua_volatile)
# define __lzo_ua_volatile volatile
#endif
#if !defined(__lzo_alignof)
#if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_alignof(e) __alignof(e)
#endif
#endif
#if defined(__lzo_alignof)
# define __lzo_HAVE_alignof 1
#endif
#if !defined(__lzo_constructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_constructor __attribute__((__constructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_constructor __attribute__((__constructor__))
#endif
#endif
#if defined(__lzo_constructor)
# define __lzo_HAVE_constructor 1
#endif
#if !defined(__lzo_destructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_destructor __attribute__((__destructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_destructor __attribute__((__destructor__))
#endif
#endif
#if defined(__lzo_destructor)
# define __lzo_HAVE_destructor 1
#endif
#if defined(__lzo_HAVE_destructor) && !defined(__lzo_HAVE_constructor)
# error "this should not happen"
#endif
#if !defined(__lzo_inline)
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
#elif defined(__cplusplus)
# define __lzo_inline inline
@@ -1205,22 +1399,38 @@ extern "C" {
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
# define __lzo_inline inline
#endif
#endif
#if defined(__lzo_inline)
# define __lzo_HAVE_inline 1
#else
# define __lzo_inline
#endif
#if !defined(__lzo_forceinline)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
# define __lzo_forceinline __forceinline
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_forceinline __forceinline
#endif
#if (LZO_CC_GNUC >= 0x030200ul)
#endif
#if defined(__lzo_forceinline)
# define __lzo_HAVE_forceinline 1
#else
# define __lzo_forceinline
#endif
#if !defined(__lzo_noinline)
#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
# define __lzo_noinline __attribute__((__noinline__,__used__))
#elif (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_WIN32 || LZO_OS_WIN64))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
# define __lzo_noinline __declspec(noinline)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noinline __attribute__((__noinline__))
@@ -1232,37 +1442,68 @@ extern "C" {
# define __lzo_noinline __declspec(noinline)
# endif
#endif
#if (defined(__lzo_forceinline) || defined(__lzo_noinline)) && !defined(__lzo_inline)
#endif
#if defined(__lzo_noinline)
# define __lzo_HAVE_noinline 1
#else
# define __lzo_noinline
#endif
#if (defined(__lzo_HAVE_forceinline) || defined(__lzo_HAVE_noinline)) && !defined(__lzo_HAVE_inline)
# error "this should not happen"
#endif
#if !defined(__lzo_noreturn)
#if (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
# define __lzo_noreturn __declspec(noreturn)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_POSIX))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_noreturn __declspec(noreturn)
#endif
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_constructor __attribute__((__constructor__))
#endif
#if defined(__lzo_noreturn)
# define __lzo_HAVE_noreturn 1
#else
# define __lzo_noreturn
#endif
#if !defined(__lzo_nothrow)
#if (LZO_CC_GNUC >= 0x030300ul)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_constructor __attribute__((__constructor__))
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#endif
#endif
#if defined(__lzo_nothrow)
# define __lzo_HAVE_nothrow 1
#else
# define __lzo_nothrow
#endif
#if !defined(__lzo_restrict)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_destructor __attribute__((__destructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_destructor __attribute__((__destructor__))
# define __lzo_restrict __restrict__
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
# define __lzo_restrict __restrict__
#elif (LZO_CC_LLVM)
# define __lzo_restrict __restrict__
#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
# define __lzo_restrict __restrict
#endif
#if defined(__lzo_destructor) && !defined(__lzo_constructor)
# error "this should not happen"
#endif
#if defined(__lzo_restrict)
# define __lzo_HAVE_restrict 1
#else
# define __lzo_restrict
#endif
#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
@@ -1272,8 +1513,16 @@ extern "C" {
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#endif
#endif
#if defined(__lzo_likely)
# define __lzo_HAVE_likely 1
#else
# define __lzo_likely(e) (e)
#endif
#if defined(__lzo_unlikely)
# define __lzo_HAVE_unlikely 1
#else
# define __lzo_unlikely(e) (e)
#endif
#if !defined(LZO_UNUSED)
@@ -1321,6 +1570,15 @@ extern "C" {
# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
# endif
#endif
#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
# if 0
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
# elif 0 && (LZO_CC_GNUC)
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
# else
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
# endif
#endif
#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
@@ -1384,6 +1642,8 @@ extern "C" {
# else
# define __lzo_cdecl_sighandler __cdecl
# endif
#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
# define __lzo_cdecl __cdecl
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
# define __lzo_cdecl cdecl
#endif
@@ -1405,6 +1665,7 @@ extern "C" {
#if !defined(__lzo_cdecl_va)
# define __lzo_cdecl_va __lzo_cdecl
#endif
#if !defined(LZO_CFG_NO_WINDOWS_H)
#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
@@ -1413,6 +1674,7 @@ extern "C" {
# define LZO_HAVE_WINDOWS_H 1
# endif
#endif
#endif
#if (LZO_ARCH_ALPHA)
# define LZO_OPT_AVOID_UINT_INDEX 1
# define LZO_OPT_AVOID_SHORT 1

View File

@@ -2,6 +2,9 @@
This file is part of the LZO real-time data compression library.
Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
@@ -15,8 +18,9 @@
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License,
version 2, as published by the Free Software Foundation.
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
The LZO library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -242,6 +246,20 @@
#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
# define LZO_BROKEN_INTEGRAL_CONSTANTS 1
#endif
#if defined(_CRAY) && defined(_CRAY1)
# define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1
#endif
#define LZO_PP_STRINGIZE(x) #x
#define LZO_PP_MACRO_EXPAND(x) LZO_PP_STRINGIZE(x)
#define LZO_PP_CONCAT2(a,b) a ## b
#define LZO_PP_CONCAT3(a,b,c) a ## b ## c
#define LZO_PP_CONCAT4(a,b,c,d) a ## b ## c ## d
#define LZO_PP_CONCAT5(a,b,c,d,e) a ## b ## c ## d ## e
#define LZO_PP_ECONCAT2(a,b) LZO_PP_CONCAT2(a,b)
#define LZO_PP_ECONCAT3(a,b,c) LZO_PP_CONCAT3(a,b,c)
#define LZO_PP_ECONCAT4(a,b,c,d) LZO_PP_CONCAT4(a,b,c,d)
#define LZO_PP_ECONCAT5(a,b,c,d,e) LZO_PP_CONCAT5(a,b,c,d,e)
#if 1
#define LZO_CPP_STRINGIZE(x) #x
#define LZO_CPP_MACRO_EXPAND(x) LZO_CPP_STRINGIZE(x)
#define LZO_CPP_CONCAT2(a,b) a ## b
@@ -252,6 +270,7 @@
#define LZO_CPP_ECONCAT3(a,b,c) LZO_CPP_CONCAT3(a,b,c)
#define LZO_CPP_ECONCAT4(a,b,c,d) LZO_CPP_CONCAT4(a,b,c,d)
#define LZO_CPP_ECONCAT5(a,b,c,d,e) LZO_CPP_CONCAT5(a,b,c,d,e)
#endif
#define __LZO_MASK_GEN(o,b) (((((o) << ((b)-1)) - (o)) << 1) + (o))
#if 1 && defined(__cplusplus)
# if !defined(__STDC_CONSTANT_MACROS)
@@ -271,6 +290,9 @@
# define LZO_INFO_OS "freestanding"
#elif defined(LZO_OS_EMBEDDED)
# define LZO_INFO_OS "embedded"
#elif 1 && defined(__IAR_SYSTEMS_ICC__)
# define LZO_OS_EMBEDDED 1
# define LZO_INFO_OS "embedded"
#elif defined(__CYGWIN__) && defined(__GNUC__)
# define LZO_OS_CYGWIN 1
# define LZO_INFO_OS "cygwin"
@@ -344,6 +366,9 @@
# elif defined(__NT__) && (__WATCOMC__ < 1100)
# define LZO_OS_WIN32 1
# define LZO_INFO_OS "win32"
# elif defined(__linux__) || defined(__LINUX__)
# define LZO_OS_POSIX 1
# define LZO_INFO_OS "posix"
# else
# error "please specify a target using the -bt compiler option"
# endif
@@ -389,12 +414,15 @@
# elif defined(__IRIX__) || defined(__irix__)
# define LZO_OS_POSIX_IRIX 1
# define LZO_INFO_OS_POSIX "irix"
# elif defined(__linux__) || defined(__linux)
# elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
# define LZO_OS_POSIX_LINUX 1
# define LZO_INFO_OS_POSIX "linux"
# elif defined(__APPLE__) || defined(__MACOS__)
# define LZO_OS_POSIX_MACOSX 1
# define LZO_INFO_OS_POSIX "macosx"
# elif defined(__minix__) || defined(__minix)
# define LZO_OS_POSIX_MINIX 1
# define LZO_INFO_OS_POSIX "minix"
# elif defined(__NetBSD__)
# define LZO_OS_POSIX_NETBSD 1
# define LZO_INFO_OS_POSIX "netbsd"
@@ -415,6 +443,9 @@
# elif defined(__ultrix__) || defined(__ultrix)
# define LZO_OS_POSIX_ULTRIX 1
# define LZO_INFO_OS_POSIX "ultrix"
# elif defined(_UNICOS)
# define LZO_OS_POSIX_UNICOS 1
# define LZO_INFO_OS_POSIX "unicos"
# else
# define LZO_OS_POSIX_UNKNOWN 1
# define LZO_INFO_OS_POSIX "unknown"
@@ -441,14 +472,14 @@
# define LZO_CC_CILLY 1
# define LZO_INFO_CC "Cilly"
# if defined(__CILLY__)
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__CILLY__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__CILLY__)
# else
# define LZO_INFO_CCVER "unknown"
# endif
#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
# define LZO_CC_SDCC 1
# define LZO_INFO_CC "sdcc"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(SDCC)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(SDCC)
#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
# define LZO_CC_PATHSCALE (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
# define LZO_INFO_CC "Pathscale C"
@@ -456,13 +487,22 @@
#elif defined(__INTEL_COMPILER)
# define LZO_CC_INTELC 1
# define LZO_INFO_CC "Intel C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__INTEL_COMPILER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
# if defined(_WIN32) || defined(_WIN64)
# define LZO_CC_SYNTAX_MSC 1
# else
# define LZO_CC_SYNTAX_GNUC 1
# endif
#elif defined(__POCC__) && defined(_WIN32)
# define LZO_CC_PELLESC 1
# define LZO_INFO_CC "Pelles C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__POCC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__POCC__)
#elif defined(__llvm__) && defined(__GNUC__) && defined(__VERSION__)
# define LZO_CC_LLVM 1
# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
# define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
# else
# define LZO_CC_LLVM (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
# endif
# define LZO_INFO_CC "llvm-gcc"
# define LZO_INFO_CCVER __VERSION__
#elif defined(__GNUC__) && defined(__VERSION__)
@@ -475,34 +515,50 @@
# endif
# define LZO_INFO_CC "gcc"
# define LZO_INFO_CCVER __VERSION__
#elif defined(__ACK__) && defined(_ACK)
# define LZO_CC_ACK 1
# define LZO_INFO_CC "Amsterdam Compiler Kit C"
# define LZO_INFO_CCVER "unknown"
#elif defined(__AZTEC_C__)
# define LZO_CC_AZTECC 1
# define LZO_INFO_CC "Aztec C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__AZTEC_C__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__AZTEC_C__)
#elif defined(__BORLANDC__)
# define LZO_CC_BORLANDC 1
# define LZO_INFO_CC "Borland C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__BORLANDC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__BORLANDC__)
#elif defined(_CRAYC) && defined(_RELEASE)
# define LZO_CC_CRAYC 1
# define LZO_INFO_CC "Cray C"
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_RELEASE)
#elif defined(__DMC__) && defined(__SC__)
# define LZO_CC_DMC 1
# define LZO_INFO_CC "Digital Mars C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DMC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DMC__)
#elif defined(__DECC)
# define LZO_CC_DECC 1
# define LZO_INFO_CC "DEC C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__DECC)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__DECC)
#elif defined(__HIGHC__)
# define LZO_CC_HIGHC 1
# define LZO_INFO_CC "MetaWare High C"
# define LZO_INFO_CCVER "unknown"
#elif defined(__IAR_SYSTEMS_ICC__)
# define LZO_CC_IARC 1
# define LZO_INFO_CC "IAR C"
# if defined(__VER__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__VER__)
# else
# define LZO_INFO_CCVER "unknown"
# endif
#elif defined(__IBMC__)
# define LZO_CC_IBMC 1
# define LZO_INFO_CC "IBM C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__IBMC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__IBMC__)
#elif defined(__KEIL__) && defined(__C166__)
# define LZO_CC_KEILC 1
# define LZO_INFO_CC "Keil C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__C166__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__C166__)
#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
# define LZO_CC_LCCWIN32 1
# define LZO_INFO_CC "lcc-win32"
@@ -511,7 +567,7 @@
# define LZO_CC_LCC 1
# define LZO_INFO_CC "lcc"
# if defined(__LCC_VERSION__)
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__LCC_VERSION__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__LCC_VERSION__)
# else
# define LZO_INFO_CCVER "unknown"
# endif
@@ -519,14 +575,14 @@
# define LZO_CC_MSC 1
# define LZO_INFO_CC "Microsoft C"
# if defined(_MSC_FULL_VER)
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER) "." LZO_CPP_MACRO_EXPAND(_MSC_FULL_VER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
# else
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(_MSC_VER)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(_MSC_VER)
# endif
#elif defined(__MWERKS__)
# define LZO_CC_MWERKS 1
# define LZO_INFO_CC "Metrowerks C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__MWERKS__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__MWERKS__)
#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
# define LZO_CC_NDPC 1
# define LZO_INFO_CC "Microway NDP C"
@@ -534,7 +590,7 @@
#elif defined(__PACIFIC__)
# define LZO_CC_PACIFICC 1
# define LZO_INFO_CC "Pacific C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PACIFIC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PACIFIC__)
#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
# define LZO_CC_PGI 1
# define LZO_INFO_CC "Portland Group PGI C"
@@ -542,38 +598,52 @@
#elif defined(__PUREC__) && defined(__TOS__)
# define LZO_CC_PUREC 1
# define LZO_INFO_CC "Pure C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__PUREC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__PUREC__)
#elif defined(__SC__) && defined(__ZTC__)
# define LZO_CC_SYMANTECC 1
# define LZO_INFO_CC "Symantec C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__SC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SC__)
#elif defined(__SUNPRO_C)
# define LZO_CC_SUNPROC 1
# define LZO_INFO_CC "Sun C"
# define LZO_INFO_CCVER "unknown"
# define LZO_INFO_CC "SunPro C"
# if ((__SUNPRO_C)+0 > 0)
# define LZO_CC_SUNPROC __SUNPRO_C
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_C)
# else
# define LZO_CC_SUNPROC 1
# define LZO_INFO_CCVER "unknown"
# endif
#elif defined(__SUNPRO_CC)
# define LZO_INFO_CC "SunPro C"
# if ((__SUNPRO_CC)+0 > 0)
# define LZO_CC_SUNPROC __SUNPRO_CC
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
# else
# define LZO_CC_SUNPROC 1
# define LZO_INFO_CCVER "unknown"
# endif
#elif defined(__TINYC__)
# define LZO_CC_TINYC 1
# define LZO_INFO_CC "Tiny C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TINYC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TINYC__)
#elif defined(__TSC__)
# define LZO_CC_TOPSPEEDC 1
# define LZO_INFO_CC "TopSpeed C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TSC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TSC__)
#elif defined(__WATCOMC__)
# define LZO_CC_WATCOMC 1
# define LZO_INFO_CC "Watcom C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__WATCOMC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__WATCOMC__)
#elif defined(__TURBOC__)
# define LZO_CC_TURBOC 1
# define LZO_INFO_CC "Turbo C"
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__TURBOC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__TURBOC__)
#elif defined(__ZTC__)
# define LZO_CC_ZORTECHC 1
# define LZO_INFO_CC "Zortech C"
# if (__ZTC__ == 0x310)
# define LZO_INFO_CCVER "0x310"
# else
# define LZO_INFO_CCVER LZO_CPP_MACRO_EXPAND(__ZTC__)
# define LZO_INFO_CCVER LZO_PP_MACRO_EXPAND(__ZTC__)
# endif
#else
# define LZO_CC_UNKNOWN 1
@@ -583,6 +653,15 @@
#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
# error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
#endif
#if !defined(__LZO_ARCH_OVERRIDE) && !defined(LZO_ARCH_GENERIC) && defined(_CRAY)
# if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY)
# if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
# define LZO_ARCH_CRAY_MPP 1
# elif defined(_CRAY1)
# define LZO_ARCH_CRAY_PVP 1
# endif
# endif
#endif
#if !defined(__LZO_ARCH_OVERRIDE)
#if defined(LZO_ARCH_GENERIC)
# define LZO_INFO_ARCH "generic"
@@ -593,6 +672,9 @@
#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
# define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha"
#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
# define LZO_ARCH_ALPHA 1
# define LZO_INFO_ARCH "alpha"
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
# define LZO_ARCH_AMD64 1
# define LZO_INFO_ARCH "amd64"
@@ -600,6 +682,16 @@
# define LZO_ARCH_ARM 1
# define LZO_ARCH_ARM_THUMB 1
# define LZO_INFO_ARCH "arm_thumb"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
# define LZO_ARCH_ARM 1
# if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
# define LZO_ARCH_ARM_THUMB 1
# define LZO_INFO_ARCH "arm_thumb"
# elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
# define LZO_INFO_ARCH "arm"
# else
# define LZO_INFO_ARCH "arm"
# endif
#elif defined(__arm__) || defined(_M_ARM)
# define LZO_ARCH_ARM 1
# define LZO_INFO_ARCH "arm"
@@ -615,6 +707,9 @@
#elif defined(__cris__)
# define LZO_ARCH_CRIS 1
# define LZO_INFO_ARCH "cris"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
# define LZO_ARCH_EZ80 1
# define LZO_INFO_ARCH "ez80"
#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
# define LZO_ARCH_H8300 1
# define LZO_INFO_ARCH "h8300"
@@ -639,10 +734,13 @@
#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__)
# define LZO_ARCH_M16C 1
# define LZO_INFO_ARCH "m16c"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
# define LZO_ARCH_M16C 1
# define LZO_INFO_ARCH "m16c"
#elif defined(__m32r__)
# define LZO_ARCH_M32R 1
# define LZO_INFO_ARCH "m32r"
#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(_M_M68K)
#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
# define LZO_ARCH_M68K 1
# define LZO_INFO_ARCH "m68k"
#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
@@ -651,13 +749,19 @@
#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
# define LZO_ARCH_MCS51 1
# define LZO_INFO_ARCH "mcs51"
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
# define LZO_ARCH_MCS51 1
# define LZO_INFO_ARCH "mcs51"
#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
# define LZO_ARCH_MIPS 1
# define LZO_INFO_ARCH "mips"
#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
# define LZO_ARCH_MSP430 1
# define LZO_INFO_ARCH "msp430"
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC)
#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
# define LZO_ARCH_MSP430 1
# define LZO_INFO_ARCH "msp430"
#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
# define LZO_ARCH_POWERPC 1
# define LZO_INFO_ARCH "powerpc"
#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
@@ -669,9 +773,26 @@
#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
# define LZO_ARCH_SPARC 1
# define LZO_INFO_ARCH "sparc"
#elif defined(__SPU__)
# define LZO_ARCH_SPU 1
# define LZO_INFO_ARCH "spu"
#elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
# define LZO_ARCH_Z80 1
# define LZO_INFO_ARCH "z80"
#elif (LZO_ARCH_CRAY_PVP)
# if defined(_CRAYSV1)
# define LZO_ARCH_CRAY_SV1 1
# define LZO_INFO_ARCH "cray_sv1"
# elif (_ADDR64)
# define LZO_ARCH_CRAY_T90 1
# define LZO_INFO_ARCH "cray_t90"
# elif (_ADDR32)
# define LZO_ARCH_CRAY_YMP 1
# define LZO_INFO_ARCH "cray_ymp"
# else
# define LZO_ARCH_CRAY_XMP 1
# define LZO_INFO_ARCH "cray_xmp"
# endif
#else
# define LZO_ARCH_UNKNOWN 1
# define LZO_INFO_ARCH "unknown"
@@ -725,7 +846,7 @@
# endif
#endif
#if !defined(__LZO_MM_OVERRIDE)
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#if (LZO_ARCH_I086)
#if (UINT_MAX != LZO_0xffffL)
# error "this should not happen"
#endif
@@ -756,6 +877,7 @@
#else
# error "unknown memory model"
#endif
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
#define LZO_HAVE_MM_HUGE_PTR 1
#define LZO_HAVE_MM_HUGE_ARRAY 1
#if (LZO_MM_TINY)
@@ -808,6 +930,7 @@ extern "C" {
#ifdef __cplusplus
}
#endif
#endif
#elif (LZO_ARCH_C166)
#if !defined(__MODEL__)
# error "FIXME - C166 __MODEL__"
@@ -858,23 +981,27 @@ extern "C" {
#else
# error "FIXME - MCS51 __MODEL__"
#endif
#elif (LZO_ARCH_CRAY_PVP)
# define LZO_MM_PVP 1
#else
# define LZO_MM_FLAT 1
#endif
#if (LZO_MM_FLAT)
# define LZO_INFO_MM "flat"
#elif (LZO_MM_TINY)
# define LZO_INFO_MM "tiny"
#elif (LZO_MM_SMALL)
# define LZO_INFO_MM "small"
#elif (LZO_MM_MEDIUM)
# define LZO_INFO_MM "medium"
#elif (LZO_MM_COMPACT)
#if (LZO_MM_COMPACT)
# define LZO_INFO_MM "compact"
#elif (LZO_MM_LARGE)
# define LZO_INFO_MM "large"
#elif (LZO_MM_FLAT)
# define LZO_INFO_MM "flat"
#elif (LZO_MM_HUGE)
# define LZO_INFO_MM "huge"
#elif (LZO_MM_LARGE)
# define LZO_INFO_MM "large"
#elif (LZO_MM_MEDIUM)
# define LZO_INFO_MM "medium"
#elif (LZO_MM_PVP)
# define LZO_INFO_MM "pvp"
#elif (LZO_MM_SMALL)
# define LZO_INFO_MM "small"
#elif (LZO_MM_TINY)
# define LZO_INFO_MM "tiny"
#else
# error "unknown memory model"
#endif
@@ -911,7 +1038,9 @@ extern "C" {
#endif
#define __LZO_LSR(x,b) (((x)+0ul) >> (b))
#if !defined(LZO_SIZEOF_SHORT)
# if (USHRT_MAX == LZO_0xffffL)
# if (LZO_ARCH_CRAY_PVP)
# define LZO_SIZEOF_SHORT 8
# elif (USHRT_MAX == LZO_0xffffL)
# define LZO_SIZEOF_SHORT 2
# elif (__LZO_LSR(USHRT_MAX,7) == 1)
# define LZO_SIZEOF_SHORT 1
@@ -928,7 +1057,9 @@ extern "C" {
# endif
#endif
#if !defined(LZO_SIZEOF_INT)
# if (UINT_MAX == LZO_0xffffL)
# if (LZO_ARCH_CRAY_PVP)
# define LZO_SIZEOF_INT 8
# elif (UINT_MAX == LZO_0xffffL)
# define LZO_SIZEOF_INT 2
# elif (UINT_MAX == LZO_0xffffffffL)
# define LZO_SIZEOF_INT 4
@@ -969,6 +1100,8 @@ extern "C" {
# if (LZO_CC_GNUC >= 0x030300ul)
# if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
# define LZO_SIZEOF_LONG_LONG LZO_SIZEOF_LONG
# elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
# define LZO_SIZEOF_LONG_LONG 4
# endif
# endif
# endif
@@ -981,9 +1114,9 @@ extern "C" {
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define LZO_SIZEOF_LONG_LONG 8
#elif ((LZO_OS_WIN32 || LZO_OS_WIN64) && LZO_CC_MSC && (_MSC_VER >= 1400))
#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_OS_WIN64)
#elif (LZO_OS_WIN64 || defined(_WIN64))
# define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
# define LZO_SIZEOF_LONG_LONG 8
@@ -991,11 +1124,11 @@ extern "C" {
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI))
#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
# define LZO_SIZEOF_LONG_LONG 8
#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
# define LZO_SIZEOF___INT64 8
#elif (LZO_OS_WIN32 && (LZO_CC_MSC))
#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
# define LZO_SIZEOF___INT64 8
#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
# define LZO_SIZEOF___INT64 8
@@ -1003,7 +1136,7 @@ extern "C" {
# define LZO_SIZEOF___INT64 8
#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
# define LZO_SIZEOF___INT64 8
#elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
# define LZO_SIZEOF_LONG_LONG 8
#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
# define LZO_SIZEOF_LONG_LONG 8
@@ -1064,11 +1197,11 @@ extern "C" {
#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
# define __LZO_WORDSIZE 8
# define LZO_SIZEOF_VOID_P 8
#elif (LZO_OS_OS400) && defined(__LLP64_IFC__)
#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
#elif (LZO_OS_OS400)
#elif (LZO_OS_OS400 || defined(__OS400__))
# define __LZO_WORDSIZE LZO_SIZEOF_LONG
# define LZO_SIZEOF_VOID_P 16
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
@@ -1077,6 +1210,11 @@ extern "C" {
# define LZO_SIZEOF_VOID_P 8
# define LZO_SIZEOF_SIZE_T LZO_SIZEOF_LONG
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_LONG
#elif (LZO_ARCH_SPU)
# if 0
# define __LZO_WORDSIZE 16
# endif
# define LZO_SIZEOF_VOID_P 4
#else
# define LZO_SIZEOF_VOID_P LZO_SIZEOF_LONG
#endif
@@ -1112,15 +1250,30 @@ extern "C" {
# define LZO_SIZEOF_PTRDIFF_T LZO_SIZEOF_SIZE_T
#endif
#endif
#if !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN) && !defined(LZO_ABI_NEUTRAL_ENDIAN)
#if (LZO_ARCH_AMD64 || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
#if defined(LZO_ABI_NEUTRAL_ENDIAN)
# undef LZO_ABI_BIG_ENDIAN
# undef LZO_ABI_LITTLE_ENDIAN
#elif !defined(LZO_ABI_BIG_ENDIAN) && !defined(LZO_ABI_LITTLE_ENDIAN)
#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
# define LZO_ABI_BIG_ENDIAN 1
#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif (LZO_ARCH_M68K || LZO_ARCH_S390)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
# if (__LITTLE_ENDIAN__ == 1)
# define LZO_ABI_LITTLE_ENDIAN 1
# else
# define LZO_ABI_BIG_ENDIAN 1
# endif
#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
# define LZO_ABI_LITTLE_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
# define LZO_ABI_BIG_ENDIAN 1
#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
@@ -1189,25 +1342,66 @@ extern "C" {
#elif (LZO_CC_MWERKS) && defined(__MSL__)
# define LZO_LIBC_MSL __MSL__
# define LZO_INFO_LIBC "msl"
#elif 1 && defined(__IAR_SYSTEMS_ICC__)
# define LZO_LIBC_ISOC90 1
# define LZO_INFO_LIBC "isoc90"
#else
# define LZO_LIBC_DEFAULT 1
# define LZO_INFO_LIBC "default"
#endif
#endif
#if !defined(__lzo_gnuc_extension__)
#if (LZO_CC_GNUC >= 0x020800ul)
# define __lzo_gnuc_extension__ __extension__
# define __lzo_gnuc_extension__ __extension__
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_gnuc_extension__ __extension__
# define __lzo_gnuc_extension__ __extension__
#else
# define __lzo_gnuc_extension__
#endif
#if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
# define lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define lzo_alignof(e) __alignof(e)
#endif
#if !defined(__lzo_ua_volatile)
# define __lzo_ua_volatile volatile
#endif
#if !defined(__lzo_alignof)
#if (LZO_CC_CILLY || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
# define __lzo_alignof(e) __alignof__(e)
#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
# define __lzo_alignof(e) __alignof(e)
#endif
#endif
#if defined(__lzo_alignof)
# define __lzo_HAVE_alignof 1
#endif
#if !defined(__lzo_constructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_constructor __attribute__((__constructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_constructor __attribute__((__constructor__))
#endif
#endif
#if defined(__lzo_constructor)
# define __lzo_HAVE_constructor 1
#endif
#if !defined(__lzo_destructor)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_destructor __attribute__((__destructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_destructor __attribute__((__destructor__))
#endif
#endif
#if defined(__lzo_destructor)
# define __lzo_HAVE_destructor 1
#endif
#if defined(__lzo_HAVE_destructor) && !defined(__lzo_HAVE_constructor)
# error "this should not happen"
#endif
#if !defined(__lzo_inline)
#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
#elif defined(__cplusplus)
# define __lzo_inline inline
@@ -1226,22 +1420,38 @@ extern "C" {
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
# define __lzo_inline inline
#endif
#endif
#if defined(__lzo_inline)
# define __lzo_HAVE_inline 1
#else
# define __lzo_inline
#endif
#if !defined(__lzo_forceinline)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
# define __lzo_forceinline __forceinline
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_forceinline __inline__ __attribute__((__always_inline__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_forceinline __forceinline
#endif
#if (LZO_CC_GNUC >= 0x030200ul)
#endif
#if defined(__lzo_forceinline)
# define __lzo_HAVE_forceinline 1
#else
# define __lzo_forceinline
#endif
#if !defined(__lzo_noinline)
#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
# define __lzo_noinline __attribute__((__noinline__,__used__))
#elif (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_WIN32 || LZO_OS_WIN64))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
# define __lzo_noinline __declspec(noinline)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_noinline __attribute__((__noinline__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noinline __attribute__((__noinline__))
@@ -1253,37 +1463,68 @@ extern "C" {
# define __lzo_noinline __declspec(noinline)
# endif
#endif
#if (defined(__lzo_forceinline) || defined(__lzo_noinline)) && !defined(__lzo_inline)
#endif
#if defined(__lzo_noinline)
# define __lzo_HAVE_noinline 1
#else
# define __lzo_noinline
#endif
#if (defined(__lzo_HAVE_forceinline) || defined(__lzo_HAVE_noinline)) && !defined(__lzo_HAVE_inline)
# error "this should not happen"
#endif
#if !defined(__lzo_noreturn)
#if (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && (LZO_OS_WIN32 || LZO_OS_WIN64))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
# define __lzo_noreturn __declspec(noreturn)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && (LZO_OS_POSIX))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_noreturn __attribute__((__noreturn__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
# define __lzo_noreturn __declspec(noreturn)
#endif
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_constructor __attribute__((__constructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_constructor __attribute__((__constructor__))
#endif
#if defined(__lzo_noreturn)
# define __lzo_HAVE_noreturn 1
#else
# define __lzo_noreturn
#endif
#if !defined(__lzo_nothrow)
#if (LZO_CC_GNUC >= 0x030300ul)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_constructor __attribute__((__constructor__))
# define __lzo_nothrow __attribute__((__nothrow__))
#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
# define __lzo_nothrow __declspec(nothrow)
#endif
#endif
#if defined(__lzo_nothrow)
# define __lzo_HAVE_nothrow 1
#else
# define __lzo_nothrow
#endif
#if !defined(__lzo_restrict)
#if (LZO_CC_GNUC >= 0x030400ul)
# define __lzo_destructor __attribute__((__destructor__,__used__))
#elif (LZO_CC_GNUC >= 0x020700ul)
# define __lzo_destructor __attribute__((__destructor__))
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_destructor __attribute__((__destructor__))
# define __lzo_restrict __restrict__
#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
# define __lzo_restrict __restrict__
#elif (LZO_CC_LLVM)
# define __lzo_restrict __restrict__
#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
# define __lzo_restrict __restrict
#endif
#if defined(__lzo_destructor) && !defined(__lzo_constructor)
# error "this should not happen"
#endif
#if defined(__lzo_restrict)
# define __lzo_HAVE_restrict 1
#else
# define __lzo_restrict
#endif
#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
#if (LZO_CC_GNUC >= 0x030200ul)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
@@ -1293,8 +1534,16 @@ extern "C" {
#elif (LZO_CC_LLVM || LZO_CC_PATHSCALE)
# define __lzo_likely(e) (__builtin_expect(!!(e),1))
# define __lzo_unlikely(e) (__builtin_expect(!!(e),0))
#endif
#endif
#if defined(__lzo_likely)
# define __lzo_HAVE_likely 1
#else
# define __lzo_likely(e) (e)
#endif
#if defined(__lzo_unlikely)
# define __lzo_HAVE_unlikely 1
#else
# define __lzo_unlikely(e) (e)
#endif
#if !defined(LZO_UNUSED)
@@ -1342,6 +1591,15 @@ extern "C" {
# define LZO_UNUSED_LABEL(l) switch(0) case 1:goto l
# endif
#endif
#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
# if 0
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var
# elif 0 && (LZO_CC_GNUC)
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = var
# else
# define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init) type var = init
# endif
#endif
#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
# if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
# define LZO_COMPILE_TIME_ASSERT_HEADER(e) extern int __lzo_cta[1-!(e)];
@@ -1405,6 +1663,8 @@ extern "C" {
# else
# define __lzo_cdecl_sighandler __cdecl
# endif
#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
# define __lzo_cdecl __cdecl
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
# define __lzo_cdecl cdecl
#endif
@@ -1426,6 +1686,7 @@ extern "C" {
#if !defined(__lzo_cdecl_va)
# define __lzo_cdecl_va __lzo_cdecl
#endif
#if !defined(LZO_CFG_NO_WINDOWS_H)
#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
# if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
# elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
@@ -1434,6 +1695,7 @@ extern "C" {
# define LZO_HAVE_WINDOWS_H 1
# endif
#endif
#endif
#if (LZO_ARCH_ALPHA)
# define LZO_OPT_AVOID_UINT_INDEX 1
# define LZO_OPT_AVOID_SHORT 1
@@ -1568,7 +1830,7 @@ extern "C" {
#undef LZO_HAVE_CONFIG_H
#include "minilzo.h"
#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2020)
#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2030)
# error "version mismatch in miniLZO source files"
#endif
@@ -1589,9 +1851,18 @@ extern "C" {
#if defined(LZO_CFG_NO_UNALIGNED)
# define ACC_CFG_NO_UNALIGNED 1
#endif
#if defined(LZO_ARCH_GENERIC)
# define ACC_ARCH_GENERIC 1
#endif
#if defined(LZO_ABI_NEUTRAL_ENDIAN)
# define ACC_ABI_NEUTRAL_ENDIAN 1
#endif
#if defined(LZO_HAVE_CONFIG_H)
# define ACC_CONFIG_NO_HEADER 1
#endif
#if defined(LZO_CFG_EXTRA_CONFIG_HEADER)
# include LZO_CFG_EXTRA_CONFIG_HEADER
#endif
#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED)
# error "include this file first"
#endif
@@ -1614,6 +1885,11 @@ extern "C" {
# pragma warning(disable: 4514 4710 4711)
#endif
#if (LZO_CC_SUNPROC)
# pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED)
# pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP)
#endif
#if defined(__LZO_MMODEL_HUGE) && (!LZO_HAVE_MM_HUGE_PTR)
# error "this should not happen - check defines for __huge"
#endif
@@ -1829,6 +2105,10 @@ extern "C" {
#define PTR(a) ((lzo_bytep) (a))
#define PTR_ALIGNED_4(a) ((ACC_PTR_FP_OFF(a) & 3) == 0)
#define PTR_ALIGNED2_4(a,b) (((ACC_PTR_FP_OFF(a) | ACC_PTR_FP_OFF(b)) & 3) == 0)
#elif (LZO_MM_PVP)
#define PTR(a) ((lzo_bytep) (a))
#define PTR_ALIGNED_8(a) ((((lzo_uintptr_t)(a)) >> 61) == 0)
#define PTR_ALIGNED2_8(a,b) ((((lzo_uintptr_t)(a)|(lzo_uintptr_t)(b)) >> 61) == 0)
#else
#define PTR(a) ((lzo_uintptr_t) (a))
#define PTR_LINEAR(a) PTR(a)
@@ -1907,6 +2187,9 @@ __lzo_ptr_linear(const lzo_voidp ptr)
#if (LZO_ARCH_I086)
p = (((lzo_uintptr_t)(ACC_PTR_FP_SEG(ptr))) << (16 - ACC_MM_AHSHIFT)) + (ACC_PTR_FP_OFF(ptr));
#elif (LZO_MM_PVP)
p = (lzo_uintptr_t) (ptr);
p = (p << 3) | (p >> 61);
#else
p = (lzo_uintptr_t) PTR_LINEAR(ptr);
#endif
@@ -1928,14 +2211,14 @@ __lzo_align_gap(const lzo_voidp ptr, lzo_uint size)
assert(size > 0);
assert((long)n >= 0);
assert(n <= s);
assert(n <= size);
return (unsigned)n;
}
#endif
/* If you use the LZO library in a product, you *must* keep this
* copyright string in the executable of your product.
/* If you use the LZO library in a product, I would appreciate that you
* keep this copyright string in the executable of your product.
*/
const char __lzo_copyright[] =
@@ -1944,7 +2227,7 @@ const char __lzo_copyright[] =
#else
"\r\n\n"
"LZO data compression library.\n"
"$Copyright: LZO (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Markus Franz Xaver Johannes Oberhumer\n"
"$Copyright: LZO (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Markus Franz Xaver Johannes Oberhumer\n"
"<markus@oberhumer.com>\n"
"http://www.oberhumer.com $\n\n"
"$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n"
@@ -2080,7 +2363,7 @@ LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src
#if (LZO_HAVE_MM_HUGE_PTR) || !defined(HAVE_MEMCPY)
lzo_hbyte_p p1 = (lzo_hbyte_p) dest;
const lzo_hbyte_p p2 = (const lzo_hbyte_p) src;
if (len <= 0 || p1 == p2)
if (!(len > 0) || p1 == p2)
return dest;
do
*p1++ = *p2++;
@@ -2095,7 +2378,7 @@ LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p sr
#if (LZO_HAVE_MM_HUGE_PTR) || !defined(HAVE_MEMMOVE)
lzo_hbyte_p p1 = (lzo_hbyte_p) dest;
const lzo_hbyte_p p2 = (const lzo_hbyte_p) src;
if (len <= 0 || p1 == p2)
if (!(len > 0) || p1 == p2)
return dest;
if (p1 < p2)
{
@@ -2162,6 +2445,7 @@ _lzo_config_check(void)
{
lzo_bool r = 1;
union { unsigned char c[2*sizeof(lzo_xint)]; lzo_xint l[2]; } u;
lzo_uintptr_t p;
#if !defined(LZO_CFG_NO_CONFIG_CHECK)
#if defined(LZO_ABI_BIG_ENDIAN)
@@ -2173,16 +2457,18 @@ _lzo_config_check(void)
r &= (u.l[0] == 128);
#endif
#if defined(LZO_UNALIGNED_OK_2)
p = (lzo_uintptr_t) (const lzo_voidp) &u.c[0];
u.l[0] = u.l[1] = 0;
r &= ((* (const lzo_ushortp) (const lzo_voidp) &u.c[1]) == 0);
r &= ((* (const lzo_ushortp) (p+1)) == 0);
#endif
#if defined(LZO_UNALIGNED_OK_4)
p = (lzo_uintptr_t) (const lzo_voidp) &u.c[0];
u.l[0] = u.l[1] = 0;
r &= ((* (const lzo_uint32p) (const lzo_voidp) &u.c[1]) == 0);
r &= ((* (const lzo_uint32p) (p+1)) == 0);
#endif
#endif
LZO_UNUSED(u);
LZO_UNUSED(u); LZO_UNUSED(p);
return r == 1 ? LZO_E_OK : LZO_E_ERROR;
}
@@ -2552,10 +2838,10 @@ do_compress ( const lzo_bytep in , lzo_uint in_len,
ip += 4;
for (;;)
{
register const lzo_bytep m_pos=0;
lzo_uint m_off=0;
lzo_uint m_len=0;
lzo_uint dindex=0;
register const lzo_bytep m_pos;
lzo_uint m_off;
lzo_uint m_len;
lzo_uint dindex;
DINDEX1(dindex,ip);
GINDEX(m_pos,m_off,dict,dindex,in);

View File

@@ -2,6 +2,9 @@
This file is part of the LZO real-time data compression library.
Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
@@ -15,8 +18,9 @@
All Rights Reserved.
The LZO library is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License,
version 2, as published by the Free Software Foundation.
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
The LZO library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -43,7 +47,7 @@
#ifndef __MINILZO_H
#define __MINILZO_H
#define MINILZO_VERSION 0x2020
#define MINILZO_VERSION 0x2030
#ifdef __LZOCONF_H
# error "you cannot use both LZO and miniLZO"

View File

@@ -107,7 +107,6 @@ static uint8_t *resample_audio_buffer = NULL;
static uint8_t *audio_render_buffer = NULL;
static uint8_t *down_sample_buffer = NULL;
static uint8_t *temp_buffer[4];
static uint8_t *socket_buffer = NULL;
static ycbcr_frame *record_buffer = NULL; // needed for recording invisible streams
static VJFrame *helper_frame = NULL;
static int vj_perform_record_buffer_init();
@@ -638,9 +637,6 @@ int vj_perform_init(veejay_t * info)
if(!temp_buffer[2]) return 0;
veejay_memset( temp_buffer[2], 128,sizeof(uint8_t) * RUP8(frame_len+16) * 2 );
// to render fading of effect chain:
socket_buffer = (uint8_t*)vj_malloc(sizeof(uint8_t) * frame_len * 4 ); // large enough !!
veejay_memset( socket_buffer, 16, frame_len * 4 );
// to render fading of effect chain:
/* allocate space for frame_buffer, the place we render effects in */
for (c = 0; c < SAMPLE_MAX_EFFECTS; c++) {
@@ -819,7 +815,6 @@ void vj_perform_free(veejay_t * info)
}
if(primary_buffer) free(primary_buffer);
if(socket_buffer) free(socket_buffer);
if(crop_frame)
{
if(crop_frame->data[0]) free(crop_frame->data[0]);
@@ -1092,6 +1087,9 @@ int vj_perform_send_primary_frame_s2(veejay_t *info, int mcast, int to_link_id)
int hlen =0;
unsigned char info_line[32];
uint8_t *socket_buffer = (uint8_t*) vj_malloc(sizeof(uint8_t) * info->effect_frame1->width *
info->effect_frame1->height * 3 );
int compr_len = 0;
if( !mcast )
{
@@ -1145,6 +1143,10 @@ int vj_perform_send_primary_frame_s2(veejay_t *info, int mcast, int to_link_id)
veejay_msg(VEEJAY_MSG_DEBUG, "Error sending multicast frame.");
}
}
free(socket_buffer);
return 1;
}