diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..4eca2e5 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# PNG to QOI conversion utility + +A simple utility which recursively converts PNG images to the [QOI](https://qoiformat.org/) image format. I used this project to learn about writing multi-threaded non-blocking io code in the [Odin](https://odin-lang.org/) programming language. + +## Features + +* Converts PNG data to match QOI data layout automatically. +* Very fast multi-threaded IO (250mb of 16bit PNG data converts in less than 2s on my 2015 Dell XPS 15). + +## Usage + +Run the executable and it will find every .png file in its own directory plus sub-directories and save a .qoi copy. + +Alternatively you can pass a specific directory as input either by the command line or by clicking and dragging a directory onto the executable itself and it will only convert the .png files within that directory/subdirectories. + +## Building +Requires an odin compiler and core packages. + +To build, simply run: +```sh +odin build . +``` + +Or for a highly optimised build that executes orders of magnitude faster you could run this: +```sh +odin build . -o:aggressive -linker:lld -lto:thin-files -microarch:native -out:png_to_qoi_util.exe +``` + +## Notes +* I didn't bother adding a replace file argument or support for other image formats, it just does exactly what I need for now. +* Clicking and dragging a directory onto the executable works on windows but might not work on other platforms/file managers. +* GPLv3 Licensed. |
