Stream Effects

Stream Effects 0.5.0pr3

It's been over a year since the last full release for Stream Effects, and we're getting ever closer to another one. With this preview release a lot of bugs and crashes have been fixed, new features have been introduced and some even got a much needed upgrade. For example, the plugin now has an Installer like the one for the AMD Encoder!

The most important change is that Blur Filter will now take up to 99% less GPU to run, which means that you can go nuts with the effect even more than you could before - and maybe even go back to a 2-PC streaming setup if you switched from that to a 1-PC streaming setup. This is the result of lots of changes to the rendering system (see changelog). Additionally you can now use a Mask of various types (Region, Image, Source, Scene) that will restrict blur to only apply in the masked section.

Next up is 3D Transform which now supports mip-mapping, a technique used to smooth out pixel artifacts when the texture resolution is greater than the screen resolution, for example if you rotate, shear, scale or modify the source geometry by other means. For people using 3D Transform to place objects into a 3D-like scene, this means drastically improved image quality at the cost of some extra GPU memory and time. This is currently a Windows/DirectX11 only feature and will not have any effect on other platforms or renderers.

Then we have the all new Filter "Signed Distance Field Effects"! With this you can apply an Inner Shadow, Outer Shadow (aka Drop Shadow) and in the future Glow and Outline too. It is a cheaper alternative to blurring a source for a shadow or glow, but it does reduce the shadow/glow quality slightly.
Finally we have Source Mirror which can now finally mirror audio and has gotten some rendering and stability upgrades. It will now no longer cause sources to be endlessly active and has all new re-scaling options.

Changelog
Overall
  • The plugin now features a brand new Installer similar to the one present in the AMD Encoder for OBS Studio plugin. This should simplify installing the plugin a lot.
  • Backwards compatibility up to Version 21.x has been restored, which means that you can now use newer OBS Studio versions as well as old ones.
  • Translations can now be submitted via CrowdIn! Translate Stream Effects into your language today!
Blur Filter
  • Fixed support for various input Sources (Game Capture, Display Capture, ...).
  • Added support for masking the affected region, including feather around the region.
  • Added support for Image and Source masks, with an optional Color filter and multiplier.
  • Added Linear Sampling versions of Box and Gaussian Blur, which roughly halve the necessary GPU power for a similar effect.
  • Switched from Kernel Textures to a Kernel Array, which reduces GPU Usage by roughly 50%.
  • Added support for Scenes as masks.
  • Added support for Directional Blur (aka Motion Blur).
  • Added support for Step Scaling, allowing lower Blur Sizes to have an effect on a larger area.
  • Drastically reduced GPU Usage by only calculating the Blur once per video_tick instead of every video_render.
3D Transform Filter
  • Added MipMapping which can be enabled to reduce aliasing on an angled, scaled, stretched, squished, sheared or otherwise modified source.
  • Fixed a crash on exiting OBS Studio caused by invalid string references.
  • Drastically reduced GPU Usage by only rendering the transformed Source once per video_tick instead of every video_render.
Signed Distance Field Effects (previously Inner/Outer Shadow (SDF))
  • A new effect that allows rendering various effects based on a Signed Distance Field, for example a Drop Shadow.
  • Fixed a crash when adding this Filter to a Source.
  • Fixed a memory leak caused by never releasing the Filter memory.
  • Added support for Inverse (Min > Max) and Negative (Min or Max < 0) Gradients to Inner and Outer Shadow.
  • Added scaling option for the SDF Texture Size, allowing finer control over the output quality.
Displacement Filter
  • Improved image quality by not relying on bootleg versions of proper intrinsics in shaders.
Source Mirror
  • Added support for Audio mirroring, allowing for audio effects to be applied in addition to video effects.
  • Fixed recursion causing a crash or frozen OBS Studio.
  • Fixed a Source leak caused by never releasing the previously mirrored Source.
  • Fixed a Source leak caused by improper cleanup in recursion checking.
  • Fixed a crash with Audio-only or Async-Video sources.
  • Added support for various Rescaling methods (Stretch, Fit, Fill, Fill to Width, Fill to Height).
Plugin
  • Shipped files should now be actual images instead of broken images.
Source Mirror
  • Fixed a memory leak caused by not releasing the mirrored source.
  • Fixed a rendering slowdown caused by trying to render the source inside an effect loop.
  • Fixed 'Point' scaling not actually using the correct sampling.
  • Implemented an option for Source Mirror to keep the original size even if rescaling.
Today I bring you the "Source Mirror" source and a bunch of fixes. The "Source Mirror" source allows you to create a mirror of an existing source which can have its own list of filters and can even rescale your source for performance reasons. No need to painfully work around a core limitation in OBS Studio anymore!

Additionally, the 'Blur' filter has received a much needed update. It will now work as long as the GPU is not broken, several potential crashes with it were resolved and Gaussian Blur now has correct colors too.

Hotfix: Fixed 32-bit crashing instantaneously and also improved overall performance and stability.

Changelog
0.4.1
  • Switched all filters and sources over to new initialization code.
  • Fixed a 32-bit crash on machines with CPUs capable of SSE caused by Vertex Buffers.
  • Reduced memory requirements of Vertex Buffers by ~60%.
  • Removed a superfluous reallocation, loop and copy from Vertex Buffers.
0.4.0
  • Improved initialization code to ease future development.
  • Fixed several possible crashes in the GS subsystem wrappers.
  • Fixed 'Blur' filter color being wrong due to non-power-of-two textures.
  • Improved 'Blur' filter error reporting for better debugging and support.
  • Fixed 'Blur' filter crashing OBS on GPU reset, better support for this is added in a future version of OBS.
  • Fixed 'Blur' filter occasionally just not working.
  • Added 'Source Mirror' source which allows you to add filters to a source without modifying it as well as rescaling it.
Today I bring you the "Source Mirror" source and a bunch of fixes. The "Source Mirror" source allows you to create a mirror of an existing source which can have its own list of filters and can even rescale your source for performance reasons. No need to painfully work around a core limitation in OBS Studio anymore!

Additionally, the 'Blur' filter has received a much needed update. It will now work as long as the GPU is not broken, several potential crashes with it were resolved and Gaussian Blur now has correct colors too.

Changelog
  • Improved initialization code to ease future development.
  • Fixed several possible crashes in the GS subsystem wrappers.
  • Fixed 'Blur' filter color being wrong due to non-power-of-two textures.
  • Improved 'Blur' filter error reporting for better debugging and support.
  • Fixed 'Blur' filter crashing OBS on GPU reset, better support for this is added in a future version of OBS.
  • Fixed 'Blur' filter occasionally just not working.
  • Added 'Source Mirror' source which allows you to add filters to a source without modifying it as well as rescaling it.
Top