Handbook
Glossary
reverse-interlace-adam7 ( byte-array loading-png -- byte-array )
Vocabulary
images
.
png
Inputs
byte-array
an
object
loading-png
an
object
Outputs
byte-array
an
object
Definition
USING:
accessors
arrays
grouping
io.encodings.binary
io.streams.byte-array
kernel
math
sequences
;
IN:
images.png
::
reverse-interlace-adam7
( byte-array loading-png -- byte-array )
byte-array
binary
<byte-reader>
:>
ba loading-png
height>>
:>
height loading-png
width>>
:>
width loading-png
bit-depth>>
:>
bit-depth loading-png
png-components-per-pixel
:>
#bytes! width height
*
f
<array>
width
<groups>
:>
image bit-depth 16
=
[
#bytes 2
*
#bytes!
]
when
0
:>
row! 0
:>
col! 0
:>
pass!
[
pass 7
<
]
[
ba loading-png pass
read-adam7-subimage
#bytes
<groups>
pass
starting-row
nth
row! pass
starting-col
nth
col!
[
[
row col
f
f
]
dip
image
visit
col pass
col-increment
nth
+
col! col width
>=
[
pass
starting-col
nth
col! row pass
row-increment
nth
+
row!
]
when
]
each
pass 1
+
pass!
]
while
image
concat
B{
}
concat-as
;