reverse-interlace-adam7 ( byte-array loading-png -- byte-array )


Vocabulary
images.png

Inputs
byte-arrayan object
loading-pngan object


Outputs
byte-arrayan object


Definition


:: 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 ;