movit
7 years agoUse the bilinear sampling trick in ResampleEffect.
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.

7 years agoFactorize the code to compute sampling points for bilinear sampling into a shared...
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.

7 years agoImplement wrapping of the resampling parameter texture.
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.

7 years agoAdd an effect for Lanczos resampling.
Steinar H. Gunderson [Sat, 27 Oct 2012 11:38:46 +0000 (13:38 +0200)]
Add an effect for Lanczos resampling.

7 years agoSupport different chroma positioning for Cb and Cr. The test is slightly shaky, so...
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.

7 years agoRefactor YCbCr chroma offset calculation into a separate function.
Steinar H. Gunderson [Tue, 16 Oct 2012 23:07:20 +0000 (01:07 +0200)]
Refactor YCbCr chroma offset calculation into a separate function.

7 years agoAdd a high-cutoff filter to the glow effect.
Steinar H. Gunderson [Tue, 16 Oct 2012 22:15:15 +0000 (00:15 +0200)]
Add a high-cutoff filter to the glow effect.

7 years agoAdd a unit test for Rec. 709 YCbCr.
Steinar H. Gunderson [Mon, 15 Oct 2012 18:49:11 +0000 (20:49 +0200)]
Add a unit test for Rec. 709 YCbCr.

7 years agoAdd a unit test for 4:2:0 YCbCr input.
Steinar H. Gunderson [Mon, 15 Oct 2012 18:04:42 +0000 (20:04 +0200)]
Add a unit test for 4:2:0 YCbCr input.

7 years agoThe chroma positioning in YCbCrInput was broken; it moved things too far away when...
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.

7 years agoFix initial pitch calculation in YCbCrInput when using subsampling.
Steinar H. Gunderson [Mon, 15 Oct 2012 00:06:20 +0000 (02:06 +0200)]
Fix initial pitch calculation in YCbCrInput when using subsampling.

7 years agoAdd a unit test for full-range Rec. 601 YCbCr.
Steinar H. Gunderson [Sun, 14 Oct 2012 23:57:51 +0000 (01:57 +0200)]
Add a unit test for full-range Rec. 601 YCbCr.

7 years agoAdd a unit test for YCbCrInput (not done yet).
Steinar H. Gunderson [Sun, 14 Oct 2012 23:42:40 +0000 (01:42 +0200)]
Add a unit test for YCbCrInput (not done yet).

7 years agoFix YCbCrInput returning bogus data if we do set_pixel_data() before finalize.
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.

7 years agoAdd a coverage target to the Makefile.
Steinar H. Gunderson [Sun, 14 Oct 2012 21:02:51 +0000 (23:02 +0200)]
Add a coverage target to the Makefile.

7 years agoAdd a unit test for LiftGammaGainEffect.
Steinar H. Gunderson [Sun, 14 Oct 2012 19:04:05 +0000 (21:04 +0200)]
Add a unit test for LiftGammaGainEffect.

7 years agoConvert from our home-grown matrices to Eigen all over.
Steinar H. Gunderson [Sun, 14 Oct 2012 17:32:53 +0000 (19:32 +0200)]
Convert from our home-grown matrices to Eigen all over.

7 years agoRemove dead function set_uniform_float_array().
Steinar H. Gunderson [Sun, 14 Oct 2012 16:12:07 +0000 (18:12 +0200)]
Remove dead function set_uniform_float_array().

7 years agoAdd unit tests for WhiteBalanceEffect.
Steinar H. Gunderson [Sun, 14 Oct 2012 16:03:28 +0000 (18:03 +0200)]
Add unit tests for WhiteBalanceEffect.

7 years agoThe white balance effect was computing all wrong LMS scaling factors, since it was...
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.

7 years agoMake the bools in the demo app bools instead of 0/1 integers (some legacy from the...
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).

7 years agoAdd a missing .gitignore. Again.
Steinar H. Gunderson [Sun, 14 Oct 2012 13:00:45 +0000 (15:00 +0200)]
Add a missing .gitignore. Again.

7 years agoAdd a unit test for FlatInput.
Steinar H. Gunderson [Sun, 14 Oct 2012 13:00:24 +0000 (15:00 +0200)]
Add a unit test for FlatInput.

7 years agoAdd a unit test for DiffusionEffect.
Steinar H. Gunderson [Sun, 14 Oct 2012 11:45:29 +0000 (13:45 +0200)]
Add a unit test for DiffusionEffect.

7 years agoAdd unit tests to EffectChain testing that the sRGB conversion on the GPU works.
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.

7 years agoColorSpace -> Colorspace. I kept typing it wrong, so even though I usually say color...
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. :-)

7 years agoAdd unit tests for colorspace conversion insertion.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:46:48 +0000 (12:46 +0200)]
Add unit tests for colorspace conversion insertion.

