Commit Graph

261 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks afdddd9381 cmake: Split optimizations by platform and compiler
Also make fast math optional on all platforms and compilers.
2023-04-05 18:58:25 +02:00
Michael Fabian 'Xaymar' Dirks a5b20c85b0 cmake: Add support for older libOBS versions
This is necessary for libOBS 27.2 and earlier, as the file name is LibObsConfig.cmake, not libobsConfig.cmake.
2023-04-05 18:58:24 +02:00
Michael Fabian 'Xaymar' Dirks 9fbbcdf89d cmake: Adjust install and package logic for libOBS 27.2
Also add basic support for libOBS 28.0
2023-04-05 18:58:24 +02:00
Michael Fabian 'Xaymar' Dirks 7e41414f57 cmake: Allow targeting a specific architecture level 2023-04-05 18:58:24 +02:00
Michael Fabian 'Xaymar' Dirks 5f050515ba cmake: Further improve libOBS and obs-frontend-api detection 2023-04-05 18:58:23 +02:00
Michael Fabian 'Xaymar' Dirks ad48e74410 cmake: Fix formatting 2023-04-05 18:58:23 +02:00
Michael Fabian 'Xaymar' Dirks 59411d42d5 cmake: Don't enable clang integration by default
Affects #799
2023-04-05 18:58:23 +02:00
Michael Fabian 'Xaymar' Dirks a5de211768 cmake: Add Link-Time Optimization option if supported 2023-04-05 18:58:23 +02:00
Michael Fabian 'Xaymar' Dirks 583ba282f8 cmake: Merge standalone detection into single conditional 2023-04-05 18:58:22 +02:00
Michael Fabian 'Xaymar' Dirks 65afefd0ba cmake: Use CMAKE_MESSAGE_INDENT if available 2023-04-05 18:58:22 +02:00
Michael Fabian 'Xaymar' Dirks 56f50fcc54 cmake: Require version 3.13 or newer 2023-04-05 18:58:22 +02:00
Michael Fabian 'Xaymar' Dirks 6852a2468b project: Version 0.12.0a1 2023-04-05 18:58:22 +02:00
Michael Fabian 'Xaymar' Dirks 9bbc35b293 obs/source: Refactor old deprecated classes 2023-04-05 18:58:21 +02:00
Michael Fabian 'Xaymar' Dirks f160580794 cmake: Improve build system with additional features and options
- Moved all auto-dependencies to a uniform subdirectory for easier caching and cleanup.
- Add an option to download or specify a path for libOBS+obs-frontend-api.
- Remove the dependency on the non-standard obs-frontend-apiConfig.cmake file.
- Add an option to download or specify a path for OBS Dependencies.
- Add an option to download or specify a path for Qt.
- Add an option to download or specify a path for AOM.
- Fix and improve architecture and platform detection.
- Fix some messages having two :, or no prefix at all.
- Fix detection of obs-frontend-api.
- Fix applying custom compiler and linker flags for MSVC and GNU-style builds.
- Use target_compile_options over add_compile_options for compatibility.
2023-04-05 18:58:20 +02:00
carsten.braun 0540a18f27 encoders/ffmpeg/dnxhr: Add Avid DNxHR Encoder based on FFmpeg 2023-04-05 18:58:18 +02:00
Michael Fabian 'Xaymar' Dirks 4d4db59b23 project: Version 0.11.0 2023-04-05 18:51:56 +02:00
Michael Fabian 'Xaymar' Dirks 53e9811f11 project: Version 0.11.0c1 2023-04-05 18:51:56 +02:00
Michael Fabian 'Xaymar' Dirks b72e4ee83e project: Version 0.11.0b3 2023-04-05 18:51:54 +02:00
Michael Fabian 'Xaymar' Dirks 292562b63e project: Version 0.11.0b2 2023-04-05 18:51:48 +02:00
Michael Fabian 'Xaymar' Dirks 7edda268e0 project: Version 0.11.0b1 2023-04-05 18:51:45 +02:00
Michael Fabian 'Xaymar' Dirks 1f78de676d cmake: Fix and improve Code Signing on Windows
It was sometimes impossible to sign the binaries on Windows, depending on how CMake was being run. By explicitly converting to the intended native format, we avoid this problem for most situations. Additionally we now support per-project certificates, instead of global certificates only. This also allows multiple uses of cmake-codesign in the same overall project.
2023-04-05 18:51:41 +02:00
Michael Fabian 'Xaymar' Dirks 655ff6e367 third-party: Add GLAD OpenGL wrapper 2023-04-05 18:51:40 +02:00
Michael Fabian 'Xaymar' Dirks 0e26018cd3 ci: Sign builds with the provided key automatically 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks e7d17695c5 cmake: Add support for Code Signing on supported platforms 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks 5d89b0d8b1 project: Version 0.11.0a8 2023-04-05 18:51:39 +02:00
Michael Fabian 'Xaymar' Dirks ad3ac69cd7 filter/auto-framing: Frame your face, automatically! 2023-04-05 18:51:36 +02:00
Michael Fabian 'Xaymar' Dirks e6ec0fc4c7 nvidia/ar/facedetection: Add Face Detection feature 2023-04-05 18:51:36 +02:00
Michael Fabian 'Xaymar' Dirks c1ecfe70b3 nvidia/ar/feature: Add wrapper for AR features 2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks 913ac4b309 nvidia/ar: Add modern wrapper for Maxine AR SDK 2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks c3440d2069 project: Remove undocumented "NVIDIA Face Tracking" feature
Originally intended to be an experiment with no future, it turned out to be very popular with streamers that move a lot. In the end it was popular enough that NVIDIA added their own variant to their Broadcast software, which works decently enough. Unfortunately my wrapper code around the library was written very poorly, so it didn't take long for it to break out of nowhere.
2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks 28fa127ead gfx/debug: Helper class to handle common debug rendering 2023-04-05 18:51:35 +02:00
Michael Fabian 'Xaymar' Dirks 22f0bd1da1 project: Version 0.11.0a7 2023-04-05 18:51:32 +02:00
Michael Fabian 'Xaymar' Dirks b4a7cc7f2f cmake: NVIDIA Video Effects SDK requires CUDA 2023-04-05 18:51:31 +02:00
Michael Fabian 'Xaymar' Dirks 6b0a14135c cmake: Fix is_feature_enabled and set_feature_disabled 2023-04-05 18:51:31 +02:00
Michael Fabian 'Xaymar' Dirks 90bb03779c filter/virtual-greenscreen: Add Virtual Greenscreen filter 2023-04-05 18:51:31 +02:00
Michael Fabian 'Xaymar' Dirks 6d20280956 nvidia/vfx/greenscreen: Simple wrapper for the Green Screen effect 2023-04-05 18:51:30 +02:00
Michael Fabian 'Xaymar' Dirks 1cb84fa6b5 project: Version 0.11.0a6 2023-04-05 18:51:26 +02:00
Michael Fabian 'Xaymar' Dirks d3808f3960 project: Version 0.11.0a5
- Updated the AOM library to libAOM v3.1.2-882-03b6f69.
- Fixed the Denoising filter not working correctly with unexpected sizes.
- Fixed the Denoising filter not rendering at the correct size.
- Fixed the Denoising and Upscaling filter destroying the Alpha channel.
- Fixed the Denoising filter running twice on the same image, resulting in a far worse image.
- Fixed Upscaling not automatically deciding on a proper scale factor for you when the selected one is not supported.
2023-04-05 18:51:23 +02:00
Michael Fabian 'Xaymar' Dirks 889fea6422 effects: Add standard effect file
There are a number of duplicate shader routines we should combine into a single shader to save disk space, and remove unexpected errors in one copy but not the other.
2023-04-05 18:51:22 +02:00
Michael Fabian 'Xaymar' Dirks 168d04293a project: Version 0.11.0a4
* The "Super Resolution" filter is now called "Upscaling" and in the future will support additional providers, like FidelityFX "Super-Resolution" and NVIDIA "Upscaling".
* The entire plugin now has identical logging behavior, so it should be easy to identify exact parts of the plugin in log files.
* A crash caused by log functions on Linux/Mac has been fixed, which was caused by reusing variable length arguments. (#632)
* Radeghast submitted a new 'Swirl' example shader. (#618)
* Added an AV1 encoder based on AOM-AV1, although its stability and quality may not be great so far.
* Denoising of Video content is now possible with the new "Denoising" filter on NVIDIA RTX hardware.
* Fixed a few bugs affecting the "Upscaling" (previously "Super Resolution") filter.
* Fixed references to NVIDIA missing the ®.
2023-04-05 18:51:19 +02:00
Michael Fabian 'Xaymar' Dirks a0fc00ed64 cmake: Fix incorrect target for interface include directories 2023-04-05 18:51:18 +02:00
Michael Fabian 'Xaymar' Dirks 247553fa74 filter/denoising: Add Denoising filter 2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks 843a76d1c6 filter/upscaling: 'Video Super-Resolution' -> 'Upscaling'
The previous name was too strict on what could be put into the effect, and would result in additional clutter in the Filter menu when we eventually decide to support other Upscaling methods than Super-Resolution networks.
2023-04-05 18:51:17 +02:00
Michael Fabian 'Xaymar' Dirks cebd8fa744 nvidia/vfx/effect: Implement managed effect wrapper
Slightly simplifies interaction with effects.
2023-04-05 18:51:16 +02:00
Michael Fabian 'Xaymar' Dirks 9a4ab558c0 encoders/aom-av1: AV1 encoder based on libaom 2023-04-05 18:51:15 +02:00
Michael Fabian 'Xaymar' Dirks 91c9df3097 project: Apply Coding Guidelines 2023-04-05 18:51:13 +02:00
Michael Fabian 'Xaymar' Dirks 668b8af213 project: Version 0.11.0a3 2023-04-05 18:51:12 +02:00
Michael Fabian 'Xaymar' Dirks 3dd65e8815 cmake: Check for provider instead of feature 2023-04-05 18:51:10 +02:00
Michael Fabian 'Xaymar' Dirks da339e6e26 project: Version 0.11.0a2 2023-04-05 18:51:09 +02:00
Michael Fabian 'Xaymar' Dirks bb03864664 filter/video-superresolution: Add Video Super-Resolution filter 2023-04-05 18:51:09 +02:00