Commit graph

41 commits

Author SHA1 Message Date
7a1e250ea3 Minor fix to Help/Usage text 2021-12-10 16:08:47 +09:00
0c3fc03da7 Remove unnecessary include 2021-12-07 16:49:09 +09:00
ab6bd428c4 Impl better handling of input video fps 2021-12-06 17:02:09 +09:00
cac72a0cdf Fix memory leak with AVPacket, OpenCL logs 2021-12-06 15:51:49 +09:00
efe6b4ff18 Fix potential memory leak (free AVFrame instance) 2021-12-06 15:24:02 +09:00
926269198e Fix --video-pngs where last frame may not be used 2021-12-06 15:20:06 +09:00
db2d75de06 More tweaking of encoding params for video
Also tweaked the notes/docs about resulting encoded video output.
2021-12-05 20:16:55 +09:00
ddeac3201c Tweak encoding params for better quality video 2021-12-05 19:54:13 +09:00
a4d7156e10 Fix Image::ColorToGray()
Previous implementation had images brighter than usual. The algorithm
used was probably not necessary as it was for converting from
linear-space to a different one.
2021-12-04 11:40:24 +09:00
750e0d07bb Minor efficiency fix/refactoring 2021-12-04 09:59:18 +09:00
788ce5e490 Impl output to video, update program args
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.
2021-12-03 20:09:56 +09:00
8191a51d9b Minor fixes 2021-12-02 22:01:26 +09:00
cd9c363a48 Minor doc fixes, disable copy, allow move on Video 2021-12-02 13:22:11 +09:00
290ed90f96 Minor fix to documentation 2021-12-01 21:35:05 +09:00
de1b0cc2ac Minor fix regarding blue-noise-offsets 2021-12-01 18:13:21 +09:00
07d931126f Add arg parsing 2021-12-01 17:31:51 +09:00
af7b28f794 Add comment about video.h 2021-12-01 16:55:17 +09:00
fa7b5a110a Add some comments to video.h 2021-12-01 16:31:56 +09:00
6e5eaac63d Refactoring of opencl_handle and image for reuse
Refactoring was done so that the OpenCL kernels wouldn't need to be
recompiled every time an image was dithered, among other efficiency
fixes.
2021-12-01 16:04:05 +09:00
11f48592bf Impl convert video frames to color dithered pngs 2021-11-30 16:02:51 +09:00
6677fba89c WIP Fix includes and linking with libav/ffmpeg 2021-11-29 19:24:50 +09:00
cfdd411b99 WIP Use ffmpeg to decode/encode dithered frames 2021-11-29 19:13:26 +09:00
7705170f9a Write more efficient dithered pngs using palettes 2021-11-27 16:00:31 +09:00
6f0a0219b3 Move image.cc fns to same order as in image.h 2021-11-27 13:22:23 +09:00
a2535ce630 Add check: color-dithering usage on colored Image 2021-11-27 13:17:35 +09:00
3cece9ae1d Impl dithering on red/green/blue channels
Also add res/blue_noise_64x64.png for use in dithering.
2021-11-27 13:13:27 +09:00
b14f0a01b2 Rename kernel using fns/vars with word "grayscale" 2021-11-27 12:33:26 +09:00
5ad6f9d035 Some fixes using dithering kernel 2021-11-27 12:27:39 +09:00
732c99403a Impl OpenCL Dithering with Blue-Noise
May need some cleanup (like adding comments).
2021-11-26 23:29:48 +09:00
165fa65cc1 Minor fixes to opencl_handle 2021-11-18 14:05:25 +09:00
e3d1012af8 Fix compiler error, minor fix 2021-11-16 17:41:13 +09:00
4f78d92bc8 clang-tidy/clang-format fixes 2021-11-16 17:36:51 +09:00
ddb83ac7fc Impl opencl_handle 2021-11-16 17:14:13 +09:00
b794cace6e Tweaks to OpenCLContext/OpenCLHandle defs 2021-11-15 22:10:45 +09:00
e07691f71d Add skeleton code for OpenCL handling 2021-11-15 14:40:11 +09:00
19e4dfcb1c Impl decode PGM/PPM, fix encode PNG 2021-11-12 14:30:11 +09:00
577e7ae5e9 Impl SaveAsPNG 2021-11-12 13:12:15 +09:00
ee63cc2a7c Minor fix to comment 2021-11-12 12:16:36 +09:00
5ff32ab42c Impl PNG decoding and PPM saving 2021-11-12 12:13:46 +09:00
7a8ad131ed WIP libpng image decoding
Also added Doxyfile for generation of doxygen-based documentation.
2021-11-11 22:17:00 +09:00
06f60186a6 Init project setup 2021-11-11 20:04:59 +09:00