annotate minilzo.h @ 5507:d0d029fda134

video filter layer - written from scratch, but inspired a lot by Fredrik Kuivinen's patch
author arpi
date Sat, 06 Apr 2002 22:05:01 +0000
parents b081763865d4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3803
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
1 /* minilzo.h -- mini subset of the LZO real-time data compression library
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
2
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
3 This file is part of the LZO real-time data compression library.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
4
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
5 Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
6 Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
7 Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
8 Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
9 Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
10
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
11 The LZO library is free software; you can redistribute it and/or
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
12 modify it under the terms of the GNU General Public License as
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
13 published by the Free Software Foundation; either version 2 of
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
14 the License, or (at your option) any later version.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
15
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
16 The LZO library is distributed in the hope that it will be useful,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
19 GNU General Public License for more details.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
20
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
21 You should have received a copy of the GNU General Public License
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
22 along with the LZO library; see the file COPYING.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
23 If not, write to the Free Software Foundation, Inc.,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
24 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
25
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
26 Markus F.X.J. Oberhumer
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
27 <markus.oberhumer@jk.uni-linz.ac.at>
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
28 http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
29 */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
30
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
31 /*
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
32 * NOTE:
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
33 * the full LZO package can be found at
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
34 * http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
35 */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
36
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
37
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
38 #ifndef __MINILZO_H
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
39 #define __MINILZO_H
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
40
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
41 #define MINILZO_VERSION 0x1070
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
42
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
43 #ifdef __LZOCONF_H
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
44 # error "you cannot use both LZO and miniLZO"
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
45 #endif
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
46
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
47 #undef LZO_HAVE_CONFIG_H
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
48 #include "lzoconf.h"
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
49
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
50 #if !defined(LZO_VERSION) || (LZO_VERSION != MINILZO_VERSION)
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
51 # error "version mismatch in header files"
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
52 #endif
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
53
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
54
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
55 #ifdef __cplusplus
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
56 extern "C" {
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
57 #endif
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
58
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
59
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
60 /***********************************************************************
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
61 //
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
62 ************************************************************************/
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
63
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
64 /* Memory required for the wrkmem parameter.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
65 * When the required size is 0, you can also pass a NULL pointer.
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
66 */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
67
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
68 #define LZO1X_MEM_COMPRESS LZO1X_1_MEM_COMPRESS
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
69 #define LZO1X_1_MEM_COMPRESS ((lzo_uint32) (16384L * lzo_sizeof_dict_t))
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
70 #define LZO1X_MEM_DECOMPRESS (0)
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
71
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
72
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
73 /* compression */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
74 LZO_EXTERN(int)
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
75 lzo1x_1_compress ( const lzo_byte *src, lzo_uint src_len,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
76 lzo_byte *dst, lzo_uint *dst_len,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
77 lzo_voidp wrkmem );
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
78
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
79 /* decompression */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
80 LZO_EXTERN(int)
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
81 lzo1x_decompress ( const lzo_byte *src, lzo_uint src_len,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
82 lzo_byte *dst, lzo_uint *dst_len,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
83 lzo_voidp wrkmem /* NOT USED */ );
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
84
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
85 /* safe decompression with overrun testing */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
86 LZO_EXTERN(int)
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
87 lzo1x_decompress_safe ( const lzo_byte *src, lzo_uint src_len,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
88 lzo_byte *dst, lzo_uint *dst_len,
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
89 lzo_voidp wrkmem /* NOT USED */ );
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
90
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
91
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
92 #ifdef __cplusplus
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
93 } /* extern "C" */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
94 #endif
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
95
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
96 #endif /* already included */
b081763865d4 used by NuppelVideo
alex
parents:
diff changeset
97