QR Code Printer example has errors

Few question in this:

  1. This library is not working for larger PNG images? How to achieve for larger image?
  2. For images 128x128, defilter method in PNG.class.nut is always throwing index out of range error.
  3. If commented that piece of code in deodePNG method, the bitmap data is different from the data in raster form for the same image. Is there anything, where the image should come in raster hex codes, so that I would send it directly to my printer for printing in chunks.

As it says in the write-up, this isn’t a fully generic PNG decoder – one reason why it’s not yet available as an Electric Imp library. While the data extraction, decompression and de-filtering sections are broadly generic, the bitmap render code is application-specific: it generates a 256 x 256-pixel bitmap for printing by the thermal printer from the 128 x 128 image returned by Google’s QR code service. It also assumes the PNG is in colour, not monochrome

What line is triggering the error?