FFmpeg
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavcodec
lzw.h
Go to the documentation of this file.
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
25
* @brief LZW decoding routines
26
* @author Fabrice Bellard
27
* @author modified for use in TIFF by Konstantin Shishkov
28
*/
29
30
#ifndef AVCODEC_LZW_H
31
#define AVCODEC_LZW_H
32
33
#include <stdint.h>
34
35
struct
PutBitContext
;
36
37
enum
FF_LZW_MODES
{
38
FF_LZW_GIF
,
39
FF_LZW_TIFF
40
};
41
42
/* clients should not know what LZWState is */
43
typedef
void
LZWState
;
44
45
/* first two functions de/allocate memory for LZWState */
46
void
ff_lzw_decode_open
(
LZWState
**p);
47
void
ff_lzw_decode_close
(
LZWState
**p);
48
int
ff_lzw_decode_init
(
LZWState
*
s
,
int
csize,
const
uint8_t
*
buf
,
int
buf_size,
int
mode
);
49
int
ff_lzw_decode
(
LZWState
*
s
,
uint8_t
*
buf
,
int
len
);
50
void
ff_lzw_decode_tail
(
LZWState
*lzw);
51
52
/** LZW encode state */
53
struct
LZWEncodeState
;
54
extern
const
int
ff_lzw_encode_state_size
;
55
56
void
ff_lzw_encode_init
(
struct
LZWEncodeState
*
s
,
uint8_t
*outbuf,
int
outsize,
57
int
maxbits
,
enum
FF_LZW_MODES
mode
,
58
void
(*lzw_put_bits)(
struct
PutBitContext
*,
int
,
unsigned
int
));
59
int
ff_lzw_encode
(
struct
LZWEncodeState
* s,
const
uint8_t
* inbuf,
int
insize);
60
int
ff_lzw_encode_flush
(
struct
LZWEncodeState
*s,
61
void
(*lzw_flush_put_bits)(
struct
PutBitContext
*));
62
63
#endif
/* AVCODEC_LZW_H */
Generated on Sun Mar 23 2014 23:49:58 for FFmpeg by
1.8.2