Commit graph

215 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
23207d046e project: Version 0.11.0a3 2021-06-24 17:35:00 +02:00
Michael Fabian 'Xaymar' Dirks
cfd8713ca2 cmake: Check for provider instead of feature 2021-06-24 13:40:14 +02:00
Michael Fabian 'Xaymar' Dirks
d0e6cb6c74 project: Version 0.11.0a2 2021-06-23 17:06:14 +02:00
Michael Fabian 'Xaymar' Dirks
155c6e7acf filter/video-superresolution: Add Video Super-Resolution filter 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
dd31be9a37 nvidia/vfx: Add wrapper for NVIDIA Video Effects SDK 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
4dfefa66f1 nvidia/cv/texture: Wrapper for gs::texture Images 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
412af66564 nvidia/cv/image: Wrapper for Images 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
e52dc58bdc nvidia/cv: Add NVIDIA Computer Vision wrapper 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
b46775a920 plugin: If CUDA is requested, ensure it is loaded first 2021-06-17 13:48:29 +02:00
Michael Fabian 'Xaymar' Dirks
66999a55ff util/platform: Add Path and String conversion utility functions 2021-06-17 13:48:29 +02:00
Michael Fabian 'Xaymar' Dirks
a6da3f447b project: Version 0.11.0a1 2021-06-09 03:56:37 +02:00
Michael Fabian 'Xaymar' Dirks
edd1162a48 gfx/blur: Reduce code duplication with shared file
A lot of the blur effects share quite a bit of code, which can be offloaded into a single include.
2021-06-09 03:46:14 +02:00
Michael Fabian 'Xaymar' Dirks
a2d6b2dcff cmake: Fix NVIDIA trademark 2021-06-08 05:44:22 +02:00
Michael Fabian 'Xaymar' Dirks
c95f3fc822 cmake: Update for OBS Studio 27.0.0
* OBS Studio 27.0.0 supports ARM64 on MacOS directly.
* Windows now uses "Detours" for hooking into Windows API functions.
2021-06-02 20:33:54 +02:00
Michael Fabian 'Xaymar' Dirks
8c2ef65470 cmake: Adjust minimum libOBS version to 27.0.0-rc2 2021-05-01 18:49:53 +02:00
Michael Fabian 'Xaymar' Dirks
ac967cadae nvidia/cuda/obs: Add simple CUDA manager for OBS 2021-04-27 03:12:59 +02:00
Michael Fabian 'Xaymar' Dirks
e678570bba nvidia/cuda/context: Merge context-stack into context header 2021-04-27 03:12:59 +02:00
Michael Fabian 'Xaymar' Dirks
fee3d2cd5c util/logging: Add logging utility
Also contains the function signature and name macros.
2021-04-27 03:12:59 +02:00
Michael Fabian 'Xaymar' Dirks
5888c7d23f project: Version 0.10 2021-04-25 15:48:43 +02:00
Michael Fabian 'Xaymar' Dirks
b1f4998601 project: Version 0.10.0b3 2021-04-17 03:46:25 +02:00
Michael Fabian 'Xaymar' Dirks
9e6ed9aa94 project: Version 0.10.0b2
* Fixed a bug preventing versions from being parsed correctly in CMake.
* Fixed a bug introduced between 0.9.3 and 0.10.0b1 which broke transparency support for Color Grading.
* Added support for direct rendering to some sources/filters/transitions.
* Added .pkg based Installer for MacOS, thanks to @cpyarger.
* Updated translations from Crowdin.
2021-04-08 09:48:35 +02:00
Michael Fabian 'Xaymar' Dirks
4f24fff219 cmake: (Windows) Fix incorrect reference to CMAKE_PACKAGE_PREFIX 2021-03-28 08:07:14 +02:00
Christopher P Yarger
5ca0e1a145 cmake: (MacOS) Add .pkg installer generation
Enables users of the Mac Operating System to use an automated installer instead of the manual installation method which is prone to user errors. This is done via the use of "Packages", which generates a .pkg file according to the requirements we present it.
2021-03-28 06:42:38 +02:00
Michael Fabian 'Xaymar' Dirks
dc09ae96b9 cmake: Fix version detection code
When the CMake script was rewritten, not much attention was put into the versioning code, resulting in odd behavior which was never found or fixed. For example, the automatic splitting of the suffix from the number never worked, and the build number was being stored in the wrong variable.
2021-03-23 21:50:24 +01:00
Michael Fabian 'Xaymar' Dirks
e0a016ee37 cmake: Update download logic 2021-03-23 20:56:24 +01:00
Michael Fabian 'Xaymar' Dirks
de0b0e6426 cmake: (MacOS) Fix linker path for libraries 2021-03-23 14:52:57 +01:00
Michael Fabian 'Xaymar' Dirks
afc0962072 project: 0.10.0b1 2021-02-21 04:41:51 +01:00
Michael Fabian 'Xaymar' Dirks
4c9697dfdd cmake: (MacOS) Install to a more reasonable structure 2021-02-21 04:35:12 +01:00
Michael Fabian 'Xaymar' Dirks
d5be34ab55 cmake: Don't require code signing on MacOS 2021-02-21 04:35:12 +01:00
Michael Fabian 'Xaymar' Dirks
49beafb425 cmake: Add otool post-build steps for MacOS 2021-02-21 04:35:12 +01:00
Michael Fabian 'Xaymar' Dirks
7829817f77 project: Version 0.10.0a2
* 3D Transform should now appear again.
* Automatic disabling of unsupported features should now work in CMake.
* Fixed a compilation error on some versions of GCC.
2021-02-17 01:20:23 +01:00
Michael Fabian 'Xaymar' Dirks
e6910406bb cmake: Fix features being enabled on unsupported platforms 2021-02-14 13:33:45 +01:00
Michael Fabian 'Xaymar' Dirks
8177f4c5b2 cmake: Fix TRANSFORM typo 2021-02-14 13:33:45 +01:00
Michael Fabian 'Xaymar' Dirks
fbe35d15c4 project: Version 0.10.0a1
- #437 Use 'git describe --tags' for versioning.
- #439 Add support for overriding the automatically detected version.
- #454 Fixed new versioning code breaking when the tag is on the current commit.
- #427, #428 Fix Qt interaction before OBS Studio is actually ready.
- #452 Fixed building without updater but with UI.
- #447 Redesigned Color Grading to support two rendering modes:
    - Direct Rendering applies the entire color grading function to every single pixel, and is thus more accurate, but much slower.
    - #-Bit LUT Rendering first applies the color grading function to a LUT that varies in accuracy, and then uses that LUT to render the actual output instead, which is much faster but less accurate.
