Commit Graph

1051 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks bbcce86c47 Fix or disable some useless warnings 2023-10-05 09:11:53 +02:00
Michael Fabian 'Xaymar' Dirks e0ffe85a30 Simplify the CMake file even more
- target_sources(... PUBLIC ...) doesn't do what I thought it did, and has no useful purpose here.
- Experimental features are an Alpha only thing, and Unstable features should not be part of a Candidate release.
- ENABLE_LTO is not a flag anymore, as CMake has a global flag for it.

While we haven't split out Core from the main file yet, and we still keep running into strange duplicate symbol or undefined symbol errors, this will hopefully simplify the CMake file further. End goal is to eventually split StreamFX into smaller sub-plugins that can operate mostly independently. At some point, the goal is to be able to soft-depend on other components, i.e. Blur can softly depend on Dynamic Mask, and then have extra features if the component is installed. This is not quite fleshed out yet, and I have no clear idea on how to make it work.
2023-10-05 09:11:53 +02:00
Michael Fabian 'Xaymar' Dirks 915c85e60e core: Frontend and Updater are default features 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 4cf2a399f4 Update Copyright headers
These now include all history, which has fixed some headers that used to be wrong.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 7c887c06e8 nvidia: Move into its own component
This component enables interactivity with NVIDIA libraries. Currently this is limited to NVIDIA Maxine only.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 72b0daca05 upscaling: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 484c790c2a virtual-greenscreen: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks e3ddbe4336 denoising: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks d7d8253518 autoframing: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 7ebe4f5631 sdf-effects: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 65e91fbbc4 mirror: Move into its own component
Soon to be replaced by Spout/Sink
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 5d5852c8f7 color-grade: Move into its own component
Another re-usable code section that never got reused. This one is actually more useful, so I might split it into its own component eventually.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 4f845ac996 blur: Move into its own component
This still contains some of the old reusable code, which was never used in the first place. I'm unsure what the end goal for it was, as nothing really ended up using it anywhere else.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 02f8ca8d83 transform: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 792bf163b4 dynamic-mask: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks ecaf39bee1 shader: Move into its own component 2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks d5cf2d2ccf ffmpeg: Move into its own component
While we're at it, let's also fix the invalid destructor, as well as the NVENC HEVC encoder incorrectly using H264.Level to store H265.Level.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks d2a543f118 core: Clean up some older C++ code
- Remove float_t and double_t usage, as they aren't related to sized types.
- Remove unused aligned types, their usage has been replaced quite a while ago.
- Update the templates for pow and is_power_of_two.
2023-09-30 09:25:30 +02:00
Michael Fabian 'Xaymar' Dirks 9021274297 cmake: Fix up missing linked objects in component system
We should always link the whole object, even if nothing is needed by the module itself.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks 25ba51df12 code: Throw an error on nullptr for util::library::load 2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks ffb7a6c5d7 code: Add GoPro CineForm to FFmpeg Encoders 2023-05-20 19:54:46 +02:00
Michael Fabian 'Xaymar' Dirks 38d87f6fcf code: Don't crash if there is no encoder instance 2023-05-20 19:54:05 +02:00
Michael Fabian 'Xaymar' Dirks 3e13126f89 code: Remove audio encoder registration from FFmpeg Encoders 2023-05-20 19:25:46 +02:00
Michael Fabian 'Xaymar' Dirks 9d0233a740 code: Create mutexes to prevent Windows (un)installer from continuing
Might fix the problem where people uninstall StreamFX while they still have OBS Studio open with StreamFX loaded. InnoSetup appears to ignore this in /VERYSILENT, so this is an additional guard against that.
2023-05-20 19:24:06 +02:00
Michael Fabian 'Xaymar' Dirks 5bdcefd618 code: Fix support for multiple FFmpeg version
This should make it compile just fine with older FFmpeg versions again, such as on Ubuntu 20.04.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 0402c8ef60 code: Adjust copyright headers
Doesn't appear to follow renames, so i guess this is the new copyright!
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 1c76169821 code: Migrate encoder::ffmpeg::nvenc to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 51282b7b85 code: Migrate encoder::ffmpeg::amf to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks d8235bf504 code: Migrate encoder::ffmpeg::dnxhd to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 0fb670eba4 code: Migrate encoder::ffmpeg::prores_aw to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 376a3d6233 code: Overriding color format doesn't work without a pointer or reference 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks fc8ebc7bf3 code: Rename encoder::ffmpeg::prores_aw 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 78310f9c63 code: Migrate encoder::ffmpeg::debug to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks 85c8cdf8bd code: Wrong return type for get_avcodeccontext
The context should be modifiable, we don't really care about it anyway. If it's broken, then it's broken and the encoder errors out.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks c4461e70b9 code: Migrate encoder::ffmpeg to modern handler loader
A different version of the dynamic loader allows us to simply register handlers at load time, instead of requiring custom code. Could also make it so that it loads them when needed, but since they're mostly static code, this won't matter much.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks a1968b970b code: Migrate encoder::ffmpeg handlers into proper directory
Shouldn't have an effect on functionality, only affects location.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks a802b0007f code: Fix encoder::ffmpeg causing recursive mutex lock on Singleton
Not sure why I did it any other way before - there's no benefit to the previous design, only downsides.
2023-05-14 20:22:40 +02:00
Michael Fabian 'Xaymar' Dirks 8817248dfd code: Fix incorrect behavior for encoder::ffmpeg
As we previously relied on an additional function call, we should now merge this call into the constructor.
2023-05-14 16:54:45 +02:00
Michael Fabian 'Xaymar' Dirks 7d1dc4792a code: Reorder and fix static initializers
These most likely require dependencies to be migrated to the new system.
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks d51847152c code, cmake: Remove legacy code 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 0227cfd7b5 code: Migrate filter::autoframing to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks debf976121 code: Migrate filter::denoising to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks a4a18ebc3f code: Migrate filter::upscaling to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 0556db97df code: Migrate filter::virtual_greenscreen to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks e630ddc8a7 code: Migrate source::mirror to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 5ca01dc589 code: Migrate filter::sdf_effects to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 17d25f1ef0 code: Migrate filter::blur to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 1059e5c027 code: Migrate filter::dynamic_mask to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 4d913c34f5 code: Migrate filter::transform to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks 8bec18600f code: Migrate filter::shader to new dynamic loader 2023-05-14 09:14:29 +02:00