Assignments
Assignments
Toggle main menu visibility
Main Page
Namespaces
Namespace List
Namespace Members
All
_
b
c
d
e
f
g
i
j
k
m
n
o
p
q
r
s
t
u
w
Functions
_
b
c
d
e
f
g
j
m
n
o
r
s
t
u
w
Variables
Typedefs
Enumerator
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Typedefs
Enumerations
Enumerator
Related Symbols
o
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
y
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
w
y
Variables
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
Typedefs
_
b
c
d
e
f
g
h
i
j
l
m
p
r
s
u
v
w
Enumerations
Enumerator
h
j
m
o
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
jchuff.h
Go to the documentation of this file.
1
/*
2
* jchuff.h
3
*
4
* Copyright (C) 1991-1997, Thomas G. Lane.
5
* This file is part of the Independent JPEG Group's software.
6
* For conditions of distribution and use, see the accompanying README file.
7
*
8
* This file contains declarations for Huffman entropy encoding routines
9
* that are shared between the sequential encoder (jchuff.c) and the
10
* progressive encoder (jcphuff.c). No other modules need to see these.
11
*/
12
13
/* The legal range of a DCT coefficient is
14
* -1024 .. +1023 for 8-bit data;
15
* -16384 .. +16383 for 12-bit data.
16
* Hence the magnitude should always fit in 10 or 14 bits respectively.
17
*/
18
19
#if BITS_IN_JSAMPLE == 8
20
#define MAX_COEF_BITS 10
21
#else
22
#define MAX_COEF_BITS 14
23
#endif
24
25
/* Derived data constructed for each Huffman table */
26
27
typedef
struct
{
28
unsigned
int
ehufco[256];
/* code for each symbol */
29
char
ehufsi[256];
/* length of code for each symbol */
30
/* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */
31
}
c_derived_tbl
;
27
typedef
struct
{
…
};
32
33
/* Short forms of external names for systems with brain-damaged linkers. */
34
35
#ifdef NEED_SHORT_EXTERNAL_NAMES
36
#define jpeg_make_c_derived_tbl jMkCDerived
37
#define jpeg_gen_optimal_table jGenOptTbl
38
#endif
/* NEED_SHORT_EXTERNAL_NAMES */
39
40
/* Expand a Huffman table definition into the derived format */
41
EXTERN
(
void
)
jpeg_make_c_derived_tbl
42
JPP
((
j_compress_ptr
cinfo,
boolean
isDC
,
int
tblno
,
43
c_derived_tbl
**
pdtbl
));
44
45
/* Generate an optimal table definition given the specified counts */
46
EXTERN
(
void
) jpeg_gen_optimal_table
47
JPP
((
j_compress_ptr
cinfo,
JHUFF_TBL
*
htbl
,
long
freq
[]));
jpeg_make_c_derived_tbl
jpeg_make_c_derived_tbl(j_compress_ptr cinfo, boolean isDC, int tblno, c_derived_tbl **pdtbl)
Definition
jchuff.cpp:179
EXTERN
EXTERN(void) jpeg_make_c_derived_tbl JPP((j_compress_ptr cinfo
pdtbl
boolean int c_derived_tbl ** pdtbl
Definition
jchuff.h:43
isDC
boolean isDC
Definition
jchuff.h:42
freq
JHUFF_TBL long freq[]
Definition
jchuff.h:47
tblno
boolean int tblno
Definition
jchuff.h:42
htbl
JHUFF_TBL * htbl
Definition
jchuff.h:47
JPP
#define JPP(arglist)
Definition
jpeglib.h:818
JHUFF_TBL
Definition
jpeglib.h:100
c_derived_tbl
Definition
jchuff.h:27
jpeg_compress_struct
Definition
jpeglib.h:268
Assignments
JPEG
jchuff.h
Generated by
1.11.0