7 years agoFix a typo.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:35:35 +0000 (12:35 +0200)]
Fix a typo.

7 years agoAdd a reference for where the D65 white point comes from.
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.

7 years agoAdd a unit test for the colorspace conversions.
Steinar H. Gunderson [Sun, 14 Oct 2012 10:29:55 +0000 (12:29 +0200)]
Add a unit test for the colorspace conversions.

7 years agoFind Y from the xyz and the D65 white point instead of using the luma coefficients...
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.)

7 years agoSupport conversion to and from the XYZ color space.
Steinar H. Gunderson [Sat, 13 Oct 2012 22:54:07 +0000 (00:54 +0200)]
Support conversion to and from the XYZ color space.

7 years agoAdd a hack so that RGBA pixels are flipped properly in unit tests.
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.

7 years agoMove the GL_UNPACK_ALIGNMENT setting into the texture creation, so that clients won...
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.

7 years agoFix an issue where we could try to incorrectly gamma correct the colorspace conversio...
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.

7 years agoDeallocation in YCbCrInput.
Steinar H. Gunderson [Sat, 13 Oct 2012 20:26:22 +0000 (22:26 +0200)]
Deallocation in YCbCrInput.

7 years agoMore deallocation.
Steinar H. Gunderson [Sat, 13 Oct 2012 20:18:07 +0000 (22:18 +0200)]
More deallocation.

7 years agoBe better at cleaning up at destruction time. Still stuff to do.
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.

7 years agoAdd unit tests for UnsharpMaskEffect.
Steinar H. Gunderson [Sat, 13 Oct 2012 19:28:41 +0000 (21:28 +0200)]
Add unit tests for UnsharpMaskEffect.

7 years agoBe more consistent about how we handle textures and bouncing; either bounce them...
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.

7 years agoIn the graph debug output, color each node according to which phase they are in.
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.

7 years agoRemove stray leftover debugging.
Steinar H. Gunderson [Sat, 13 Oct 2012 16:43:15 +0000 (18:43 +0200)]
Remove stray leftover debugging.

7 years agoFix a segfault in the DoubleSaturation test.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:46:12 +0000 (15:46 +0200)]
Fix a segfault in the DoubleSaturation test.

7 years agoFix a GLSL warning.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:45:38 +0000 (15:45 +0200)]
Fix a GLSL warning.

7 years agoAdd missing file mipmap_needing_effect.frag.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:41:41 +0000 (15:41 +0200)]
Add missing file mipmap_needing_effect.frag.

7 years agoAdd a unit test for BlurEffect.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:41:31 +0000 (15:41 +0200)]
Add a unit test for BlurEffect.

7 years agoAdd a test that verifies resizing works. Incidentially, it is the first test that...
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.

7 years agoUnbreak multi-phase rendering after we added the render-to-FBO functionality.
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.

7 years agoFix a case with non-float input textures.
Steinar H. Gunderson [Sat, 13 Oct 2012 13:26:08 +0000 (15:26 +0200)]
Fix a case with non-float input textures.

7 years agoMipmapGenerationWorks should be run with linear in/out (there was a cut-and-paste...
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).

7 years agoEven more informative output when single-pixel test fails.
Steinar H. Gunderson [Sat, 13 Oct 2012 12:14:48 +0000 (14:14 +0200)]
Even more informative output when single-pixel test fails.

7 years agoHave expect_equal() pinpoint the pixel with the largest error when that 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.

7 years agoRadius calculation in the blur was about 10% off. Probably impossible to notice,...
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.

7 years agoMinor stylistic fix in the deconvolution test.
Steinar H. Gunderson [Sat, 13 Oct 2012 11:14:32 +0000 (13:14 +0200)]
Minor stylistic fix in the deconvolution test.

7 years agoAdd a unit test that tests that mipmap generation works.
Steinar H. Gunderson [Sat, 13 Oct 2012 10:58:59 +0000 (12:58 +0200)]
Add a unit test that tests that mipmap generation works.

7 years agoFlatInput had broken mipmap generation. Fixed.
Steinar H. Gunderson [Sat, 13 Oct 2012 10:58:12 +0000 (12:58 +0200)]
FlatInput had broken mipmap generation. Fixed.

7 years agoAdd the two missing deconvolution tests.
Steinar H. Gunderson [Sat, 13 Oct 2012 10:24:32 +0000 (12:24 +0200)]
Add the two missing deconvolution tests.

7 years agoOops, forgot to actually add deconvolution_sharpen_effect_test.cpp.
Steinar H. Gunderson [Sat, 13 Oct 2012 01:16:54 +0000 (03:16 +0200)]
Oops, forgot to actually add deconvolution_sharpen_effect_test.cpp.

