* GNU Make.
* A GPU capable of running GLSL fragment shaders,
process floating-point textures, and a few other things. If your machine
- is less than five years old _and you have the appropriate drivers_
- (don't complain to me if it doesn't work with Nouveau, please),
+ is less than five years old _and you have the appropriate drivers_,
you're home free.
* The [Eigen 3] and [Google Test] libraries. (The library itself
depends only on the former, but you probably want to run the unit tests.)
===============================================
Blur, diffusion, glow, lift/gamma/gain (color correction), mirror,
-mix (add two inputs), overlay (the Porter-Duff “atop” operation),
+mix (add two inputs), overlay (the Porter-Duff “over” operation),
scale (bilinear and Lanczos), sharpen (both by unsharp mask and by
Wiener filters), saturation (or desaturation), vignette, and white balance.
ImageFormat inout_format;
inout_format.color_space = COLORSPACE_sRGB;
inout_format.gamma_curve = GAMMA_sRGB;
- FlatInput *input = knew FlatInput(inout_format, FORMAT_BGRA_POSTMULTIPLIED_ALPHA, GL_UNSIGNED_BYTE, 1280, 720));
+ FlatInput *input = new FlatInput(inout_format, FORMAT_BGRA_POSTMULTIPLIED_ALPHA, GL_UNSIGNED_BYTE, 1280, 720));
chain.add_input(input);
Effect *saturation_effect = chain.add_effect(new SaturationEffect());
const float gain[] = { 0.8f, 1.0f, 1.0f };
lift_gamma_gain_effect->set_vec3("gain", &gain);
- chain.add_output(inout_format, OUTPUT_POSTMULTIPLIED_ALPHA);
+ chain.add_output(inout_format, OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED);
chain.finalize();
for ( ;; ) {
Backwards compatibility is fine and all, but sometimes we can do better
by observing that the world has moved on. In particular:
-* It's 2012, so people want to edit HD video.
-* It's 2012, so everybody has a GPU.
-* It's 2012, so everybody has a working C++ compiler.
+* It's 2014, so people want to edit HD video.
+* It's 2014, so everybody has a GPU.
+* It's 2014, so everybody has a working C++ compiler.
(Even Microsoft fixed theirs around 2003!)
-While from a programming standpoint I'd love to say that it's 2012
+While from a programming standpoint I'd love to say that it's 2014
and interlacing does no longer exist, but that's not true (and interlacing,
hated as it might be, is actually a useful and underrated technique for
bandwidth reduction in broadcast video). Movit will eventually provide