Commit graph

1156 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
f2913685ed ffmpeg-encoder/nvenc: See description
* Remove Minimum Bitrate as it is not supported by the encoder.
* Add several default states (-1 or Default) to options.
* Possibly fix bitrate lock with CQP and CQ mode.
* Fix log output for bitrate and B-Frames.
2020-03-07 01:52:04 +01:00
Michael Fabian 'Xaymar' Dirks
549e7c7437 ffmpeg-encoder: Fix leftover errors from refactor 2020-03-07 01:48:23 +01:00
Michael Fabian 'Xaymar' Dirks
e2c83f546e ffmpeg/tools: Allow overriding option context 2020-03-07 01:48:06 +01:00
Michael Fabian 'Xaymar' Dirks
5223d3980f ffmpeg/tools: Also log default values 2020-03-07 00:33:55 +01:00
Michael Fabian 'Xaymar' Dirks
087845de49 source-mirror: Reimplement audio mirroring using thread pool
The new logic drastically simplifies Source Mirror and reduces the attack surface for bugs introduced by humans. Additionally the new layout detection should help with improved audio mirroring which hopefully will not crash libobs as often.

Fixes #61.
2020-03-03 02:17:26 +01:00
Michael Fabian 'Xaymar' Dirks
08024049c2 util-threadpool: Implement global thread pool
This thread pool can take large or small tasks and as such alleviates the burden of having a thread per source. Particularly for large setups, this drastically reduces the number of threads running in the background waiting for work.
2020-03-03 01:52:54 +01:00
Michael Fabian 'Xaymar' Dirks
d91042fe2a source-mirror: Fix OBS_SOURCE_CUSTOM_DRAW support & more
Fixes support for OBS_SOURCE_CUSTOM_DRAW sources and refactors the class onto better isolated and wrapped classes to deal with specific tasks. This drastically improves stability without causing code complexity to increase, and makes the code vastly easier to read too.