7 years agoIgnore yet more test binaries.
Steinar H. Gunderson [Sat, 13 Oct 2012 01:13:09 +0000 (03:13 +0200)]
Ignore yet more test binaries.

7 years agoSplit the TESTS= line in the Makefile now, since it is becoming quite long.
Steinar H. Gunderson [Sat, 13 Oct 2012 01:12:55 +0000 (03:12 +0200)]
Split the TESTS= line in the Makefile now, since it is becoming quite long.

7 years agoAdd a test for DeconvolutionSharpenEffect. Not completely done yet, but basic functio...
Steinar H. Gunderson [Sat, 13 Oct 2012 01:12:20 +0000 (03:12 +0200)]
Add a test for DeconvolutionSharpenEffect. Not completely done yet, but basic functionality is fine.

7 years agoLet users of expect_equal() override the default tolerance limits.
Steinar H. Gunderson [Sat, 13 Oct 2012 01:02:17 +0000 (03:02 +0200)]
Let users of expect_equal() override the default tolerance limits.

7 years agoFix the mishandling of radius in the Gaussian deconvolution (it was off by a factor...
Steinar H. Gunderson [Sat, 13 Oct 2012 01:01:39 +0000 (03:01 +0200)]
Fix the mishandling of radius in the Gaussian deconvolution (it was off by a factor of sqrt(2)).

7 years agoAdd the new tests to .gitignore.
Steinar H. Gunderson [Fri, 12 Oct 2012 23:06:17 +0000 (01:06 +0200)]
Add the new tests to .gitignore.

7 years agoAdd tests to check that rewriting works, and that gamma conversions are or are not...
Steinar H. Gunderson [Fri, 12 Oct 2012 22:59:23 +0000 (00:59 +0200)]
Add tests to check that rewriting works, and that gamma conversions are or are not inserted as needed.

7 years agoAdd unit tests for back-and-forth conversions through sRGB and Rec. 709 gamma.
Steinar H. Gunderson [Fri, 12 Oct 2012 22:20:28 +0000 (00:20 +0200)]
Add unit tests for back-and-forth conversions through sRGB and Rec. 709 gamma.

7 years agoRename PROFILE= to COVERAGE=.
Steinar H. Gunderson [Fri, 12 Oct 2012 22:02:31 +0000 (00:02 +0200)]
Rename PROFILE= to COVERAGE=.

7 years agoAdd a unit test for SaturationEffect.
Steinar H. Gunderson [Fri, 12 Oct 2012 22:02:18 +0000 (00:02 +0200)]
Add a unit test for SaturationEffect.

7 years agoSupport non-grayscale formats in the test pipeline, since we will want color quite...
Steinar H. Gunderson [Fri, 12 Oct 2012 21:43:28 +0000 (23:43 +0200)]
Support non-grayscale formats in the test pipeline, since we will want color quite soon.

7 years agoNow that we render to an FBO, we can do with a much smaller window for the test.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:59:38 +0000 (22:59 +0200)]
Now that we render to an FBO, we can do with a much smaller window for the test.

7 years agoSet RMS limit much tighter, now that we have floating-point textures.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:57:09 +0000 (22:57 +0200)]
Set RMS limit much tighter, now that we have floating-point textures.

7 years agoAdd a unit test for GammaCompressionEffect.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:56:13 +0000 (22:56 +0200)]
Add a unit test for GammaCompressionEffect.

7 years agoAdd unit tests for Rec. 709 gamma expansion.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:52:28 +0000 (22:52 +0200)]
Add unit tests for Rec. 709 gamma expansion.

7 years agoClean up profile files and .dot files.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:47:54 +0000 (22:47 +0200)]
Clean up profile files and .dot files.

7 years agoDo not unconditionally profile (that was a miscommit). Instead, make a PROFILE=1...
Steinar H. Gunderson [Fri, 12 Oct 2012 20:47:41 +0000 (22:47 +0200)]
Do not unconditionally profile (that was a miscommit). Instead, make a PROFILE=1 parameter.

7 years agoIf an output is not in the right output gamma but is in linear, that has to be good...
Steinar H. Gunderson [Fri, 12 Oct 2012 20:30:38 +0000 (22:30 +0200)]
If an output is not in the right output gamma but is in linear, that has to be good enough. Fixes an infinite loop.

7 years agoIf at least one test fails, make check should also fail.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:24:14 +0000 (22:24 +0200)]
If at least one test fails, make check should also fail.

7 years agoDo not output the shader compile log if it is empty.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:22:07 +0000 (22:22 +0200)]
Do not output the shader compile log if it is empty.

