code: function intToRGBA(i) {
    const rgba = {};
  
    rgba.r = Math.floor(i / Math.pow(256, 3));
    rgba.g = Math.floor((i - rgba.r * Math.pow(256, 3)) / Math.pow(256, 2));
    rgba.b = Math.floor(
      (i - rgba.r * Math.pow(256, 3) - rgba.g * Math.pow(256, 2)) /
        Math.pow(256, 1)
    );
    rgba.a = Math.floor(
      (i -
        rgba.r * Math.pow(256, 3) -
        rgba.g * Math.pow(256, 2) -
        rgba.b * Math.pow(256, 1)) /
        Math.pow(256, 0)
    );
  
    return rgba;
  }
docs: DCT function stolen from http://stackoverflow.com/questions/4240490/problems-with-dct-and-idct-algorithm-in-java