9096 Commits

Author SHA1 Message Date
Matt Gajownik
482a8adaf3 obs-browser: Fix panel build error on macOS 2021-01-27 10:07:19 +11:00
Matt Gajownik
ba546ee79c obs-browser: Add Linux browser panel support 2021-01-27 09:40:33 +11:00
Georges Basile Stavracas Neto
913821ee8e UI: Make BrowserDock native
After cleaning up the native flags in various places, and disabling
making sibling of native widgets native, BrowserDock was left in an
inconsistent state, since it requires being native for CEF to work
properly.

Make BrowserDock native.
2021-01-26 09:43:16 -08:00
Georges Basile Stavracas Neto
9ee7547e19 UI: Cleanup native widgets
Some widgets are marked as native unnecessarily. Native widgets are
a bit more involving than regular ones, so remove this flag.

Original patch by David Edmundson <kde@davidedmundson.co.uk>
2021-01-26 09:43:16 -08:00
David Edmundson
4a32d1cec5 UI: Don't create native widget siblings
Native windows really only make sense for previews. They can be a new
xcb_window or a wayland subsurface.

For historical reasons setting a widget to native will also affect
ancestors. Qt will still draw them as part of the parent as they are
never mapped, but a window is nonetheless created.

This is especially problematic on wayland as then the subsurface is
parented to an unmapped window.

This default behaviour can be turned off. Now only the native widgets
(the video previews) are actually native.
2021-01-26 09:43:16 -08:00
Bilal Elmoussaoui
892bd62bfe CI: use a KDE image for Flatpak
The KDE images comes with the SDK needed pre-installed and should avoid re-downloading/installing it everytime. This should hopefully reduce the build time by a few minutes 

Details at https://github.com/bilelmoussaoui/flatpak-github-actions#docker-image
2021-01-26 03:57:15 -08:00
Kurt Kartaltepe
0dce235fdb linux-capture: Fix lock ordering
xcompcap was taking locks in the wrong order resulting in deadlocks on
close. If you had an xcompcap properties window open on close it was
nearly 100% deadlock. This ensures locks are taken in the same order as
libobs takes when shutting down.
2021-01-26 03:33:05 -08:00
Clayton Groeneveld
99d10c2607 libobs: Add function to get module lib
This adds a function find module library.

Co-authored-by: Stéphane Lepin <stephane.lepin@gmail.com>
2021-01-26 03:31:31 -08:00
SCG82
16a5ce89aa rtmp-services: Update MyFreeCams 2021-01-26 03:18:59 -08:00
Mark Sergienko
c38cbb10a4 rtmp-services: Add EventLive
Add EventLive endpoint and recommended settings to list of RTMP
services. Bump rtmp-services/data/package.json version
2021-01-25 07:28:15 -08:00
jp9000
560c1bea30 rtmp-services: Fix trailing whitespace in services.json 2021-01-25 06:50:40 -08:00
Exeldro
bacf83dbc9 UI: Close context menu on destroy of VolControl 2021-01-25 04:17:14 -08:00
Kurt Kartaltepe
77e4416c9f UI: Fix crash when systray is not enabled 2021-01-25 04:14:29 -08:00
Kurt Kartaltepe
d8a25ef943 linux-v4l2: Improve module detection
Expand PATH for Debian-like systems.
Improve detection when the module is already loaded.
2021-01-25 04:14:29 -08:00
Kurt Kartaltepe
d8a253c42f libobs, linux-v4l2: Set thread names
Sets thread names for the hotkey and v4l2 capture threads.
2021-01-25 04:13:24 -08:00
jpark37
b460f025ed obs-filters: Fix pow arguments
GLSL does not auto-promote float to vector where HLSL does.
2021-01-23 01:53:11 -08:00
jpark37
ccf16ddb65 libobs: Fix dstr leak 2021-01-22 22:16:17 -08:00
jp9000
9c3863671c obs-browser: Update color handling
Updates color handling with obsproject/obs-studio#2067
2021-01-22 16:09:47 -08:00
Jim
8333f13587
Merge pull request #2067 from jpark37/srgb-toggle
Linear color math
2021-01-22 16:03:29 -08:00
jpark37
a11e34615d obs-filters: Apply sharpness filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
346af9cc87 obs-filters: Apply scale filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
19d897e3d3 obs-filters: Apply image mask filter in linear space
Also fix an existing stale texture crash when reseting to defaults.
2021-01-21 07:57:57 -08:00
jpark37
d16919b8a0 obs-filters: Apply GPU delay filter in linear space 2021-01-21 07:57:57 -08:00
jpark37
ad2527765f obs-filters: Apply luma key filter in linear space
Also switch from 601 to 709 luma coefficients to match other filters.
2021-01-21 07:57:43 -08:00
jpark37
e66d49cd83 obs-filters: Apply color key filter in linear space
Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:57:15 -08:00
jpark37
22a7fd1cf3 obs-filters: Apply color grade filter in linear space 2021-01-21 07:57:15 -08:00
jpark37
e812a133ee obs-filters: Apply color correction filter in linear space
The newly versioned filter also has color overlay removed. We can add it
back if the demand is there, but I'd rather not maintain it.

Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:56:34 -08:00
jpark37
47da18e26c obs-filters: Apply chroma key filter in linear space
Also consolidate behavior of contrast/brightness/gamma across chroma
key, color correction, and color key filters. The contrast range has
been expanded to approximtely match the range when the filter applied to
nonlinear colors.
2021-01-21 07:55:50 -08:00
jpark37
14d9b57422 obs-transitions: Linear SRGB, swipe 2021-01-21 07:42:57 -08:00
jpark37
33ace6b817 obs-transitions: Linear SRGB, slide 2021-01-21 07:42:57 -08:00
jpark37
ad013f4d84 obs-transitions: Linear SRGB, luma wipe 2021-01-21 07:42:57 -08:00
jpark37
b718a5b0a4 obs-transitions: Linear SRGB, fade 2021-01-21 07:42:57 -08:00
jpark37
18184e0175 obs-transitions: Linear SRGB, fade to color 2021-01-21 07:42:57 -08:00
jpark37
33b744270a linux-capture: Support linear SRGB
Well, linear SRGB for screen capture. The window capture path failed to
copy between SRGB textures for some reason, so just force nonlinear
formats instead.
2021-01-21 07:42:57 -08:00
jpark37
ebc22dea78 mac-capture: Support linear SRGB 2021-01-21 07:42:57 -08:00
jpark37
a311299606 win-capture: Support linear SRGB
For game capture, neither GL nor D3D9 support SRGB shared textures, so
disable linear SRGB support if the texture format doesn't support it.