7 years agoAdd a test for GammaExpansionEffect. Not done yet.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:17:49 +0000 (22:17 +0200)]
Add a test for GammaExpansionEffect. Not done yet.

7 years agoOutput the chained shaders to temporary files instead of to stdout, since it's near...
Steinar H. Gunderson [Fri, 12 Oct 2012 20:14:46 +0000 (22:14 +0200)]
Output the chained shaders to temporary files instead of to stdout, since it's near-impossible to see the test output with so much stuff in the way.

7 years agoMake unit tests render to a floating-point FBO, so that we get full precision.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:04:48 +0000 (22:04 +0200)]
Make unit tests render to a floating-point FBO, so that we get full precision.

7 years agoSupport rendering to a given FBO instead of to the screen.
Steinar H. Gunderson [Fri, 12 Oct 2012 19:27:43 +0000 (21:27 +0200)]
Support rendering to a given FBO instead of to the screen.

7 years agoFix some issues with the case where we need to expand gamma to linear, but not compre...
Steinar H. Gunderson [Fri, 12 Oct 2012 17:45:37 +0000 (19:45 +0200)]
Fix some issues with the case where we need to expand gamma to linear, but not compress afterwards.

7 years agoFix step numbering.
Steinar H. Gunderson [Fri, 12 Oct 2012 17:21:24 +0000 (19:21 +0200)]
Fix step numbering.

7 years agoFix a bug where find_nonlinear_inputs() would choke on GammaCompressionEffect and...
Steinar H. Gunderson [Fri, 12 Oct 2012 17:06:21 +0000 (19:06 +0200)]
Fix a bug where find_nonlinear_inputs() would choke on GammaCompressionEffect and hit an infinite loop.

7 years agoYet more Makefile tweaks/fixes.
Steinar H. Gunderson [Fri, 12 Oct 2012 16:58:20 +0000 (18:58 +0200)]
Yet more Makefile tweaks/fixes.

7 years agoAdd a unit test for MixEffect.
Steinar H. Gunderson [Fri, 12 Oct 2012 00:25:34 +0000 (02:25 +0200)]
Add a unit test for MixEffect.

7 years agocan_output_linear_gamma() should never return true for float inputs.
Steinar H. Gunderson [Fri, 12 Oct 2012 00:20:17 +0000 (02:20 +0200)]
can_output_linear_gamma() should never return true for float inputs.

7 years agoSplit test utilities out into its own file.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:59:36 +0000 (01:59 +0200)]
Split test utilities out into its own file.

7 years agoIgnore some gcov stuff.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:58:57 +0000 (01:58 +0200)]
Ignore some gcov stuff.

7 years agoFix an overly aggressive search-and-replace in the Makefile.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:50:44 +0000 (01:50 +0200)]
Fix an overly aggressive search-and-replace in the Makefile.

7 years agoAdd some more simple tests to EffectChainTest.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:34:11 +0000 (01:34 +0200)]
Add some more simple tests to EffectChainTest.

7 years agoStart on unit testing (adds a dependency on Google Test). Right now, we have a single...
Steinar H. Gunderson [Thu, 11 Oct 2012 22:35:18 +0000 (00:35 +0200)]
Start on unit testing (adds a dependency on Google Test). Right now, we have a single trivial test.

7 years agoLet FlatInput take in float data (sort of kludgy, though). Also remove the get_*...
Steinar H. Gunderson [Thu, 11 Oct 2012 21:57:22 +0000 (23:57 +0200)]
Let FlatInput take in float data (sort of kludgy, though). Also remove the get_* methods, since we do not need them.

7 years agoneeds_update should be set even after we have created the texture, since we have...
Steinar H. Gunderson [Thu, 11 Oct 2012 19:47:11 +0000 (21:47 +0200)]
needs_update should be set even after we have created the texture, since we have not actually filled it with anything.

7 years agoSplit the test program from the actual library.
Steinar H. Gunderson [Thu, 11 Oct 2012 17:05:04 +0000 (19:05 +0200)]
Split the test program from the actual library.

7 years agoFix snafu in gamma expansion node insertion.
Steinar H. Gunderson [Wed, 10 Oct 2012 23:34:29 +0000 (01:34 +0200)]
Fix snafu in gamma expansion node insertion.

7 years agoDrop the 8-way symmetry; it causes bugs due to normalized texture coordinates.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:52:09 +0000 (00:52 +0200)]
Drop the 8-way symmetry; it causes bugs due to normalized texture coordinates.

7 years agoSimplify the refocus shader a bit.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:43:02 +0000 (00:43 +0200)]
Simplify the refocus shader a bit.

7 years agoFix a bug where we would send too few parameters down to the refocus shader.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:42:49 +0000 (00:42 +0200)]
Fix a bug where we would send too few parameters down to the refocus shader.