- #447 Optimized Direct Rendering in Color Grading to be up to 25% faster, while using 50% less VRAM.
- #440 Removed support for Ubuntu 18.04 as it ships seriously outdated versions of libraries we use.
2021-02-06 16:52:25 +01:00
Michael Fabian 'Xaymar' Dirks
b632d6eff5 cmake: Always use long git describe 2021-02-06 16:29:22 +01:00
Michael Fabian 'Xaymar' Dirks
e436d22367 filters/color-grade: Redesign for use with LUTs
There is hardly any reason for us to recalculate everything all the time. LUTs can cache the work once, and then re-use it every time necessary, drastically reducing the impact of Color Grading by almost 60% (on some GPUs even more). Additionally this fixes the negative gamma issue, which plagued the filter for a while.

In the future, once PR 4199 (https://github.com/obsproject/obs-studio/pull/4199) has been merged, we can cut away one intermediate rendering step currently required to make the effect work. Hopefully this will be with the 27.x release of OBS Studio.
2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
f396f52054 gfx/lut: Add a simple but efficient LUT producer and consumer
For simple image and video editing, LUTs (Look-Up Tables) are vastly superior to running the entire editing operation on each pixel - especially if all the processing can be done inside a single shader.

Due to the post-processing requirements for our LUTs, we are limited to 8 bits per channel - though clever use of the unused Alpha channel may result in additional space. For our purposes however, this is definitely enough.
2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
92e0c03008 effects: Add RGB, HSV, and YUV conversion functions 2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
6d1d85ae2b effects: Add generic shared header with common code 2021-02-06 16:22:22 +01:00
Michael Fabian 'Xaymar' Dirks
2e24c783ae cmake: Add packaging support for Windows, Linux and Mac
Also adds packaging for the proposed unified plugin format.
2021-02-02 11:53:32 +01:00
Michael Fabian 'Xaymar' Dirks
239e01558d cmake: Refactor component and dependency system
A complete redesign of the component and dependency system is necessary in order to support additional platforms, such as MacOS and other Linux platforms. Additionally it results in a much cleaner code base, which is less confusing overall.

Eventually it might be necessary to push components of StreamFX into their own CMake projects, as it is getting kind of complex now. Especially with the push for a proper plugin manager, things get dicey for big plugins like StreamFX.
2021-02-02 11:53:32 +01:00
Michael Fabian 'Xaymar' Dirks
8f43dd9598 cmake: Add proper version override support 2021-01-31 17:30:50 +01:00
Michael Fabian 'Xaymar' Dirks
171c73d4b4 cmake: Improve versioning system 2021-01-31 16:23:41 +01:00
Michael Fabian 'Xaymar' Dirks
b2073a5862 project: Version 0.10.0a
* encoders/ffmpeg: Implement AMF H.264 and H.265 handlers
* locale: New Crowdin updates (Turkish) (#373)
* examples: Added adjustable luminance to hexagon size (#364)
* cmake: Add option to override download versions and hashes
2021-01-21 00:59:49 +01:00
Michael Fabian 'Xaymar' Dirks
cbd75767fa encoders/ffmpeg: Implement AMF H.264 and H.265 handlers
Adds support for the AMD Advanced Media Framework H.264 and H.265 encoders via FFmpeg. The majority of settings are supported, and the UI/UX experience mimics that of the NVENC implementation. Various settings are left out due to their complexity and should be controlled via the custom parameters field.
2020-12-04 08:32:20 +01:00
Michael Fabian 'Xaymar' Dirks
43c754171e cmake: Add option to override download versions and hashes
Allows users to override the built-in download values with custom ones, in order to build with different versions of OBS or the depencencies used.
2020-11-28 15:35:30 +01:00
Michael Fabian 'Xaymar' Dirks
a0ce296085 util/bitmask: Move bitmask functionality its own file 2020-11-08 03:39:40 +01:00
Xaymar
c70840dd92 cmake: Restore default visibility
The MODULE_EXPORT and EXPORT macros in libOBS do not correctly mark a function or type as visible on GCC, which results in the newly added flag hiding everything from view, instead of just what should be hidden.
2020-11-07 09:43:05 +01:00
Michael Fabian 'Xaymar' Dirks
43a8305630 cmake: Update to libOBS 26.0.x 2020-11-01 17:01:45 +01:00
Michael Fabian 'Xaymar' Dirks
f6f4531f86 cmake: Check for "Darwin" instead of "Mac" to support MacOS 2020-11-01 12:24:00 +01:00