code: def encode(input, output_filename):
      
      coder = rs.RSCoder(255,223)
  
      output = []
  
      while True:
          block = input.read(223)
          if not block: break
          code = coder.encode_fast(block)
          output.append(code)
          sys.stderr.write(".")
  
      sys.stderr.write("\n")
  
      out = Image.new("L", (rowstride,len(output)))
      out.putdata("".join(output))
      out.save(output_filename)
docs: Encodes the input data with reed-solomon error correction in 223 byte
      blocks, and outputs each block along with 32 parity bytes to a new file by
      the given filename.
  
      input is a file-like object
  
      The outputted image will be in png format, and will be 255 by x pixels with
      one color channel. X is the number of 255 byte blocks from the input. Each
      block of data will be one row, therefore, the data can be recovered if no
      more than 16 pixels per row are altered.