Mercurial > libavcodec.hg
annotate lzw.h @ 6218:dfdff1ca78a7 libavcodec
consts
I have underestimated this a little, and these are just some ...
| author | michael |
|---|---|
| date | Fri, 01 Feb 2008 03:26:31 +0000 |
| parents | 1d83e9c34641 |
| children | c4a4495715dd |
| rev | line source |
|---|---|
| 4080 | 1 /* |
| 2 * LZW decoder | |
| 3 * Copyright (c) 2003 Fabrice Bellard. | |
| 4 * Copyright (c) 2006 Konstantin Shishkov. | |
| 5 * | |
| 6 * This file is part of FFmpeg. | |
| 7 * | |
| 8 * FFmpeg is free software; you can redistribute it and/or | |
| 9 * modify it under the terms of the GNU Lesser General Public | |
| 10 * License as published by the Free Software Foundation; either | |
| 11 * version 2.1 of the License, or (at your option) any later version. | |
| 12 * | |
| 13 * FFmpeg is distributed in the hope that it will be useful, | |
| 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| 16 * Lesser General Public License for more details. | |
| 17 * | |
| 18 * You should have received a copy of the GNU Lesser General Public | |
| 19 * License along with FFmpeg; if not, write to the Free Software | |
| 20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |
| 21 */ | |
| 22 | |
| 23 /** | |
| 24 * @file lzw.h | |
| 25 * @brief LZW decoding routines | |
| 26 * @author Fabrice Bellard | |
| 27 * Modified for use in TIFF by Konstantin Shishkov | |
| 28 */ | |
| 29 | |
|
5830
1d83e9c34641
Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents:
4798
diff
changeset
|
30 #ifndef FFMPEG_LZW_H |
|
1d83e9c34641
Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents:
4798
diff
changeset
|
31 #define FFMPEG_LZW_H |
| 4080 | 32 |
|
4798
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
33 #include "bitstream.h" |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
34 |
| 4080 | 35 enum FF_LZW_MODES{ |
| 36 FF_LZW_GIF, | |
| 37 FF_LZW_TIFF | |
| 38 }; | |
| 39 | |
| 40 /* clients should not know what LZWState is */ | |
| 41 typedef void LZWState; | |
| 42 | |
| 43 /* first two functions de/allocate memory for LZWState */ | |
| 44 void ff_lzw_decode_open(LZWState **p); | |
| 45 void ff_lzw_decode_close(LZWState **p); | |
| 6218 | 46 int ff_lzw_decode_init(LZWState *s, int csize, const uint8_t *buf, int buf_size, int mode); |
| 4080 | 47 int ff_lzw_decode(LZWState *s, uint8_t *buf, int len); |
| 6218 | 48 const uint8_t* ff_lzw_cur_ptr(LZWState *lzw); |
| 4080 | 49 void ff_lzw_decode_tail(LZWState *lzw); |
| 50 | |
|
4798
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
51 /** LZW encode state */ |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
52 struct LZWEncodeState; |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
53 extern const int ff_lzw_encode_state_size; |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
54 |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
55 void ff_lzw_encode_init(struct LZWEncodeState * s, uint8_t * outbuf, int outsize, int maxbits); |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
56 int ff_lzw_encode(struct LZWEncodeState * s, const uint8_t * inbuf, int insize); |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
57 int ff_lzw_encode_flush(struct LZWEncodeState * s); |
|
c68b9a261f79
LZW encoder by Bartlomiej Wolowiec b.wolowiec students mimuw edu pl
michael
parents:
4080
diff
changeset
|
58 |
|
5830
1d83e9c34641
Add FFMPEG_ prefix to all multiple inclusion guards.
diego
parents:
4798
diff
changeset
|
59 #endif /* FFMPEG_LZW_H */ |
