]>
git.sesse.net Git - movit/log
Steinar H. Gunderson [Mon, 14 Jan 2013 17:28:06 +0000 (18:28 +0100)]
Remove the code for postmultiplied alpha from OverlayEffect.
Steinar H. Gunderson [Mon, 14 Jan 2013 09:32:06 +0000 (10:32 +0100)]
Correct atop → over in the README too.
Steinar H. Gunderson [Mon, 14 Jan 2013 01:36:23 +0000 (02:36 +0100)]
Revert all the changes in demo.cpp that were never supposed to be there in the last commit.
Steinar H. Gunderson [Mon, 14 Jan 2013 01:27:35 +0000 (02:27 +0100)]
Add the rest of the files for the premultiplied alpha commit.
Steinar H. Gunderson [Mon, 14 Jan 2013 01:27:35 +0000 (02:27 +0100)]
Make Movit work in premultiplied alpha.
This is a pretty big change, even though the most visible change right now
is that OverlayEffect looks better in the edges of upscaled material
(which you won't really notice too much, given that our handling of
different resolutions already sucks). Since most material is going to
assume postmultiplied alpha, we need to track the status around the graph
pretty much as we already do with gamma and colorspaces, so it's quite
a lot of new code (and associated test complexity). It really does look
better, though.
Negative sides: MixEffect has gotten less flexible since it now also
handles the alpha; for instance, you can't really use it to subtract
things the same way anymore. Also, I think the glow effect has been broken by
the changes to MixEffect, so I'll need to fix it and then add a test so it
doesn't break again.
Steinar H. Gunderson [Sun, 13 Jan 2013 20:31:50 +0000 (21:31 +0100)]
When running make check, output which checks failed.
Steinar H. Gunderson [Sun, 13 Jan 2013 19:39:26 +0000 (20:39 +0100)]
Fix an error in a comment; we are implementing over, not atop.
Steinar H. Gunderson [Sun, 13 Jan 2013 11:50:55 +0000 (12:50 +0100)]
Fix alpha handling with sRGB textures.
OverlayEffect needs working alpha, so this cropped up. We don't
really have full alpha handling everywhere, but this is a good
start; I added some tests here and there to tighten it up a bit.
Steinar H. Gunderson [Sun, 13 Jan 2013 11:15:08 +0000 (12:15 +0100)]
Docmuent the GLEW requirement.
Steinar H. Gunderson [Sun, 13 Jan 2013 11:13:08 +0000 (12:13 +0100)]
Updated list of filters in README.
Steinar H. Gunderson [Sat, 12 Jan 2013 22:04:58 +0000 (23:04 +0100)]
Fix the name of the .dot file for the newly created colorspace input pass.
Steinar H. Gunderson [Sat, 12 Jan 2013 21:36:22 +0000 (22:36 +0100)]
Defer fetching inputs' color spaces and gamma to finalize().
MLT needs this, as it doesn't know the type of input when building
the filter chain.
Steinar H. Gunderson [Sat, 12 Jan 2013 20:50:22 +0000 (21:50 +0100)]
Added an overlay effect, implementing the atop effect.
Steinar H. Gunderson [Thu, 10 Jan 2013 17:48:07 +0000 (18:48 +0100)]
Change the .dot/.frag writing to be dependent on an init_movit() parameter instead of being bound to assertion checking.
Steinar H. Gunderson [Wed, 9 Jan 2013 20:52:55 +0000 (21:52 +0100)]
Do not output .dot and .frag debug files if NDEBUG is set.
Steinar H. Gunderson [Wed, 9 Jan 2013 19:21:13 +0000 (20:21 +0100)]
Allow data files to be fetched somewhere else than the current directory.
Steinar H. Gunderson [Wed, 9 Jan 2013 19:12:06 +0000 (20:12 +0100)]
Change to using GLEW everywhere.
We could have done this on Windows only, but it's just as simple to
keep the dependency list equal on all platforms. This subsumes our
own extension-checking logic, too.
Steinar H. Gunderson [Mon, 26 Nov 2012 23:45:21 +0000 (00:45 +0100)]
Use the -MP switch (make phony) for better dependency generation when files are removed.
Steinar H. Gunderson [Mon, 26 Nov 2012 23:44:13 +0000 (00:44 +0100)]
Simplify the Makefile for building unit tests.
Steinar H. Gunderson [Mon, 26 Nov 2012 23:41:35 +0000 (00:41 +0100)]
Only run the pkg-config line for Eigen3 once.
Also, print an error message if pkg-config has failed.
skal [Fri, 16 Nov 2012 20:40:00 +0000 (21:40 +0100)]
use the argument from command line as file to process, if present
Steinar H. Gunderson [Thu, 15 Nov 2012 19:07:44 +0000 (20:07 +0100)]
Added a rudimentary README.
Steinar H. Gunderson [Tue, 6 Nov 2012 00:46:32 +0000 (01:46 +0100)]
Make the dither effect cheat a small bit and use a repeating dither texture no greater than 128x128, to save memory bandwidth.
Steinar H. Gunderson [Tue, 6 Nov 2012 00:30:30 +0000 (01:30 +0100)]
Make the ResampleEffect minimum tolerated error smaller; I could really see some artifacts when looking hard.
Steinar H. Gunderson [Tue, 6 Nov 2012 00:09:16 +0000 (01:09 +0100)]
Add an implementation of RPDF dither on the final output.
Steinar H. Gunderson [Mon, 5 Nov 2012 23:02:23 +0000 (00:02 +0100)]
Add resample_effect_test to .gitignore.
Steinar H. Gunderson [Mon, 5 Nov 2012 22:56:39 +0000 (23:56 +0100)]
Allow the EffectChainTester framebuffer to be in something else than float. This is useful since Mesa's glReadPixels() does not round, but the Intel hardware does.
Steinar H. Gunderson [Mon, 5 Nov 2012 20:36:43 +0000 (21:36 +0100)]
Add a variant of expect_equal() for uint8s.
Steinar H. Gunderson [Mon, 5 Nov 2012 20:24:31 +0000 (21:24 +0100)]
Add a function for EffectChainTester to get out the uint8 result.
Steinar H. Gunderson [Mon, 5 Nov 2012 20:22:15 +0000 (21:22 +0100)]
Factorize out some stuff from EffectChainTester::run().
Steinar H. Gunderson [Sat, 3 Nov 2012 17:22:15 +0000 (18:22 +0100)]
Add a missing const.
Steinar H. Gunderson [Sat, 3 Nov 2012 17:12:11 +0000 (18:12 +0100)]
Correct some untrue statements about CIECAM02 chromatic adaptation.
Steinar H. Gunderson [Sat, 3 Nov 2012 16:39:11 +0000 (17:39 +0100)]
When correcting for white balance, move the D65 normalization into compute_lms_scaling_factors() instead of folding it into the LMS matrix. This makes much more sense, and should be equivalent.
Steinar H. Gunderson [Sat, 3 Nov 2012 15:27:11 +0000 (16:27 +0100)]
Switch from the HPE matrix (RLAB space) to the Bradford matrix for white balancing.
Steinar H. Gunderson [Sat, 3 Nov 2012 15:16:13 +0000 (16:16 +0100)]
Move the XYZ (Y=1) definition of D65 to d65.h.
Steinar H. Gunderson [Sat, 3 Nov 2012 14:06:43 +0000 (15:06 +0100)]
Add a separate header file for the D65 white point.
Steinar H. Gunderson [Sat, 3 Nov 2012 14:03:15 +0000 (15:03 +0100)]
Make some constants static const.
Steinar H. Gunderson [Sun, 28 Oct 2012 23:02:54 +0000 (00:02 +0100)]
Update the comment on movit_texel_subpixel_precision.
Steinar H. Gunderson [Sun, 28 Oct 2012 18:58:23 +0000 (19:58 +0100)]
Add (safe) asserts around all Effect::set_* return values, and add warnings for not checking them.
Steinar H. Gunderson [Sun, 28 Oct 2012 17:48:25 +0000 (18:48 +0100)]
Check required extensions at start.
Steinar H. Gunderson [Sun, 28 Oct 2012 17:14:36 +0000 (18:14 +0100)]
Add the weight combining back, now that we have proper control over the interpolation error.
Steinar H. Gunderson [Sun, 28 Oct 2012 16:40:56 +0000 (17:40 +0100)]
Make combine_two_pixels() handle the fact that the GPU has limited subpixel interpolation precision.
Currently we only use it to somewhat improve the total_weight estimate
to reduce the error slightly. However, the function can now also return
the total error estimate, which will be useful for knowing when we can
and cannot combine weights with reasonable error.
Steinar H. Gunderson [Sun, 28 Oct 2012 15:45:51 +0000 (16:45 +0100)]
Do not inline combine_two_samples(); util.h has way too many files depending on it, leading to poor incremental compile times.
Steinar H. Gunderson [Sat, 27 Oct 2012 19:17:45 +0000 (21:17 +0200)]
Revert "Use the bilinear sampling trick in ResampleEffect."
On second thought, this doesn't really look correct; there are some artifacts.
This reverts commit
1a06994ccdeedba95a1bdd2c3c12bb54a7a897f9 .
Steinar H. Gunderson [Sat, 27 Oct 2012 19:13:25 +0000 (21:13 +0200)]
Use the bilinear sampling trick in ResampleEffect.
This is a bit more complex than in BlurEffect, since we can have negative weights.
I had to adjust the test that's based on canonical output; I'm actually not 100%
sure, but everything else passes, the normal output looks fine, and who knows if
the previous value was actually the more accurate anyway (the difference is
just barely large enough to trigger the test).
Increases speed by over 50% on my machine.
Steinar H. Gunderson [Sat, 27 Oct 2012 19:10:52 +0000 (21:10 +0200)]
Factorize the code to compute sampling points for bilinear sampling into a shared function, and support negative weights.
Steinar H. Gunderson [Sat, 27 Oct 2012 17:57:18 +0000 (19:57 +0200)]
Implement wrapping of the resampling parameter texture.
Effectively a no-op frame rate-wise on my machine, but it saves some texture RAM.
Steinar H. Gunderson [Sat, 27 Oct 2012 11:38:46 +0000 (13:38 +0200)]
Add an effect for Lanczos resampling.
Steinar H. Gunderson [Tue, 16 Oct 2012 23:34:22 +0000 (01:34 +0200)]
Support different chroma positioning for Cb and Cr. The test is slightly shaky, so it needs high tolerances, but at least there is a test.
Steinar H. Gunderson [Tue, 16 Oct 2012 23:07:20 +0000 (01:07 +0200)]
Refactor YCbCr chroma offset calculation into a separate function.
Steinar H. Gunderson [Tue, 16 Oct 2012 22:15:15 +0000 (00:15 +0200)]
Add a high-cutoff filter to the glow effect.
Steinar H. Gunderson [Mon, 15 Oct 2012 18:49:11 +0000 (20:49 +0200)]
Add a unit test for Rec. 709 YCbCr.
Steinar H. Gunderson [Mon, 15 Oct 2012 18:04:42 +0000 (20:04 +0200)]
Add a unit test for 4:2:0 YCbCr input.
Steinar H. Gunderson [Mon, 15 Oct 2012 18:04:26 +0000 (20:04 +0200)]
The chroma positioning in YCbCrInput was broken; it moved things too far away when they were different from the center position. Fix.
Steinar H. Gunderson [Mon, 15 Oct 2012 00:06:20 +0000 (02:06 +0200)]
Fix initial pitch calculation in YCbCrInput when using subsampling.
Steinar H. Gunderson [Sun, 14 Oct 2012 23:57:51 +0000 (01:57 +0200)]
Add a unit test for full-range Rec. 601 YCbCr.
Steinar H. Gunderson [Sun, 14 Oct 2012 23:42:40 +0000 (01:42 +0200)]
Add a unit test for YCbCrInput (not done yet).
Steinar H. Gunderson [Sun, 14 Oct 2012 22:06:50 +0000 (00:06 +0200)]
Fix YCbCrInput returning bogus data if we do set_pixel_data() before finalize.
Steinar H. Gunderson [Sun, 14 Oct 2012 21:02:51 +0000 (23:02 +0200)]
Add a coverage target to the Makefile.
Steinar H. Gunderson [Sun, 14 Oct 2012 19:04:05 +0000 (21:04 +0200)]
Add a unit test for LiftGammaGainEffect.
Steinar H. Gunderson [Sun, 14 Oct 2012 17:32:53 +0000 (19:32 +0200)]
Convert from our home-grown matrices to Eigen all over.
Steinar H. Gunderson [Sun, 14 Oct 2012 16:12:07 +0000 (18:12 +0200)]
Remove dead function set_uniform_float_array().
Steinar H. Gunderson [Sun, 14 Oct 2012 16:03:28 +0000 (18:03 +0200)]
Add unit tests for WhiteBalanceEffect.
Steinar H. Gunderson [Sun, 14 Oct 2012 15:07:01 +0000 (17:07 +0200)]
The white balance effect was computing all wrong LMS scaling factors, since it was multiplying with the wrong matrices. Fixed.
Steinar H. Gunderson [Sun, 14 Oct 2012 13:02:32 +0000 (15:02 +0200)]
Make the bools in the demo app bools instead of 0/1 integers (some legacy from the C past there).
Steinar H. Gunderson [Sun, 14 Oct 2012 13:00:45 +0000 (15:00 +0200)]
Add a missing .gitignore. Again.
Steinar H. Gunderson [Sun, 14 Oct 2012 13:00:24 +0000 (15:00 +0200)]
Add a unit test for FlatInput.
Steinar H. Gunderson [Sun, 14 Oct 2012 11:45:29 +0000 (13:45 +0200)]
Add a unit test for DiffusionEffect.
Steinar H. Gunderson [Sun, 14 Oct 2012 11:21:01 +0000 (13:21 +0200)]
Add unit tests to EffectChain testing that the sRGB conversion on the GPU works.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:48:03 +0000 (12:48 +0200)]
ColorSpace -> Colorspace. I kept typing it wrong, so even though I usually say color space, it is seemingly the best choice. :-)
Steinar H. Gunderson [Sun, 14 Oct 2012 10:46:48 +0000 (12:46 +0200)]
Add unit tests for colorspace conversion insertion.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:35:35 +0000 (12:35 +0200)]
Fix a typo.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:31:40 +0000 (12:31 +0200)]
Add a reference for where the D65 white point comes from.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:29:55 +0000 (12:29 +0200)]
Add a unit test for the colorspace conversions.
Steinar H. Gunderson [Sun, 14 Oct 2012 01:12:32 +0000 (03:12 +0200)]
Find Y from the xyz and the D65 white point instead of using the luma coefficients from the standards; for sRGB, that was right, but for Rec. 601 it certainly was not. (This was massively fiddly, but in the end became surprisingly simple.)
Steinar H. Gunderson [Sat, 13 Oct 2012 22:54:07 +0000 (00:54 +0200)]
Support conversion to and from the XYZ color space.
Steinar H. Gunderson [Sat, 13 Oct 2012 22:10:50 +0000 (00:10 +0200)]
Add a hack so that RGBA pixels are flipped properly in unit tests.
Steinar H. Gunderson [Sat, 13 Oct 2012 21:51:12 +0000 (23:51 +0200)]
Move the GL_UNPACK_ALIGNMENT setting into the texture creation, so that clients won't have to worry.
Steinar H. Gunderson [Sat, 13 Oct 2012 21:43:12 +0000 (23:43 +0200)]
Fix an issue where we could try to incorrectly gamma correct the colorspace conversion inserted at the end, due to a missing propagate call.
Steinar H. Gunderson [Sat, 13 Oct 2012 20:26:22 +0000 (22:26 +0200)]
Deallocation in YCbCrInput.
Steinar H. Gunderson [Sat, 13 Oct 2012 20:18:07 +0000 (22:18 +0200)]
More deallocation.
Steinar H. Gunderson [Sat, 13 Oct 2012 19:56:43 +0000 (21:56 +0200)]
Be better at cleaning up at destruction time. Still stuff to do.
Steinar H. Gunderson [Sat, 13 Oct 2012 19:28:41 +0000 (21:28 +0200)]
Add unit tests for UnsharpMaskEffect.
Steinar H. Gunderson [Sat, 13 Oct 2012 19:18:39 +0000 (21:18 +0200)]
Be more consistent about how we handle textures and bouncing; either bounce them, or do not. Trying to do both (in different phases) causes issues currently.
Steinar H. Gunderson [Sat, 13 Oct 2012 17:09:33 +0000 (19:09 +0200)]
In the graph debug output, color each node according to which phase they are in.
Steinar H. Gunderson [Sat, 13 Oct 2012 16:43:15 +0000 (18:43 +0200)]
Remove stray leftover debugging.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:46:12 +0000 (15:46 +0200)]
Fix a segfault in the DoubleSaturation test.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:45:38 +0000 (15:45 +0200)]
Fix a GLSL warning.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:41:41 +0000 (15:41 +0200)]
Add missing file mipmap_needing_effect.frag.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:41:31 +0000 (15:41 +0200)]
Add a unit test for BlurEffect.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:39:19 +0000 (15:39 +0200)]
Add a test that verifies resizing works. Incidentially, it is the first test that verifies multi-pass behavior.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:33:43 +0000 (15:33 +0200)]
Unbreak multi-phase rendering after we added the render-to-FBO functionality.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:26:08 +0000 (15:26 +0200)]
Fix a case with non-float input textures.
Steinar H. Gunderson [Sat, 13 Oct 2012 12:41:54 +0000 (14:41 +0200)]
MipmapGenerationWorks should be run with linear in/out (there was a cut-and-paste snafu).
Steinar H. Gunderson [Sat, 13 Oct 2012 12:14:48 +0000 (14:14 +0200)]
Even more informative output when single-pixel test fails.
Steinar H. Gunderson [Sat, 13 Oct 2012 12:11:03 +0000 (14:11 +0200)]
Have expect_equal() pinpoint the pixel with the largest error when that test fails.
Steinar H. Gunderson [Sat, 13 Oct 2012 11:31:01 +0000 (13:31 +0200)]
Radius calculation in the blur was about 10% off. Probably impossible to notice, but I guess nice to fix.
Steinar H. Gunderson [Sat, 13 Oct 2012 11:14:32 +0000 (13:14 +0200)]
Minor stylistic fix in the deconvolution test.
Steinar H. Gunderson [Sat, 13 Oct 2012 10:58:59 +0000 (12:58 +0200)]
Add a unit test that tests that mipmap generation works.
Steinar H. Gunderson [Sat, 13 Oct 2012 10:58:12 +0000 (12:58 +0200)]
FlatInput had broken mipmap generation. Fixed.