jp9000
a3fface27f
win-dshow, obs-ffmpeg: Add hardware decoding support
...
Fixes hardware decoding support and updates it to FFmpeg 4.0.
2019-07-29 20:34:13 -07:00
Gol-D-Ace
baddca2536
CI: Only download Qt if it doesn't exist already
2019-07-27 06:52:47 +02:00
Jim
62c7e00d16
Merge pull request #1993 from jpark37/faster-bicubic
...
Optimize bicubic shader
2019-07-26 00:36:19 -07:00
jp9000
363d28815f
obs-browser: Update to 2.5.0 (audio capture support)
2019-07-26 00:14:09 -07:00
jp9000
aee84cc743
libobs: Add "monitoring by default" source cap
...
(This also modifies the UI module)
Adds the ability for a source to monitor by default. This is mainly
aimed at browser sources, so that they do not stop outputting audio by
default like they used to.
2019-07-26 00:05:14 -07:00
Jim
916d89a73b
Merge pull request #1930 from jpark37/ffmpeg-mjpeg
...
Add planar 4:2:2 video support; Use FFmpeg MJPEG decoder instead of DirectShow
2019-07-25 23:22:18 -07:00
jpark37
2721ac4a85
libobs: Optimize bicubic shader
...
Use bilinear filtering to reduce 16 taps to 9 for the regular path. This
works because the middle weights are always between 0 and 1, allowing
texture coordinates to be placed strategically to sample correct ratios.
I'm not sure about the undistort path, so I've left that alone.
Also remove weight normalization. I'm not seeing that make even a small
difference.
Intel HD Graphics 530, D3D11
644x478 -> 1323x1080: 1790 us -> 1279 us
1920x1080 -> 1280x720: 1301 us -> 918 us
References:
https://entropymine.com/imageworsener/bicubic/
http://vec3.ca/bicubic-filtering-in-fewer-taps/
http://developer.download.nvidia.com/books/HTML/gpugems/gpugems_ch24.html
2019-07-25 22:21:11 -07:00
jpark37
2f286b81d9
libobs: Default sampler sometimes unset for GL
...
When mixing sampling with raw loads in a shader, ending a shader with a
load would case the default sampler to become unset for OpenGL. Instead,
initialize with no sampler, and only set if there is a sampler.
2019-07-25 21:54:23 -07:00
jpark37
2c6aac32c8
libobs: Fix benign typo
2019-07-25 21:54:23 -07:00
Jim
e153dc3777
Merge pull request #1943 from glikely/master
...
UI: Add option to warn on stop recording
2019-07-25 21:47:15 -07:00
James Park
0e7eec8f2d
win-dshow: Use FFmpeg for MJPEG decompression
...
Measured lower CPU usage and latency than default DirectShow filter.
Tested with Logitech BRIO camera at 4K, 30 FPS.
2019-07-25 20:11:44 -07:00
James Park
37f663a789
libobs: obs-ffmpeg: win-dshow: Planar 4:2:2 video
...
This format has been seen when using FFmpeg MJPEG decompression.
2019-07-25 20:11:37 -07:00
Jim
f54fda4678
Merge pull request #1991 from jpark37/gl-improvements
...
GL support improvements
2019-07-25 16:22:01 -07:00
Jim
173eec0d6e
Merge pull request #1978 from jpark37/defer-yuv-multiply
...
libobs: Rework RGB to YUV conversion
2019-07-25 16:20:48 -07:00
jpark37
a7ac33488c
libobs-opengl: Remove unused VERTEXID code
...
I think this was leftover from an abandoned approach.
2019-07-23 08:33:49 -07:00
jpark37
df59046050
libobs-opengl: Support gl_FragCoord and cull unused interpolants
2019-07-23 08:31:57 -07:00
jpark37
ce9e4dd4d2
libobs-opengl: Fix GS_R8G8 values
2019-07-23 08:29:54 -07:00
Richard Stanway
1684b9bddb
UI: Add links for Facebook stream key
2019-07-23 00:47:18 +02:00
Jim
d396b2ec15
Merge pull request #1977 from cg2121/adv-audio-styling
...
UI: Improve look of adv audio control dialog
2019-07-22 02:59:58 -07:00
Jim
37072e6c97
Merge pull request #1932 from Chiitoo/libdir
...
cmake: Install 'libobs.pc' under the correct 'libdir'
2019-07-22 02:45:22 -07:00
Jim
c36a86bb46
Merge pull request #1973 from restreamio/master
...
UI: Add Restream integration: stream info widget, channels widget
2019-07-22 01:33:59 -07:00
jpark37
2656bf0a90
libobs: Rework RGB to YUV conversion
...
RGB to YUV converison was previously baked into every scale shader, but
this work has been moved to the YUV packing shaders. The scale shaders
now write RGBA instead. In the case where base and output resolutions
are identical, the render texture is forwarded directly to the YUV pack
step, skipping an entire fullscreen pass.
Intel GPA, SetStablePowerState, Intel HD Graphics 530, NV12
1920x1080, Before:
RGBA -> UYVX: ~321 us
UYVX -> Y: ~480 us
UYVX -> UV: ~127 us
1920x1080, After:
[forward render texture]
RGBA -> Y: ~487 us
RGBA -> UV: ~131 us
1920x1080 -> 1280x720, Before:
RGBA -> UYVX: ~268 us
UYVX -> Y: ~209 us
UYVX -> UV: ~57 us
1920x1080 -> 1280x720, After:
RGBA -> RGBA (rescale): ~268 us
RGBA -> Y: ~210 us
RGBA -> UV: ~58 us
2019-07-22 01:12:35 -07:00
jpark37
e5b004fd48
libobs: Remove YUV transformation on CPU
...
This code path does not appear to be used. Breakpoint-inspected all four
output formats I420/I444/NV12/RGB, and they are all behaving as they
should.
2019-07-22 01:12:01 -07:00
Grant Likely
4e3ce938f2
UI: Add option to warn on stop recording
...
OBS has an option to warn before stopping a stream, but it doesn't have
a similar warning for recording. This can result in a recording being
unintentionally stopped.
Add an option to warn when the "Stop Recording" button is pressed.
Note: While OBS also has an option to warn on stream start, this
patch purposefully does not add similar warn on recording start option.
This is because accidentally starting to record isn't risky in the same
way that accidentally starting to stream is.
2019-07-21 22:57:31 -07:00
Jim
887857b71d
Merge pull request #1976 from cg2121/output-timer-pause
...
frontend-tools: Add option to pause output timer when rec is paused
2019-07-21 22:48:13 -07:00
Jim
1831165c5e
Merge pull request #1969 from cg2121/simplify-code
...
UI: Simplify resize output code
2019-07-21 22:33:46 -07:00
Jim
8ff87ef9e1
Merge pull request #1968 from redcrazyheart/addstripchatsources
...
rtmp-services: Add Stripchat streaming service
2019-07-21 22:32:58 -07:00
Clayton Groeneveld
e5365ec583
UI: Improve look of adv audio control dialog
2019-07-21 22:31:10 -07:00
Jim
696cebb672
Merge pull request #1987 from SCG82/declare-override
...
UI: Declare missing overrides
2019-07-21 22:22:15 -07:00
SoftArch
225817b1ba
UI: Add Restream.io link to stream key page
...
Allows the users to find their stream key via a specified link if they
opt to just use a stream key instead of integration.
2019-07-21 22:16:43 -07:00
SoftArch
f914b45c7a
UI: Add Restream.io bandwidth test stream key param
...
Allows testing bandwidth via streaming without the stream activating
remotely for viewers.
2019-07-21 22:16:43 -07:00
SoftArch
484c57181c
UI: Add channels widget to Restream.io integration
2019-07-21 22:16:07 -07:00
Jim
168ae0af8e
Merge pull request #1979 from cg2121/suffixes
...
UI, obs-plugins: Add spinbox suffixes where necessary
2019-07-21 21:45:30 -07:00
Jim
807da6c7f6
Merge pull request #1985 from SCG82/fix-typo
...
cmake: Fix typo
2019-07-21 21:39:20 -07:00
SCG82
4a4fc3b68f
UI: Declare missing overrides
2019-07-21 20:53:30 -07:00
Jim
5507200f1a
Merge pull request #1984 from jpark37/deinterlace-smoothing
...
libobs: Improve timing of unbuffered deinterlacing
2019-07-21 20:03:49 -07:00
SCG82
596dd54c0b
cmake: Fix typo
2019-07-21 19:49:41 -07:00
Jim
6d6330ff03
Merge pull request #1983 from cg2121/infinity-symbol
...
UI: Display infinity symbol when volume is at 0 percent
2019-07-21 19:44:29 -07:00
Jim
a8fc576678
Merge pull request #1982 from brittneysclark/qsv_reverted_ft_fix
...
obs-qsv: Fix QSV reverted features
2019-07-21 19:40:40 -07:00
Richard Stanway
f775070c80
obs-text: Use array type for unique_ptr uint8_t[]
2019-07-21 21:14:03 +02:00
Richard Stanway
37d8cb3307
rtmp-services: Remove redundant null checks
...
The jansson json_ macros already include a null check.
2019-07-21 20:50:22 +02:00
jpark37
3ea98b8b0d
libobs: Improve timing of unbuffered deinterlacing
...
There are devices like the GV-USB2 that produce frames with smmoth
timestamps at an uneven pace, which causes OBS to stutter because the
unbuffered path is designed to aggressively operate on the latest frame.
We can make the unbuffered path work by making two adjustments:
- Don't discard the current frame until it has elapsed.
- Don't skip frames in the queue until they have elapsed.
The buffered path still has problems with deinterlacing GV-USB2 output,
but the unbuffered path is better anyway.
Testing:
GV-USB2, Unbuffered: Stuttering is gone!
GV-USB2, Buffered: No regression (still broken).
SC-512N1-L/DVI, Unbuffered: No regression (still works).
SC-512N1-L/DVI, Buffered: No regression (still works).
2019-07-20 21:00:59 -07:00
jp9000
cdb7cd80f6
win-dshow: Update libdshowcapture to 0.6.1
2019-07-20 20:24:52 -07:00
Jim
262a8c62bc
Merge pull request #1981 from jpark37/optimize-backdrop
...
libobs: UI: Remove DrawBackdrop() to save fullscreen pass
2019-07-20 17:09:08 -07:00
Jim
3f7d4fe1f5
Merge pull request #1975 from jpark37/area-upscale-shader
...
libobs: obs-filters: Area upscale shader
2019-07-20 17:06:41 -07:00
Jim
e6796edcb0
Merge pull request #1971 from jpark37/gl-error-infinite-loop
...
libobs-opengl: Fix glGetError() infinite loop
2019-07-20 17:05:52 -07:00
Jim
ffcfe4c9d9
Merge pull request #1951 from jpark37/audio-buffering
...
Fix audio buffering for devices like GV-USB2
2019-07-20 17:05:27 -07:00
Clayton Groeneveld
6da1df2ece
UI: Display infinity symbol when volume is at 0 percent
2019-07-19 23:15:14 -05:00
crazyheart
b529925985
rtmp-services: Add Stripchat streaming service
2019-07-19 19:24:49 +03:00
brittneysclark
0610bc7570
obs-qsv: Enable high profile for QSV H.264
...
Changing QSV H.264 default profile from "main" to "high"
2019-07-19 02:51:49 -07:00