]> git.sesse.net Git - movit/log
4 weeks agoStop installing shaders on make install. master
Steinar H. Gunderson [Sun, 26 Feb 2023 21:27:47 +0000 (22:27 +0100)]
Stop installing shaders on make install.

5 weeks agoCompile shaders into the library.
Steinar H. Gunderson [Wed, 22 Feb 2023 22:35:50 +0000 (23:35 +0100)]
Compile shaders into the library.

This was long overdue; I was reluctant for a while since it's easier
to develop or debug shaders this way, but the solution is of course
to give priority to the filesystem.

It is now allowed to give "" as the data directory, which will only
ever look in the bundle. Most users should probably just do that.

Shaders are no longer installed by make install.

There is no API or ABI break, but of course, you cannot give ""
as directory to older versions (it would mean essentially /).

15 months agoUse exact sRGB matrix values.
Steinar H. Gunderson [Thu, 2 Dec 2021 12:15:11 +0000 (13:15 +0100)]
Use exact sRGB matrix values.

alerted me to that sRGB does not use the exact same matrix as Rec. 709;
it demands specific, rounded-off values. The difference should be minute,
but now we are at least exact in the forward direction.

Note that this isn't an ABI break per se, even though the definition of the
COLORSPACE_sRGB enum changes; old software will simply still continue
to treat it as Rec. 709, while newly-compiled software will get the
corrected version.

3 years agoRelease Movit 1.6.3. 1.6.3
Steinar H. Gunderson [Sun, 7 Jul 2019 08:50:24 +0000 (10:50 +0200)]
Release Movit 1.6.3.

