Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
ffmpeg
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
ffmpeg
Commits
f32aefcf
Commit
f32aefcf
authored
Jun 03, 2013
by
Luca Barbato
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
faxcompr: K&R formatting cosmetics
parent
9c221697
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
75 additions
and
69 deletions
+75
-69
faxcompr.c
libavcodec/faxcompr.c
+75
-69
No files found.
libavcodec/faxcompr.c
View file @
f32aefcf
...
...
@@ -103,13 +103,13 @@ av_cold void ff_ccitt_unpack_init(void)
int
i
;
static
int
initialized
=
0
;
if
(
initialized
)
if
(
initialized
)
return
;
ccitt_vlc
[
0
].
table
=
code_table1
;
ccitt_vlc
[
0
].
table_allocated
=
528
;
ccitt_vlc
[
1
].
table
=
code_table2
;
ccitt_vlc
[
1
].
table_allocated
=
648
;
for
(
i
=
0
;
i
<
2
;
i
++
)
{
for
(
i
=
0
;
i
<
2
;
i
++
)
{
ff_init_vlc_sparse
(
&
ccitt_vlc
[
i
],
9
,
CCITT_SYMS
,
ccitt_codes_lens
[
i
],
1
,
1
,
ccitt_codes_bits
[
i
],
1
,
1
,
...
...
@@ -124,30 +124,31 @@ av_cold void ff_ccitt_unpack_init(void)
static
int
decode_group3_1d_line
(
AVCodecContext
*
avctx
,
GetBitContext
*
gb
,
unsigned
int
pix_left
,
int
*
runs
,
const
int
*
runend
)
unsigned
int
pix_left
,
int
*
runs
,
const
int
*
runend
)
{
int
mode
=
0
;
unsigned
int
run
=
0
;
int
mode
=
0
;
unsigned
int
run
=
0
;
unsigned
int
t
;
for
(;;)
{
t
=
get_vlc2
(
gb
,
ccitt_vlc
[
mode
].
table
,
9
,
2
);
for
(;;)
{
t
=
get_vlc2
(
gb
,
ccitt_vlc
[
mode
].
table
,
9
,
2
);
run
+=
t
;
if
(
t
<
64
)
{
if
(
t
<
64
)
{
*
runs
++
=
run
;
if
(
runs
>=
runend
)
{
if
(
runs
>=
runend
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run overrun
\n
"
);
return
-
1
;
}
if
(
pix_left
<=
run
)
{
if
(
pix_left
==
run
)
if
(
pix_left
<=
run
)
{
if
(
pix_left
==
run
)
break
;
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run went out of bounds
\n
"
);
return
-
1
;
}
pix_left
-=
run
;
run
=
0
;
mode
=
!
mode
;
}
else
if
((
int
)
t
==
-
1
)
{
run
=
0
;
mode
=
!
mode
;
}
else
if
((
int
)
t
==
-
1
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Incorrect code
\n
"
);
return
-
1
;
}
...
...
@@ -157,78 +158,80 @@ static int decode_group3_1d_line(AVCodecContext *avctx, GetBitContext *gb,
}
static
int
decode_group3_2d_line
(
AVCodecContext
*
avctx
,
GetBitContext
*
gb
,
unsigned
int
width
,
int
*
runs
,
const
int
*
runend
,
const
int
*
ref
)
unsigned
int
width
,
int
*
runs
,
const
int
*
runend
,
const
int
*
ref
)
{
int
mode
=
0
,
saved_run
=
0
,
t
;
int
run_off
=
*
ref
++
;
unsigned
int
offs
=
0
,
run
=
0
;
int
mode
=
0
,
saved_run
=
0
,
t
;
int
run_off
=
*
ref
++
;
unsigned
int
offs
=
0
,
run
=
0
;
runend
--
;
// for the last written 0
while
(
offs
<
width
)
{
while
(
offs
<
width
)
{
int
cmode
=
get_vlc2
(
gb
,
ccitt_group3_2d_vlc
.
table
,
9
,
1
);
if
(
cmode
==
-
1
)
{
if
(
cmode
==
-
1
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Incorrect mode VLC
\n
"
);
return
-
1
;
}
if
(
!
cmode
){
//pass mode
if
(
!
cmode
)
{
//pass mode
run_off
+=
*
ref
++
;
run
=
run_off
-
offs
;
offs
=
run_off
;
run
=
run_off
-
offs
;
offs
=
run_off
;
run_off
+=
*
ref
++
;
if
(
offs
>
width
)
{
if
(
offs
>
width
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run went out of bounds
\n
"
);
return
-
1
;
}
saved_run
+=
run
;
}
else
if
(
cmode
==
1
){
//horizontal mode
}
else
if
(
cmode
==
1
)
{
//horizontal mode
int
k
;
for
(
k
=
0
;
k
<
2
;
k
++
)
{
for
(
k
=
0
;
k
<
2
;
k
++
)
{
run
=
0
;
for
(;;)
{
for
(;;)
{
t
=
get_vlc2
(
gb
,
ccitt_vlc
[
mode
].
table
,
9
,
2
);
if
(
t
==
-
1
)
{
if
(
t
==
-
1
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Incorrect code
\n
"
);
return
-
1
;
}
run
+=
t
;
if
(
t
<
64
)
if
(
t
<
64
)
break
;
}
*
runs
++
=
run
+
saved_run
;
if
(
runs
>=
runend
)
{
if
(
runs
>=
runend
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run overrun
\n
"
);
return
-
1
;
}
saved_run
=
0
;
offs
+=
run
;
if
(
offs
>
width
||
run
>
width
)
{
offs
+=
run
;
if
(
offs
>
width
||
run
>
width
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run went out of bounds
\n
"
);
return
-
1
;
}
mode
=
!
mode
;
}
}
else
if
(
cmode
==
9
||
cmode
==
10
){
av_log
(
avctx
,
AV_LOG_ERROR
,
"Special modes are not supported (yet)
\n
"
);
}
else
if
(
cmode
==
9
||
cmode
==
10
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Special modes are not supported (yet)
\n
"
);
return
-
1
;
}
else
{
//vertical mode
run
=
run_off
-
offs
+
(
cmode
-
5
);
}
else
{
//vertical mode
run
=
run_off
-
offs
+
(
cmode
-
5
);
run_off
-=
*--
ref
;
offs
+=
run
;
if
(
offs
>
width
||
run
>
width
)
{
offs
+=
run
;
if
(
offs
>
width
||
run
>
width
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run went out of bounds
\n
"
);
return
-
1
;
}
*
runs
++
=
run
+
saved_run
;
if
(
runs
>=
runend
)
{
if
(
runs
>=
runend
)
{
av_log
(
avctx
,
AV_LOG_ERROR
,
"Run overrun
\n
"
);
return
-
1
;
}
saved_run
=
0
;
mode
=
!
mode
;
mode
=
!
mode
;
}
//sync line pointers
while
(
run_off
<=
offs
)
{
while
(
run_off
<=
offs
)
{
run_off
+=
*
ref
++
;
run_off
+=
*
ref
++
;
}
...
...
@@ -243,14 +246,14 @@ static void put_line(uint8_t *dst, int size, int width, const int *runs)
PutBitContext
pb
;
int
run
,
mode
=
~
0
,
pix_left
=
width
,
run_idx
=
0
;
init_put_bits
(
&
pb
,
dst
,
size
*
8
);
while
(
pix_left
>
0
)
{
run
=
runs
[
run_idx
++
];
mode
=
~
mode
;
init_put_bits
(
&
pb
,
dst
,
size
*
8
);
while
(
pix_left
>
0
)
{
run
=
runs
[
run_idx
++
];
mode
=
~
mode
;
pix_left
-=
run
;
for
(;
run
>
16
;
run
-=
16
)
for
(;
run
>
16
;
run
-=
16
)
put_sbits
(
&
pb
,
16
,
mode
);
if
(
run
)
if
(
run
)
put_sbits
(
&
pb
,
run
,
mode
);
}
flush_put_bits
(
&
pb
);
...
...
@@ -260,16 +263,15 @@ static int find_group3_syncmarker(GetBitContext *gb, int srcsize)
{
unsigned
int
state
=
-
1
;
srcsize
-=
get_bits_count
(
gb
);
while
(
srcsize
--
>
0
)
{
state
+=
state
+
get_bits1
(
gb
);
if
((
state
&
0xFFF
)
==
1
)
while
(
srcsize
--
>
0
)
{
state
+=
state
+
get_bits1
(
gb
);
if
((
state
&
0xFFF
)
==
1
)
return
0
;
}
return
-
1
;
}
int
ff_ccitt_unpack
(
AVCodecContext
*
avctx
,
const
uint8_t
*
src
,
int
srcsize
,
int
ff_ccitt_unpack
(
AVCodecContext
*
avctx
,
const
uint8_t
*
src
,
int
srcsize
,
uint8_t
*
dst
,
int
height
,
int
stride
,
enum
TiffCompr
compr
,
int
opts
)
{
...
...
@@ -277,43 +279,47 @@ int ff_ccitt_unpack(AVCodecContext *avctx,
GetBitContext
gb
;
int
*
runs
,
*
ref
=
NULL
,
*
runend
;
int
ret
;
int
runsize
=
avctx
->
width
+
2
;
int
err
=
0
;
int
runsize
=
avctx
->
width
+
2
;
int
err
=
0
;
runs
=
av_malloc
(
runsize
*
sizeof
(
runs
[
0
]));
ref
=
av_malloc
(
runsize
*
sizeof
(
ref
[
0
]));
if
(
!
runs
||
!
ref
)
{
if
(
!
runs
||
!
ref
)
{
err
=
AVERROR
(
ENOMEM
);
goto
fail
;
}
ref
[
0
]
=
avctx
->
width
;
ref
[
1
]
=
0
;
ref
[
2
]
=
0
;
init_get_bits
(
&
gb
,
src
,
srcsize
*
8
);
for
(
j
=
0
;
j
<
height
;
j
++
)
{
init_get_bits
(
&
gb
,
src
,
srcsize
*
8
);
for
(
j
=
0
;
j
<
height
;
j
++
)
{
runend
=
runs
+
runsize
;
if
(
compr
==
TIFF_G4
){
ret
=
decode_group3_2d_line
(
avctx
,
&
gb
,
avctx
->
width
,
runs
,
runend
,
ref
);
if
(
ret
<
0
){
if
(
compr
==
TIFF_G4
)
{
ret
=
decode_group3_2d_line
(
avctx
,
&
gb
,
avctx
->
width
,
runs
,
runend
,
ref
);
if
(
ret
<
0
)
{
err
=
-
1
;
goto
fail
;
}
}
else
{
}
else
{
int
g3d1
=
(
compr
==
TIFF_G3
)
&&
!
(
opts
&
1
);
if
(
compr
!=
TIFF_CCITT_RLE
&&
find_group3_syncmarker
(
&
gb
,
srcsize
*
8
)
<
0
)
if
(
compr
!=
TIFF_CCITT_RLE
&&
find_group3_syncmarker
(
&
gb
,
srcsize
*
8
)
<
0
)
break
;
if
(
compr
==
TIFF_CCITT_RLE
||
g3d1
||
get_bits1
(
&
gb
))
ret
=
decode_group3_1d_line
(
avctx
,
&
gb
,
avctx
->
width
,
runs
,
runend
);
if
(
compr
==
TIFF_CCITT_RLE
||
g3d1
||
get_bits1
(
&
gb
))
ret
=
decode_group3_1d_line
(
avctx
,
&
gb
,
avctx
->
width
,
runs
,
runend
);
else
ret
=
decode_group3_2d_line
(
avctx
,
&
gb
,
avctx
->
width
,
runs
,
runend
,
ref
);
if
(
compr
==
TIFF_CCITT_RLE
)
ret
=
decode_group3_2d_line
(
avctx
,
&
gb
,
avctx
->
width
,
runs
,
runend
,
ref
);
if
(
compr
==
TIFF_CCITT_RLE
)
align_get_bits
(
&
gb
);
}
if
(
ret
<
0
)
{
if
(
ret
<
0
)
{
put_line
(
dst
,
stride
,
avctx
->
width
,
ref
);
}
else
{
}
else
{
put_line
(
dst
,
stride
,
avctx
->
width
,
runs
);
FFSWAP
(
int
*
,
runs
,
ref
);
FFSWAP
(
int
*
,
runs
,
ref
);
}
dst
+=
stride
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment