When reading an interlaced image with a bit depth less than 8, png_progressive_combine_row will use the "sparkle" technique for interlace passes 3 and 5. I would expect it to use the block method for every pass.
This change was introduced in the git revision 4e68aa7 where significant changes were made to png_combine_row.
I'm fairly confident that the attached patch will fix this issue, but I am not deeply familiar with the libpng source.
Log in to post a comment.