365 of 366
Processing + JPGs
Cycling through values of bytes 0x37, 0x7E and 0x011D using sinusoidal functions.
365 of 366
Processing + JPGs
Cycling through values of bytes 0x37, 0x7E and 0x011D using sinusoidal functions.
364 of 366
Processing + JPGs
Randomly varying byte 0x37 and byte 0xCD. Animating the usable frames.
363 of 366
Processing + JPGs
Combining manipulations on bytes 0x37 and 0x011D
362 of 366
Processing + JPGs
Cycling through values of byte 0xC7 gave the frames of the animation above, as well as loads of files that Processing refused to load.
361 of 366
Processing + JPGs
Byte number 55 or 0x37 of a 640x480 JPG encoded at the highest quality using GIMP was sequentially stepped through all possible values. This is a snip of 25 of those values.
Thanks to Ted Davis for insight into the technique of tinkering with JPG Huffman encoding tables. This manipulation is performed on the first byte in the luminance tables.
360 of 366
Processing + JPGs
After meeting Ted Davis (FFD8) and attending his panel with Paul Hertz at Gli.tc/h in Chicago earlier this month, I decided that I should get over my personal aversion to programming.
Using Processing, I’ve written a primitive (and probably poorly structured) program that will enable me to go through a file byte by byte and sequentially change the value of a particular byte.
The GIF above started as a JPG. By stepping byte number 0xC4 (or the 196th byte in the file) through values 128 through 220, the alignment of the image raster was thrown askew.
Writing a program to proceduralize the restructuring of data doesn’t seem antithetical to the glitch ethos. Though, somehow there’s a line that is crossed once that code becomes packaged and sold, used only for a particular effect, rather than extended further. At that point, the process seems little different from the ritualized produce/consume (prosume) paradigm established by large “productivity” software firms. For me, anyways, glitch has been about skirting the usual channels of productivity. Creating your own tools is part of that.
096 of 366
One Character Databend Studies
256x256 pixel cropped images produced by changing only one hex character in a white JPG file. Oftentimes the change amounts to the flipping of a single bit, as in 00 to 01.
093 of 366
File Format Studies (JPG - word replacement)
Whole blocks of 4 8bit words were replaced throughout a 4000x3000px white JPG. For example, replace all A0 02 8A 28 with FA DE DE AD.
088 of 366
Macroblock Study 6
Color study using 8x8 macroblock artifacts induced after databending Post number 38 by replacing all “a” characters with “>” and then opening it in GIMP.
087 of 366
Macroblock Study 6
Color and pattern study using 8x8 macroblock artifacts induced after databending Post number 38 by replacing all “a” characters with “>” and then opening it in GIMP.
086 of 366
Macroblock Study 6
Interesting things (is that a TIE fighter?) found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.
085 of 366
Macroblock Study 6
Interesting things (faces?) found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.
What would be great is to find the code/equations used to represent these in the JPEG format.
084 of 366
Macroblock Study 6
Interesting things found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.
083 of 366
Macroblock Study 6
Interesting things found after databending Post number 38, replacing all “a” characters with “>” and then opening it in GIMP.
081 of 366
Macroblock Study 2 (8x8 pixel selections)
A study of macroblock artifacts induced by selectively replacing characters in JPEG files.
The source image for these artifacts started as a 1200x1200px white JPG. After 10 steps of replacing characters, various micro compositions are selected, highlighting macroblock artifacts.