aboutsummaryrefslogtreecommitdiff
path: root/test/upscaler
diff options
context:
space:
mode:
Diffstat (limited to 'test/upscaler')
-rw-r--r--test/upscaler/.gitignore1
-rwxr-xr-xtest/upscaler/bitmap-ball.py28
-rw-r--r--test/upscaler/img.pngbin0 -> 2481 bytes
-rw-r--r--test/upscaler/makefile2
4 files changed, 31 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/bitmap-ball.py b/test/upscaler/bitmap-ball.py
new file mode 100755
index 0000000..85474f1
--- /dev/null
+++ b/test/upscaler/bitmap-ball.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 x in range(w):
+ for y in range(h):
+ 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/img.png b/test/upscaler/img.png
new file mode 100644
index 0000000..946d624
--- /dev/null
+++ b/test/upscaler/img.png
Binary files differ
diff --git a/test/upscaler/makefile b/test/upscaler/makefile
new file mode 100644
index 0000000..072d5b2
--- /dev/null
+++ b/test/upscaler/makefile
@@ -0,0 +1,2 @@
+img.coe: img.png
+ ./bitmap-ball.py $< > $@