diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/upscaler/.gitignore | 1 | ||||
-rw-r--r-- | test/upscaler/img.png | bin | 0 -> 2481 bytes | |||
-rwxr-xr-x | test/upscaler/img2coe.py | 28 | ||||
-rw-r--r-- | test/upscaler/makefile | 4 |
4 files changed, 33 insertions, 0 deletions
diff --git a/test/upscaler/.gitignore b/test/upscaler/.gitignore new file mode 100644 index 0000000..5c9a6b6 --- /dev/null +++ b/test/upscaler/.gitignore @@ -0,0 +1 @@ +*.coe diff --git a/test/upscaler/img.png b/test/upscaler/img.png Binary files differnew file mode 100644 index 0000000..946d624 --- /dev/null +++ b/test/upscaler/img.png diff --git a/test/upscaler/img2coe.py b/test/upscaler/img2coe.py new file mode 100755 index 0000000..fb4c442 --- /dev/null +++ b/test/upscaler/img2coe.py @@ -0,0 +1,28 @@ +#!/bin/python3 + +from PIL import Image +import sys + +# return array of 12-bit color values (0bRRRGGGBBB) +def pixeldata(): + image = Image.open(sys.argv[-1]) # use last argument as input image file + pixels = image.load() + pixarr = [] + w,h = image.size + for y in range(h): + for x in range(w): + color = pixels[x, y] + crushed_color = ((color[0] >> 4) << 8 | (color[1] >> 4) << 4 | (color[2] >> 4) << 0) + pixarr.append(crushed_color) + return pixarr + +if __name__ == "__main__": + # get array of 12-bit pixels + pixels = pixeldata() + # coe file header + print("memory_initialization_radix=16;\nmemory_initialization_vector=", end='') + # format pixel value as 12-bit hexadecimal with padding seperated by comma and space + formatted_pixels = ','.join([f"{hex(c)[2:].zfill(3)}" for c in pixels]) + print(f"{formatted_pixels};") + + diff --git a/test/upscaler/makefile b/test/upscaler/makefile new file mode 100644 index 0000000..393eda4 --- /dev/null +++ b/test/upscaler/makefile @@ -0,0 +1,4 @@ +img.coe: img.png + +%.coe: %.png + ./img2coe.py $< > $@ |