Similarly, DXGI display capture doesn't work with SRGB at the moment.
Unsure if it will with more work, but disable for now.

Also force linear SRGB off if using GDI-compatible textures.
2021-01-21 07:42:57 -08:00
jpark37
015ed39923 text-freetype2: Support linear SRGB 2021-01-21 07:42:57 -08:00
jpark37
a6fc46156d obs-text: Support linear SRGB 2021-01-21 07:42:57 -08:00
jpark37
6fe33df708 libobs-winrt: Support linear SRGB
Switch away from GDI-compatible texture for SRGB support. Never needed
GDI compatibility anyway.
2021-01-21 07:42:57 -08:00
jpark37
cc452e5eda image-source: Support linear SRGB
Both image and color sources have been updated.

Also added alpha support to the color source. Useful for users, and
serves as an easy alpha blending test case.
2021-01-21 07:42:57 -08:00
jpark37
e08ad9faf3 UI: Render previews in linear sRGB space
Necessary for correct alpha blending.
2021-01-21 07:42:57 -08:00
jpark37
71bd5860ce libobs: Final downsample with SRGB formats 2021-01-21 07:42:57 -08:00
jpark37
9e66a4d1ad libobs: Deinterlace as linear SRGB when needed 2021-01-21 07:42:57 -08:00
jpark37
72efe8b942 libobs: Update render_item to enable linear SRGB
Does nothing without linear-aware modifications to sources.
2021-01-21 07:42:56 -08:00
jpark37
edbad7e93d docs/sphinx: Document SRGB changes 2021-01-21 07:42:56 -08:00
jpark37
66259560e0 libobs: Add dormant SRGB format support
GS_RGBA, GS_BGRX, and GS_BGRA now use TYPELESS DXGI formats, so we can
alias them between UNORM and UNORM_SRGB as necessary. GS_RGBA_UNORM,
GS_BGRX_UNORM, and GS_BGRA_UNORM have been added to support straight
UNORM types, which Windows requires for sharing textures from D3D9 and
OpenGL. The D3D path aliases via views, and GL aliases via
GL_EXT_texture_sRGB_decode/GL_FRAMEBUFFER_SRGB.

A significant amount of code has changed in the D3D/GL backends, but the
concepts are simple. On the D3D side, we need separate SRVs and RTVs to
support nonlinear/linear reads and writes. On the GL side, we need to
set the proper GL parameters to emulate the same.

Add gs_enable_framebuffer_srgb/gs_framebuffer_srgb_enabled to set/get
the framebuffer as SRGB or not.

Add gs_linear_srgb_active/gs_set_linear_srgb to instruct sources that
they should render as SRGB. Legacy sources can ignore this setting
without regression.

Update obs_source_draw to use linear SRGB as needed.

Update render_filter_tex to use linear SRGB as needed.

Add gs_effect_set_texture_srgb next to gs_effect_set_texture to set
texture with SRGB view instead.

Add SRGB helpers for vec4 struct.

Create GDI-compatible textures without SRGB support. Doesn't seem to
work with SRGB formats.
2021-01-21 07:42:13 -08:00
Piotr Esden-Tempski
d7ec87ff0e linux-v4l2: Add auto reset on timeout option
Adds frame time multiple based timeout option, instead of the hardcoded
1 second timeout.

Adds optional automatic device stream reset when the device times out.
Helps with devices that "lock up" or "freeze", for example Magewell and
Elgato USB HDMI capture devices.

The automatic reset is by default off and optional. Turning it on can
cause issues for devices that work but drop a lot of frames.
2021-01-20 16:45:05 -08:00
jp9000
552bd035d5 Revert "mac-avcapture: Add additional capture presets"
This reverts commit b1efb005ab24715a117839e5fdc26185bd0405e5.

This needs to be a runtime check, not a compile-time check.
2021-01-20 12:44:16 -08:00
Doug Kelly
b1efb005ab mac-avcapture: Add additional capture presets
This adds additional capture presets, including 3840x2160 and
1920x1080, in addition to the preset "High."
2021-01-20 12:20:29 -08:00
Ivan Efremov
c7ca8abdd3 UI: fix the maximum search length of Hotkeys Filter
The "fullName" property was filled only in case of exceeding
TRUNCATE_TEXT_LENGTH. Also search function had worked only with
item->text() what was the reason of maximum search length in
Hotkeys Filter(Setting->Hotkeys).

The following changes allow to search in filter without
the length limit of string along with the current functionality.
2021-01-20 12:18:05 -08:00