Stephen Seo
788ce5e490
Turns out output to video suffers from loss of quality problems when in color (not grayscale). It may be better in some cases to just output each frame as a png and combining them later with ffmpeg like how it is mentioned here: https://trac.ffmpeg.org/wiki/Slideshow . Grayscale video is noticably better, but both cases result in large video sizes, so care may be needed if free disk-space is sparse. |
||
---|---|---|
doxygen | ||
res | ||
src | ||
.gitignore | ||
.lvimrc | ||
CMakeLists.txt | ||
Doxyfile | ||
LICENSE | ||
README.md |
Dithering with OpenCL
Background
The proposal mentioned dithering live-input frames, but I ended up with just dithering single images or turning a video into dithered images.
The "develop" branch may have more up to date code.
Usage
A "blue-noise" image is integral to dithering images. A generated blue-noise image is provided in the "res/" directory. Run the program with "--help" to get info on how to use it.
PNG, PGM, and PPM image formats are supported.
For decoding video, any format that ffmpeg can read should work (though if things don't work, try using MP4 files).
WARNING: Video decoding is still a WIP. The video is currently decoded, but an output video being encoded hasn't been implemented yet. The current implementation writes each video frame to a PNG image in the current directory.
Other Notes
I plan on adding the MIT License to this project once the course (that this
project was made for) is over.
I went ahead and applied the MIT License earlier than noted here.
Legal Stuff
This program uses FFmpeg which is licensed under the LGPL 2.1 license