3 years agoSkip all the compute shader tests if there is no compute support (it was done before...
Steinar H. Gunderson [Sun, 7 Jul 2019 09:26:14 +0000 (11:26 +0200)]
Skip all the compute shader tests if there is no compute support (it was done before, just not consistently).

3 years agoAdd some missing shaders (required for running tests) to make dist.
Steinar H. Gunderson [Sun, 7 Jul 2019 09:11:44 +0000 (11:11 +0200)]
Add some missing shaders (required for running tests) to make dist.

3 years agoFix an issue where temporary textures could be reused too early by a different thread.
Steinar H. Gunderson [Sat, 15 Jun 2019 17:55:46 +0000 (19:55 +0200)]
Fix an issue where temporary textures could be reused too early by a different thread.

When an EffectChain is done rendering (ie., has submitted all of the GL
rendering commands that it needs to), it releases all of the temporary
textures it's used back to a common freelist.

However, if another thread needs a texture of the same size and format,
it could be picking it off of the freelist before the GPU has actually
completed rendering the first thread's command list, and start uploading
into it. This is undefined behavior in OpenGL, and can create garbled
output depending on timing and driver. (I've seen this on at least the
classic Intel Mesa driver.)

Fix by setting fences, so that getting a texture from the freelist
will have an explicit ordering versus the previous work. This increases the
size of ResourcePool::TextureFormat, but it is only ever used in a private
std::map. std::map is node-based (it has to, since the C++ standard requires
iterators to it to be stable), and thus, sizeof(TextureFormat) does not factor
into sizeof(ResourcePool), and thus, there is no ABI break. Verified by
checking on libstdc++.

3 years agoConvert a loop to range-based for.
Steinar H. Gunderson [Mon, 27 May 2019 22:01:56 +0000 (00:01 +0200)]
Convert a loop to range-based for.

3 years agoFix an issue where we'd add an unneeded bounce for mipmaps in some cases.
Steinar H. Gunderson [Mon, 27 May 2019 21:47:48 +0000 (23:47 +0200)]
Fix an issue where we'd add an unneeded bounce for mipmaps in some cases.

Specifically, if we didn't need to bounce for mipmaps, but bounced for
some other reason (e.g. resizing), we'd still propagate the mipmap
requirements. This could lead to yet another bounce earlier up the chain.
A typical case would be YCbCrInput -> GammaExpansionEffect -> ResizeEffect,
where we'd have a completely unneccessary bounce between the input and the
gamma expansion.

3 years agoRemove some unused samplers from ycbcr_conversion_effect.frag.
Steinar H. Gunderson [Mon, 27 May 2019 17:30:45 +0000 (19:30 +0200)]
Remove some unused samplers from ycbcr_conversion_effect.frag.

4 years agoRemove some unused members in tests. Found by Clang 7.
Steinar H. Gunderson [Sat, 23 Jun 2018 11:25:58 +0000 (13:25 +0200)]
Remove some unused members in tests. Found by Clang 7.

4 years agoFix a Valgrind hit.
Steinar H. Gunderson [Sat, 16 Jun 2018 19:26:47 +0000 (21:26 +0200)]
Fix a Valgrind hit.

5 years agoRelease Movit 1.6.2. 1.6.2
Steinar H. Gunderson [Sun, 18 Mar 2018 15:23:37 +0000 (16:23 +0100)]
Release Movit 1.6.2.

5 years agoFix more confusion with strong one-to-one effects and compute shaders.
Steinar H. Gunderson [Wed, 14 Mar 2018 21:56:42 +0000 (22:56 +0100)]
Fix more confusion with strong one-to-one effects and compute shaders.

The resulting unit test also found an issue where we could add a
dummy effect at the end but then end up not having a compute shader
there, which would cause OpenGL errors as the internal state got
confused, so fix that as well.

5 years agoSome no-op cleanups.
Steinar H. Gunderson [Wed, 14 Mar 2018 21:56:30 +0000 (22:56 +0100)]
Some no-op cleanups.

5 years agoFix a compile error with GCC 5 on Ubuntu.
Steinar H. Gunderson [Fri, 2 Feb 2018 20:52:15 +0000 (21:52 +0100)]
Fix a compile error with GCC 5 on Ubuntu.

5 years agoRelease Movit 1.6.1. 1.6.1
Steinar H. Gunderson [Wed, 31 Jan 2018 22:01:20 +0000 (23:01 +0100)]
Release Movit 1.6.1.

5 years agoFix a typo.
Steinar H. Gunderson [Sun, 28 Jan 2018 20:25:28 +0000 (21:25 +0100)]
Fix a typo.

5 years agoLoosen up some restrictions on strong one-to-one-effects.
Steinar H. Gunderson [Sun, 28 Jan 2018 16:41:07 +0000 (17:41 +0100)]
Loosen up some restrictions on strong one-to-one-effects.

In particular, this allows strong one-to-one-effects with multiple
inputs; this was forbidden by the comment, but not enforced anywhere,
and MixEffect was inadvertedly put as strong one-to-one. This actually
triggered at least three distinct bugs (thus three new tests).

5 years agoMark a already-done TODO as fixed.
Steinar H. Gunderson [Sat, 27 Jan 2018 20:15:52 +0000 (21:15 +0100)]
Mark a already-done TODO as fixed.

5 years agoRelease Movit 1.6.0. 1.6.0
Steinar H. Gunderson [Wed, 24 Jan 2018 23:11:40 +0000 (00:11 +0100)]
Release Movit 1.6.0.

5 years agoTypo fixes.
Steinar H. Gunderson [Tue, 23 Jan 2018 21:14:06 +0000 (22:14 +0100)]
Typo fixes.

5 years agoRemove a FIXME which turned out to not be so important after all.
Steinar H. Gunderson [Tue, 23 Jan 2018 21:12:38 +0000 (22:12 +0100)]
Remove a FIXME which turned out to not be so important after all.

5 years agoWe've run with many more GPUs than just those three now.
Steinar H. Gunderson [Tue, 23 Jan 2018 17:53:20 +0000 (18:53 +0100)]
We've run with many more GPUs than just those three now.

5 years ago2018 README updates.
Steinar H. Gunderson [Tue, 23 Jan 2018 17:33:34 +0000 (18:33 +0100)]
2018 README updates.

5 years agoBreak phases when a node needs both to supply mipmaps and _not_ supply mipmaps.
Steinar H. Gunderson [Thu, 18 Jan 2018 00:07:26 +0000 (01:07 +0100)]
Break phases when a node needs both to supply mipmaps and _not_ supply mipmaps.

In most cases, this means that we can keep a local copy that supplies
mipmaps and an RTT input that doesn't, or the other way around.

This is not a complete solution, since it doesn't take into account
the case where _both_ inputs will be RTT, but it's good enough for now.

Also requires us to distinguish between links between nodes in the same phase
and in different phases, or we'd get GLSL compile errors as we had both the
local and the RTT input being called e.g. “in0”.

5 years agoAdd explicit support for requesting no mipmaps.
Steinar H. Gunderson [Wed, 17 Jan 2018 20:06:55 +0000 (21:06 +0100)]
Add explicit support for requesting no mipmaps.

This is significantly less hackish than having the few effects
that don't want mipmaps having to request texture bounce and
fiddling with the sampling parameters themselves.

API change, although only for writing custom effects.

5 years agoRefactor calculate_scaling_weights() so that it is possible to get weights without...
Steinar H. Gunderson [Mon, 15 Jan 2018 20:45:52 +0000 (21:45 +0100)]
Refactor calculate_scaling_weights() so that it is possible to get weights without bilinear optimization.

5 years agoMicrooptimization in calculate_scaling_weights.
Steinar H. Gunderson [Mon, 15 Jan 2018 19:45:59 +0000 (20:45 +0100)]
Microoptimization in calculate_scaling_weights.

Doesn't actually influence the benchmarks much, but is useful to get 100%
equivalence with the coming compute shader.

5 years agoFix some small whitespace errors in SingleResamplePassEffect.
Steinar H. Gunderson [Sun, 14 Jan 2018 23:52:23 +0000 (00:52 +0100)]
Fix some small whitespace errors in SingleResamplePassEffect.

5 years agoIn ResampleEffect, use std::unique_ptr instead of managing ownership ourselves.
Steinar H. Gunderson [Sun, 14 Jan 2018 23:48:29 +0000 (00:48 +0100)]
In ResampleEffect, use std::unique_ptr instead of managing ownership ourselves.

5 years agoMove the functionality for updating the support texture using glTexImage2D or glTexSu...
Steinar H. Gunderson [Sun, 14 Jan 2018 19:51:08 +0000 (20:51 +0100)]
Move the functionality for updating the support texture using glTexImage2D or glTexSubImage2D into a separate class.

5 years agoAnother benchmarking data set fix.
Steinar H. Gunderson [Mon, 8 Jan 2018 23:27:05 +0000 (00:27 +0100)]
Another benchmarking data set fix.

5 years agoMake sure we do not send infinities to benchmarking textures.
Steinar H. Gunderson [Tue, 2 Jan 2018 17:03:35 +0000 (18:03 +0100)]
Make sure we do not send infinities to benchmarking textures.

5 years agoLoosen up a bound in ResampleEffectTest a bit.
Steinar H. Gunderson [Fri, 29 Dec 2017 23:18:03 +0000 (00:18 +0100)]
Loosen up a bound in ResampleEffectTest a bit.

5 years agoAdd output size as a uniform to compute shaders, as an integer; not just the inverse...
Steinar H. Gunderson [Fri, 29 Dec 2017 21:10:14 +0000 (22:10 +0100)]
Add output size as a uniform to compute shaders, as an integer; not just the inverse value as a float.

5 years agoReduce the amount of duplication between overloads in test_util.h, by using a few...
Steinar H. Gunderson [Thu, 28 Dec 2017 21:31:38 +0000 (22:31 +0100)]
Reduce the amount of duplication between overloads in test_util.h, by using a few more C++11 features.

5 years agoChange the resampling tests to fp16 (arguably more useful).
Steinar H. Gunderson [Thu, 28 Dec 2017 21:13:50 +0000 (22:13 +0100)]
Change the resampling tests to fp16 (arguably more useful).

5 years agoRemove an unused parameter in EffectChainTester.
Steinar H. Gunderson [Thu, 28 Dec 2017 20:24:18 +0000 (21:24 +0100)]
Remove an unused parameter in EffectChainTester.

5 years agoFix the uniform name for the compute shader output. (It would always be 0 by accident...
Steinar H. Gunderson [Thu, 28 Dec 2017 20:05:27 +0000 (21:05 +0100)]
Fix the uniform name for the compute shader output. (It would always be 0 by accident anyway, but it is nice to have it cleaner.)

5 years agoWhen a shader fails compilation, add some line numbers.
Steinar H. Gunderson [Sun, 10 Dec 2017 14:37:37 +0000 (15:37 +0100)]
When a shader fails compilation, add some line numbers.

5 years agoRun init_lanczos_table using std::call_once, now that we have C++11.
Steinar H. Gunderson [Sun, 26 Nov 2017 14:07:08 +0000 (15:07 +0100)]
Run init_lanczos_table using std::call_once, now that we have C++11.

5 years agoAdd a benchmark for calculate_scaling_weights().
Steinar H. Gunderson [Sun, 26 Nov 2017 12:56:19 +0000 (13:56 +0100)]
Add a benchmark for calculate_scaling_weights().

5 years agoAdd some benchmarks for ResampleEffect.
Steinar H. Gunderson [Sat, 25 Nov 2017 19:46:26 +0000 (20:46 +0100)]
Add some benchmarks for ResampleEffect.

5 years agoAdd missing test shader.
Steinar H. Gunderson [Sat, 25 Nov 2017 11:53:06 +0000 (12:53 +0100)]
Add missing test shader.

5 years agoUpdate .gitignore.
Steinar H. Gunderson [Sat, 25 Nov 2017 11:51:44 +0000 (12:51 +0100)]
Update .gitignore.

5 years agoFix some warnings.
Steinar H. Gunderson [Sat, 25 Nov 2017 11:37:05 +0000 (12:37 +0100)]
Fix some warnings.

5 years agoMake it easier to turn on debug for the EffectChain test without having it be turned...
Steinar H. Gunderson [Sat, 25 Nov 2017 11:31:02 +0000 (12:31 +0100)]
Make it easier to turn on debug for the EffectChain test without having it be turned off again.

5 years agoFix resizing compute shaders when used with postprocessing effects.
Steinar H. Gunderson [Sat, 25 Nov 2017 11:07:10 +0000 (12:07 +0100)]
Fix resizing compute shaders when used with postprocessing effects.

5 years agoSupport top-left origin for compute shaders.
Steinar H. Gunderson [Sat, 25 Nov 2017 10:26:54 +0000 (11:26 +0100)]
Support top-left origin for compute shaders.

5 years agoMinor improvement to a test name.
Steinar H. Gunderson [Sat, 25 Nov 2017 10:08:50 +0000 (11:08 +0100)]
Minor improvement to a test name.

5 years agoFix a bug where the wrong effect would be asked for compute shaders dimensions.
Steinar H. Gunderson [Sat, 25 Nov 2017 00:58:08 +0000 (01:58 +0100)]
Fix a bug where the wrong effect would be asked for compute shaders dimensions.

5 years agoSupport chaining certain effects after compute shaders.
Steinar H. Gunderson [Fri, 24 Nov 2017 21:11:08 +0000 (22:11 +0100)]
Support chaining certain effects after compute shaders.

This rests on the notion of “strong one-to-one” that's very similar
to the older “one-to-one“ concept, yet a bit stricter (in particular,
PaddingEffect is not strong one-to-one).

5 years agoSmall fix in EffectChainTester constructor.
Steinar H. Gunderson [Thu, 23 Nov 2017 18:43:23 +0000 (19:43 +0100)]
Small fix in EffectChainTester constructor.

5 years agoUse C++11 override everywhere it is appropriate.
Steinar H. Gunderson [Thu, 23 Nov 2017 17:50:14 +0000 (18:50 +0100)]
Use C++11 override everywhere it is appropriate.

5 years agoFix a typo in ResizeEffect. Found by virtual → override transition.
Steinar H. Gunderson [Thu, 23 Nov 2017 17:27:36 +0000 (18:27 +0100)]
Fix a typo in ResizeEffect. Found by virtual → override transition.

5 years agoFix some Clang warnings.
Steinar H. Gunderson [Thu, 23 Nov 2017 00:04:29 +0000 (01:04 +0100)]
Fix some Clang warnings.

5 years agoRemove the unused fields from ResampleEffect; if we make any changes here, it will...
Steinar H. Gunderson [Thu, 23 Nov 2017 00:01:30 +0000 (01:01 +0100)]
Remove the unused fields from ResampleEffect; if we make any changes here, it will have to be later.

5 years agoFix another set of test breakages on NVIDIA.
Steinar H. Gunderson [Wed, 22 Nov 2017 23:59:46 +0000 (00:59 +0100)]
Fix another set of test breakages on NVIDIA.

This was broken by c6ee050546b6940ae19a74f92bdcc8d2b1f56d22,
which stopped modifying destination textures' minification modes.

5 years agoUnbreak FBO caching in unit tests.
Steinar H. Gunderson [Wed, 22 Nov 2017 23:18:28 +0000 (00:18 +0100)]
Unbreak FBO caching in unit tests.

EffectChain::render_to_textures() ended up reusing FBOs in a way that
was not compatible with how the tester managed textures; this broke nearly all
unit tests on NVIDIA.

5 years agoInstall compute shaders on make install.
Steinar H. Gunderson [Wed, 22 Nov 2017 22:04:56 +0000 (23:04 +0100)]
Install compute shaders on make install.

5 years agoManage intermediate textures a bit more efficiently.
Steinar H. Gunderson [Wed, 22 Nov 2017 19:36:22 +0000 (20:36 +0100)]
Manage intermediate textures a bit more efficiently.

By holding on to them only for as long as we need to, we'll save some
peak texture RAM, and _might_ in some situations get a bit less cache

5 years agoSupport sqrt-transformed intermediates with compute shaders.
Steinar H. Gunderson [Wed, 22 Nov 2017 19:13:46 +0000 (20:13 +0100)]
Support sqrt-transformed intermediates with compute shaders.

5 years agoMove compute shader functions from the header to the footer; easier to unify with...
Steinar H. Gunderson [Wed, 22 Nov 2017 19:11:06 +0000 (20:11 +0100)]
Move compute shader functions from the header to the footer; easier to unify with how the fragment shaders work.

5 years agoMove the compute shader tests into effect_chain_test, as we will have hybrid tests...
Steinar H. Gunderson [Wed, 22 Nov 2017 18:57:32 +0000 (19:57 +0100)]
Move the compute shader tests into effect_chain_test, as we will have hybrid tests soon.

5 years agoSupport other output formats than GL_RGBA16F; was easier than originally feared.
Steinar H. Gunderson [Wed, 22 Nov 2017 18:47:31 +0000 (19:47 +0100)]
Support other output formats than GL_RGBA16F; was easier than originally feared.

5 years agoDo some more cleanups in anticipation of more flexible compute shader outputs.
Steinar H. Gunderson [Wed, 22 Nov 2017 18:28:14 +0000 (19:28 +0100)]
Do some more cleanups in anticipation of more flexible compute shader outputs.

Includes reverting back to last_phase instead of render_to_texture.

5 years agoSupport rendering compute shaders straight to textures (skipping the dummy phase).
Steinar H. Gunderson [Tue, 21 Nov 2017 23:04:03 +0000 (00:04 +0100)]
Support rendering compute shaders straight to textures (skipping the dummy phase).

There are lots of limitations currently (only one destination,
only GL_RGBA16F), but it's a good start. Curiously enough,
it doesn't really help anything on the deinterlacing benchmark
for my Haswell, but NVIDIA sees ~15% improvement.

5 years agoFix an issue where -std=gnu++11 would become the only flag.
Steinar H. Gunderson [Mon, 20 Nov 2017 23:57:51 +0000 (00:57 +0100)]
Fix an issue where -std=gnu++11 would become the only flag.

5 years agoAdd a texture barrier after dispatching each compute shader.
Steinar H. Gunderson [Mon, 20 Nov 2017 18:41:10 +0000 (19:41 +0100)]
Add a texture barrier after dispatching each compute shader.

This is maybe a bit heavy-handed (there are cases where shaders could
run in parallel), but it's by far the simplest thing to do, since we
have zero control over what happens to the textures we use when they
are handed back to the resource pool.

5 years agoAdd some asserts to EffectChain::execute_phase, so that we do not inadvertedly insert...
Steinar H. Gunderson [Mon, 20 Nov 2017 18:10:47 +0000 (19:10 +0100)]
Add some asserts to EffectChain::execute_phase, so that we do not inadvertedly insert new output textures with number 0.

5 years agoInvert the meaning of the last_phase boolean to execute_phase().
Steinar H. Gunderson [Mon, 20 Nov 2017 18:07:46 +0000 (19:07 +0100)]
Invert the meaning of the last_phase boolean to execute_phase().

This is because we can soon have last phases that do not render to FBOs
(those that come out of compute shaders).

5 years agoUse glGetTexImage() instead of glReadPixels() for reading back test data.
Steinar H. Gunderson [Mon, 20 Nov 2017 17:27:22 +0000 (18:27 +0100)]
Use glGetTexImage() instead of glReadPixels() for reading back test data.

Generally cleaner, and also paves the way for when we have FBO-less
rendering from compute shaders.

5 years agoBetter error messages when skipping compute shader benchmarks.
Steinar H. Gunderson [Sun, 19 Nov 2017 14:25:30 +0000 (15:25 +0100)]
Better error messages when skipping compute shader benchmarks.

5 years agoImplement a compute shdaer version of DeinterlaceEffect.
Steinar H. Gunderson [Thu, 16 Nov 2017 22:07:47 +0000 (23:07 +0100)]
Implement a compute shdaer version of DeinterlaceEffect.

This is currently a loss for grayscale (probably due to the extra
rgba16f bounce), but a win of about ~30% on BGRA on my Haswell.
NVIDIA doesn't care much either way.

There are some performance mysteries remaining, but it's a good start.

5 years agoReduce the clutter in instantiating benchmarks a little bit.
Steinar H. Gunderson [Sun, 19 Nov 2017 00:32:06 +0000 (01:32 +0100)]
Reduce the clutter in instantiating benchmarks a little bit.

5 years agoAdd a helper class to easier test fragment and compute shader versions of the same...
Steinar H. Gunderson [Sun, 19 Nov 2017 00:28:02 +0000 (01:28 +0100)]
Add a helper class to easier test fragment and compute shader versions of the same effect alongside each other.

5 years agoFix compute shader outputs on NVIDIA.
Steinar H. Gunderson [Sat, 18 Nov 2017 20:20:06 +0000 (21:20 +0100)]
Fix compute shader outputs on NVIDIA.

5 years agoBump compute shader header to #version 150.
Steinar H. Gunderson [Sat, 18 Nov 2017 20:13:14 +0000 (21:13 +0100)]
Bump compute shader header to #version 150.

NVIDIA requires this for the layout qualifier, and it's probably right.
Note that this required moving the unit tests to a core context,
due to Mesa's demands.

5 years agoDrop support for SDL1, which is no longer maintained.
Steinar H. Gunderson [Sat, 18 Nov 2017 20:11:07 +0000 (21:11 +0100)]
Drop support for SDL1, which is no longer maintained.

5 years agoUse auto and range-based for loops a few places where it aids clarity.
Steinar H. Gunderson [Sat, 18 Nov 2017 17:24:08 +0000 (18:24 +0100)]
Use auto and range-based for loops a few places where it aids clarity.

5 years agoMore renaming of .compute -> .comp.
Steinar H. Gunderson [Sat, 18 Nov 2017 13:44:51 +0000 (14:44 +0100)]
More renaming of .compute -> .comp.

5 years agoFix an issue where matrices would not get printed out on test failure.
Steinar H. Gunderson [Sat, 18 Nov 2017 10:45:30 +0000 (11:45 +0100)]
Fix an issue where matrices would not get printed out on test failure.

5 years agoAdd a benchmark for DeinterlaceTest without the spatial interlacing check.
Steinar H. Gunderson [Sat, 18 Nov 2017 10:35:15 +0000 (11:35 +0100)]
Add a benchmark for DeinterlaceTest without the spatial interlacing check.

5 years agoRename .compute to .comp, to be in line with the Khronos reference compiler.
Steinar H. Gunderson [Sat, 18 Nov 2017 10:07:37 +0000 (11:07 +0100)]
Rename .compute to .comp, to be in line with the Khronos reference compiler.

5 years agoMake BGRA deinterlacing benchmark premultiplied, so that we do not use forever just...
Steinar H. Gunderson [Fri, 17 Nov 2017 20:41:39 +0000 (21:41 +0100)]
Make BGRA deinterlacing benchmark premultiplied, so that we do not use forever just in bouncing.

5 years agoParametrize BM_DeinterlaceEffect so that we have both grayscale and BGRA.
Steinar H. Gunderson [Thu, 16 Nov 2017 17:17:28 +0000 (18:17 +0100)]
Parametrize BM_DeinterlaceEffect so that we have both grayscale and BGRA.

5 years agoFix deletion of compute shaders.
Steinar H. Gunderson [Wed, 15 Nov 2017 23:34:47 +0000 (00:34 +0100)]
Fix deletion of compute shaders.

5 years agoFix some missing NULL -> nullptr.
Steinar H. Gunderson [Wed, 15 Nov 2017 19:49:59 +0000 (20:49 +0100)]
Fix some missing NULL -> nullptr.

5 years agoRevert "Remove C++11 dependency from ResampleEffect."
Steinar H. Gunderson [Wed, 15 Nov 2017 19:47:31 +0000 (20:47 +0100)]
Revert "Remove C++11 dependency from ResampleEffect."

Add back unique_ptr, now that we have C++11.

This reverts commit 8e9f58fec54a4c879035b214fd7411f6ff7b3a32.

5 years agoUse double right angle brackets for nested templates everywhere, now that we have...
Steinar H. Gunderson [Wed, 15 Nov 2017 19:46:16 +0000 (20:46 +0100)]
Use double right angle brackets for nested templates everywhere, now that we have C++11.

5 years agoUse nullptr everywhere, now that we have C++11.
Steinar H. Gunderson [Wed, 15 Nov 2017 19:45:41 +0000 (20:45 +0100)]
Use nullptr everywhere, now that we have C++11.

5 years agoAdd support for microbenchmarks.
Steinar H. Gunderson [Wed, 15 Nov 2017 19:30:58 +0000 (20:30 +0100)]
Add support for microbenchmarks.

This depends on Google's microbenchmark library (latest git version,
at least as soon as they pull in the pkg-config file), but it is
not mandatory.

Note that this makes Movit depend on C++11.

5 years agoAdd support for compute shaders.
Steinar H. Gunderson [Mon, 13 Nov 2017 20:58:40 +0000 (21:58 +0100)]
Add support for compute shaders.

This is currently pretty raw, and there are no effect using it yet,
but it's a useful first step for getting the infrastructure in place.

5 years agoThere's no need to #undef PREFIX, since we do the token pasting ourselves.
Steinar H. Gunderson [Mon, 13 Nov 2017 19:36:27 +0000 (20:36 +0100)]
There's no need to #undef PREFIX, since we do the token pasting ourselves.

5 years agoFix some invalid code in DeinterlaceTest; GCC 7 would optimize it into simply an...
Steinar H. Gunderson [Sun, 12 Nov 2017 00:30:01 +0000 (01:30 +0100)]
Fix some invalid code in DeinterlaceTest; GCC 7 would optimize it into simply an infinite loop.

5 years agoSome refactoring in ResourcePool.
Steinar H. Gunderson [Sat, 11 Nov 2017 21:02:46 +0000 (22:02 +0100)]
Some refactoring in ResourcePool.

5 years agoAdd the GPLv2 license text.
Steinar H. Gunderson [Sat, 16 Sep 2017 10:08:27 +0000 (12:08 +0200)]
Add the GPLv2 license text.

5 years agofix compile error: "error: variable-sized object ‘red_data’ may not be initialized"
Pascal Massimino [Thu, 14 Sep 2017 10:58:57 +0000 (12:58 +0200)]
fix compile error: "error: variable-sized object ‘red_data’ may not be initialized"

5 years agoSupport negative values for lift in LiftGammaGainEffect.
Steinar H. Gunderson [Wed, 13 Sep 2017 18:28:26 +0000 (20:28 +0200)]
Support negative values for lift in LiftGammaGainEffect.

Patch by Jean-Baptiste Mardelle <jb@kdenlive.org> (except the test,
which is by myself). Based on work from Dušan Hanuš <hanus@pixelhouse.cz>.