Commit graph

824 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
a96151a874 encoder/aom-av1: Respect "Default" setting for Metric tune setting 2021-10-07 00:24:11 +02:00
Michael Fabian 'Xaymar' Dirks
41a0873deb encoder/aom-av1: Fix automatic selection of AV1 profile 2021-10-07 00:24:11 +02:00
Michael Fabian 'Xaymar' Dirks
1df8eb4a89 encoder/aom-av1: Bitrate Overshoot only goes to 100% 2021-10-07 00:24:11 +02:00
Michael Fabian 'Xaymar' Dirks
99644fe0b5 nvidia/vfx/superresolution: Reduce overall CPU usage by caching results 2021-10-06 04:26:39 +02:00
Michael Fabian 'Xaymar' Dirks
4cf443e352 nvidia/vfx/superresolution: Automatically select ideal scale factors
Prevents some scale factors from simply not rendering anything at all, resulting in weird scene layouts. While this may incur a higher performance penalty, it does fix the issue with enough accuracy to be deployed into production.
2021-10-06 04:26:39 +02:00
Michael Fabian 'Xaymar' Dirks
e109e61ab8 filter/upscaling: Restore alpha after processing
As none of the known Upscaling algorithms handle Alpha, we need to manually restore and interpolate it properly. While this technically reduces visual quality slightly, the chances of this being noticed are slim to none considering that Upscaling is already a questionable solution to quality. Linear was picked here as it produces the best overall result for scaling, keeping gradients mostly in one piece. Mostly.

Fixes #646
2021-10-06 03:08:55 +02:00
Michael Fabian 'Xaymar' Dirks
588c45fec2 filter/denoising: Restore alpha after processing
As the Alpha channel is completely ignored and possibly destroyed by denoising algorithms, we should restore the Alpha channel manually. Linear interpolation was chosen here as it will behave like Point if the size matches, and properly interpolate if the size doesn't match.

Fixes: #646
2021-10-06 03:08:55 +02:00
Michael Fabian 'Xaymar' Dirks
eb9cd1abc6 filter/upscaling: Update Source Identifier 2021-10-06 02:47:02 +02:00
Michael Fabian 'Xaymar' Dirks
f6d12035f8 filter/denoising: Update Source Identifier 2021-10-06 02:47:02 +02:00
Michael Fabian 'Xaymar' Dirks
5820ce2b36 filter/denoising: Don't denoise the same image twice 2021-10-06 02:46:32 +02:00
Michael Fabian 'Xaymar' Dirks
91e8946b2b filter/denoising: Use actual size instead of base size of target 2021-10-06 00:52:32 +02:00
Michael Fabian 'Xaymar' Dirks
af22ee0cec filter/denoising: Restrict size to reasonable numbers
Prevents invalid sizes from being used by the filter, which sometimes happens with Async Sources that aren't quite ready yet.

Fixes: #642
2021-10-06 00:52:32 +02:00
Michael Fabian 'Xaymar' Dirks
529626138c filter/denoising: Fix incorrect define checks 2021-10-03 22:06:56 +02:00
Michael Fabian 'Xaymar' Dirks
75582faa86 locale: Adjust text to match reality 2021-10-03 22:06:56 +02:00
Michael Fabian 'Xaymar' Dirks
3cdcf18107 filter/denoising: Add Denoising filter 2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
75397d8f01 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.
2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
71f372c754 filter/video-superresolution: Fix missing UI when selecting Providers 2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
b6f379de99 filter/video-superresolution: Fix incorrect symbol name 2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
c9b1c175f4 filter/video-superresolution: Catch all exceptions 2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
7f4d0d0343 nvidia/vfx/denoising: Add wrapper for Denoising effect 2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
db30786a75 nvidia/vfx/effect: Implement managed effect wrapper
Slightly simplifies interaction with effects.
2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
05363706ca nvidia/vfx/superresolution: Round to nearest instead of truncate
Slightly improves the accuracy of the scaled size calculations.
2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
9e992b27b8 nvidia/cuda: Add cuMemsetD# functions 2021-09-28 03:59:42 +02:00
Michael Fabian 'Xaymar' Dirks
d865058f3a encoders/aom-av1: AV1 encoder based on libaom 2021-09-27 23:15:24 +02:00
Michael Fabian 'Xaymar' Dirks
61d7bb36a1 obs/encoder-factory: Don't require implementing all virtual functions
As not all encoders need all functions, classes inheriting from this should not need to implement all of them as no-ops. Instead the header should take care of this, which reduces duplicated empty code paths.
2021-09-27 23:15:24 +02:00
William Pettersson
cdf718217f
util/logging: Don't reuse vargs (#632)
As vargs may be modified by some functions, we should not reuse it and instead create a copy of it. This fixes a segfault on logging calls happening with GCC, and potentially may fix other compilers and platforms as well.
2021-09-20 11:17:51 +02:00
Michael Fabian 'Xaymar' Dirks
3902672095 project: Fix various warnings 2021-09-07 05:22:15 +02:00
Michael Fabian 'Xaymar' Dirks
5bc6b2473d project: Unify logging structure 2021-09-07 05:22:15 +02:00
Michael Fabian 'Xaymar' Dirks
20769762c7 project: Don't leak exceptions if possible 2021-09-07 05:22:15 +02:00
Michael Fabian 'Xaymar' Dirks
f65d8f2f8c encoder/ffmpeg: Fix incorrect translations 2021-06-24 17:25:39 +02:00
Michael Fabian 'Xaymar' Dirks
b87c309fbb plugin: Don't leak CUDA load exceptions 2021-06-24 15:46:23 +02:00
Michael Fabian 'Xaymar' Dirks
b2d635aa0b nvidia/vfx/superresolution: Use resize instead of reallocate 2021-06-24 13:40:14 +02:00
Michael Fabian 'Xaymar' Dirks
4beeda2713 nvidia/cv/image: Store alignment for later use 2021-06-24 13:40:14 +02:00
Michael Fabian 'Xaymar' Dirks
0d9ecce8d6 nvidia/cv: NvCVImage_Dealloc returns void 2021-06-24 13:40: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
b3ca0ce684 nvidia/vfx/superresolution: Add wrapper for Super-Resolution effect 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
d5bd34da08 nvidia/cuda: Don't be so extremely spammy 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
dce5c6b644 util/profiler: Adjust to match coding guidelines 2021-06-23 16:27:04 +02:00
Michael Fabian 'Xaymar' Dirks
44b961f54a util: Add is_close function 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
23ccec8b62 nvidia/cuda/obs: Release stream before context 2021-06-17 13:48:29 +02:00
Michael Fabian 'Xaymar' Dirks
6b2c7869ff nvidia/cuda/context: Don't try to destroy device contexts 2021-06-17 13:48:29 +02:00
Michael Fabian 'Xaymar' Dirks
69d0aa9746 nvidia/cuda/context: Log the current device name, UUId und LUId 2021-06-17 13:48:29 +02:00
Michael Fabian 'Xaymar' Dirks
90194ade6f nvidia/cuda: Add functions to get device name, UUId and LUId 2021-06-17 13:48:29 +02:00
Michael Fabian 'Xaymar' Dirks
33d771d479 util/library: Convert paths to native format 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