annotate minilzo.h @ 4564:5e1221d4655e

completely reworked FILM demuxer to support both audio and video...neither of which work yet (CVID video and uncompressed audio)...but the demuxer is working well now
author melanson
date Thu, 07 Feb 2002 05:55:29 +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