# 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.