Related: #99
2020-02-14 07:55:18 +01:00
Michael Fabian 'Xaymar' Dirks
4baa2360c5 obs-source: Disallow copy constructor 2020-02-14 07:52:28 +01:00
Michael Fabian 'Xaymar' Dirks
681a586ae9 util-event: Rest of fb5041a69d 2020-02-14 07:52:15 +01:00
Michael Fabian 'Xaymar' Dirks
baf265fd5b obs-signal-handler: Fix possible crash 2020-02-14 07:31:30 +01:00
Michael Fabian 'Xaymar' Dirks
326fa68d9f obs-signal-handler: Helper classes for signals and audio 2020-02-14 07:30:46 +01:00
Michael Fabian 'Xaymar' Dirks
42c9375333 obs-tools: Fix obs::tools::child_source not checking return value 2020-02-14 07:29:31 +01:00
Michael Fabian 'Xaymar' Dirks
fb5041a69d util-event: Ensure thread safety 2020-02-14 07:28:57 +01:00
Michael Fabian 'Xaymar' Dirks
5d38ca8a74 ffmpeg-encoder/nvenc: Various additional default states 2020-02-13 11:19:30 +01:00
Michael Fabian 'Xaymar' Dirks
40369bf72d obs-tools: Add child_source helper class 2020-02-13 10:34:26 +01:00
Michael Fabian 'Xaymar' Dirks
03930b6b42 cmake: Don't add custom target for in-obs builds 2020-02-13 10:33:46 +01:00
Michael Fabian 'Xaymar' Dirks
d80dd0cd22 project: Fix CI link 2020-02-13 10:28:45 +01:00
Michael Fabian 'Xaymar' Dirks
747e2c7259 ci: Fix installer template path 2020-02-13 10:25:41 +01:00
Michael Fabian 'Xaymar' Dirks
261d673147 ci: Switch back to pwsh for Windows specific steps 2020-02-13 10:19:19 +01:00
Michael Fabian 'Xaymar' Dirks
3e4eea7c6f ci: Rename windows-speed package 2020-02-13 10:15:44 +01:00
Michael Fabian 'Xaymar' Dirks
7c1afedf0c ci: Fix missing directory 2020-02-13 10:15:23 +01:00
Michael Fabian 'Xaymar' Dirks
20d5eef32e cmake: Replace modified RelWithDebInfo with Speed 2020-02-13 10:11:33 +01:00
Michael Fabian Dirks
569e39fe3b
locale: New Crowdin translations (#97) 2020-02-13 09:36:31 +01:00
Michael Fabian 'Xaymar' Dirks
13316c4810 ci, cmake: Fix build failure and optimize for speed 2020-02-13 09:34:34 +01:00
Michael Fabian 'Xaymar' Dirks
4edaef5cf6 project: Update readme 2020-02-13 05:33:18 +01:00
Michael Fabian 'Xaymar' Dirks
7821bc1ab3 cmake: Don't enforce Clang submodule requirement 2020-02-13 05:21:06 +01:00
Michael Fabian 'Xaymar' Dirks
53d4ad31e6 source-mirror: Remove useless group 2020-02-13 05:18:28 +01:00
Michael Fabian 'Xaymar' Dirks
a47dbaefc8 source-mirror: Remove scaling and caching
Scaling shouldn't be part of the Source and instead should be done as a filter. Not only does supporting it drastically increase code complexity, it also doesn't add anything that is really necessary as you can do everything it did better in an actual transform.

Caching wasn't actually used except for scaling and was mostly broken too, causing flickering.
2020-02-13 05:17:06 +01:00
Michael Fabian 'Xaymar' Dirks
45a117c1d0 cmake: Fix clang integration 2020-02-13 05:13:45 +01:00
Michael Fabian 'Xaymar' Dirks
403aae4eb9 locale: Fix incorrect string 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks
c6a1edf46f util-event: Fix and cleanup 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks
f8ee95d71c obs-*: Cleanup 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks
cbb6c4f785 cmake: Use shared submodule for Clang integration 2020-01-22 11:12:34 +01:00
Michael Fabian 'Xaymar' Dirks
5956a6f7a9 ffmpeg-encoder/nvenc: Add AUD and DPB Size options 2020-01-15 13:43:33 +01:00
Michael Fabian 'Xaymar' Dirks
98c7a2e379 ffmpeg-encoder/nvenc: Fix typo 2020-01-15 05:53:54 +01:00
Michael Fabian 'Xaymar' Dirks
34b2859dac ffmpeg-encoder/nvenc: Add minimum bitrate, fix target quality and more
Adds support for specifying Minimum Bitrate directly in the UI instead of requiring custom settings to do so. Additionally Adaptive I/B-Frames are now only shown if Look-Ahead is a value greater than 0 frames.

Quality Minimum can also now be left at a default value of -1, the Quality group is no longer toggleable and Quality Target moved into the group. Settings options on the context is now searching children too (if there are any).

Finally, some C++17 formatting was done.

Fixes #101
2020-01-15 05:50:31 +01:00
Michael Fabian 'Xaymar' Dirks
5d5a104819 ffmpeg-encoder: Improve UI, fix acceleration encode, etc 2020-01-15 03:59:03 +01:00
Michael Fabian 'Xaymar' Dirks
96ac0bd11b ffmpeg-encoder: Fix weird bug with std::map crashing in constructor 2020-01-14 10:36:04 +01:00
Michael Fabian 'Xaymar' Dirks
109b1c9b0f ffmpeg-encoder: Fix incorrect call 2020-01-14 10:03:42 +01:00
Michael Fabian 'Xaymar' Dirks
d9c07076ac ci: Fix commands and use bash as the shell on Windows 2020-01-14 09:41:24 +01:00
Michael Fabian 'Xaymar' Dirks
47679225ba ci: Hopefully fix path issue 2020-01-14 09:34:18 +01:00
Michael Fabian 'Xaymar' Dirks
85d9bde1ea ci: Remove use of matrix 2020-01-14 09:32:58 +01:00
Michael Fabian 'Xaymar' Dirks
a72eba6ded ci: Remove Node.JS requirement 2020-01-14 09:31:41 +01:00
Michael Fabian 'Xaymar' Dirks
a627054e2f cmake: Fix windows support 2020-01-14 09:13:27 +01:00
Michael Fabian 'Xaymar' Dirks
8df90dfda8 ffmpeg-encoder: Fix handler detection 2020-01-14 02:15:05 +01:00
Michael Fabian 'Xaymar' Dirks
14d05ccdac plugin: Enable FFmpeg Encoders 2020-01-14 01:55:31 +01:00
Michael Fabian 'Xaymar' Dirks
b306cebd6b project: More warnings fixed 2020-01-14 01:39:13 +01:00
Michael Fabian 'Xaymar' Dirks
844379f761 cmake: Additional optimization options 2020-01-14 01:39:04 +01:00
Michael Fabian 'Xaymar' Dirks
ebc50dcefe utility: Merge util-math and util-memory 2020-01-14 01:11:08 +01:00
Michael Fabian 'Xaymar' Dirks
1987bfb853 ffmpeg-encoder: Fix some warnings 2020-01-14 01:04:49 +01:00