Commit Graph

11992 Commits

Author SHA1 Message Date
Jim
eaa85ca8b3 obs-qsv11: Don't set to low power mode if AV1
If AV1 is being used, this code path doesn't make sense because it's
meant for older devices. If the encoder is AV1, it's a newer device.
2022-11-27 14:17:38 -08:00
Jim
e72aa91a6d obs-qsv11: Keep ExtParam value around
This wasn't meant to be freed in InitParams
2022-11-26 08:44:16 -08:00
gxalpha
dab5ff813a UI: Hide "Update Channel" label on macOS 2022-11-26 11:34:09 +01:00
tytan652
bc51e15553 UI: Guard AutoBetaOptIn as Windows-only 2022-11-26 11:34:03 +01:00
derrod
4681ec732b UI: Delay timed update check until branch migration 2022-11-26 11:33:27 +01:00
Matt Gajownik
d27cda1fa2 UI: Fix monitor name for projectors on Windows
From Qt 6.4 release notes:
QScreen::name() now returns the user friendly name instead of the GDI
device name on Windows. This is consistent with other platforms and also
obeys the documentation.

--

Additionally, this scraps the visual indexing on monitors as the
numbering is not guaranteed to match any other GUI or API. A similar
change was recently made in the Display Capture source on Windows.
2022-11-24 18:16:30 +11:00
jp9000
dd61943ddf obs-qsv11: Remove statics, fix buffer misuse
This whole "array of pointers" thing is very dumb and dangerous.
29.0.0-beta1
2022-11-22 17:27:10 -08:00
Yuriy Chumak
fceee90aa9 obs-qsv11: Add HEVC
Co-authored-by: jpark37 <jpark37@users.noreply.github.com>
Co-authored-by: Jim <obs.jim@gmail.com>
2022-11-22 07:29:31 -08:00
Jim
37a8835895 obs-qsv11: Don't declare vars in switch w/o braces 2022-11-22 05:56:25 -08:00
Jim
84565000f7 obs-qsv11: Remove unused function 2022-11-22 05:54:22 -08:00
Jim
0870a23d6c obs-qsv11: Fix profile default for AV1
"high" profile is not supported by AV1
2022-11-22 05:44:29 -08:00
Jim
5b11cfd04d obs-qsv11: Remove unused function declaration 2022-11-22 05:23:15 -08:00
Chris
c4a8364b8c obs-ffmpeg: Disable VBAQ for HEVC CQP rate control
Check rate control, if cqp (0), dont use vbaq
2022-11-22 04:13:56 -08:00
Ryan Foster
9f31a9d7a5 libobs: Suppress LNK4098
Suppress LNK4098 to allow building against pre-built Jansson for now.
2022-11-22 00:14:16 -05:00
Ryan Foster
bfcca93424 rtmp-services: Suppress LNK4098
Suppress LNK4098 to allow building against pre-built Jansson for now.
2022-11-22 00:14:16 -05:00
Jim
00078a6a73 UI: Add QSV AV1 to simple output mode 2022-11-21 19:08:02 -08:00
Jim
3c4f9f18c7 obs-qsv11: Simplify CQP
Uses the same QP value for B, P, and I frames to simplify the settings
2022-11-21 19:08:02 -08:00
Gale
319eac4bf5 obs-qsv11: Add QSV AV1 encoder 2022-11-21 19:08:02 -08:00
Gale
9dd70910cb obs-qsv11: Add codec enum
(Jim description: Adding a codec enum will add support for other codecs)
2022-11-21 19:08:02 -08:00
Gale
4b6af813dc obs-qsv11: Only reinitialize bitrate 2022-11-21 19:08:02 -08:00
Jim
eaf243bca7 obs-qsv11: Add startup process to test QSV support
This simplifies encoder initialization and prevents it from requiring
any sort of unnecessary Direct3D or encoder initiazation tests while OBS
is actually running.
2022-11-21 19:08:02 -08:00
Jim
02d20e9f36 libobs: Fix adapter index not getting applied to resets 2022-11-21 17:56:45 -08:00
derrod
dc7a20288f UI: Switch to beta branch when running beta/rc for the first time 2022-11-22 02:54:07 +01:00
derrod
f141b9c59b UI: Add update channels (Windows) 2022-11-22 02:54:07 +01:00
derrod
1617424466 updater: Add --branch/--portable command line arguments 2022-11-22 02:54:07 +01:00
derrod
cdc9313829 cmake/libobs: Set OBS_COMMIT based on git describe 2022-11-22 02:54:07 +01:00
tytan652
10a68b5d4e flatpak: Update deps based on obs-deps 2022-11-21
* x264: Updated to the same commit as obs-deps
* srt: Updated to 1.5.1
* aom: Updated to 3.5.0
* svt-av1: Updated to 1.3.0
* ffmpeg: Updated to the same commit and patches as obs-deps
* luajit: Updated to the same commit as obs-deps
2022-11-21 18:44:53 -05:00
Ryan Foster
03c837d448 CI: Update deps to obs-deps 2022-11-21 release
Notable changes:
 * Add Jansson to Windows deps
 * Update zlib to 1.2.13
 * Update libpng to 1.6.38
 * Update opus to bce1f39235
 * Update SVT-AV1 to 1.3.0
 * Update aom to 3.5.0
 * Update x264 to r3101
 * Update libsrt to 1.5.1
 * Update AMF to 1.4.26
 * Update FFmpeg to 5.1.2
 * Update LuaJIT to 2.1 7a0cf5fd4c
 * Windows: Update cmocka to cd95ee9f77
 * Windows: Update curl to 7.86.0
 * Qt: Update Qt5 to Qt 5.15.7 for Windows
 * Qt: Update Qt6 to Qt 6.4.1 for Windows
 * Qt: Update Qt5 to Qt 5.15.7 for macOS
 * Qt: Update Qt6 to Qt 6.4.1 for macOS
2022-11-21 18:22:54 -05:00
Jim
e62759a3fa libobs-d3d11: Make sure libobs knows the new adapter index
Because Intel has wonderful code which forces it to run on the iGPU if
there are both an Intel iGPU and an Intel dGPU on the same system, the
adapter index OBS is set to internally will no longer be valid, thus if
anyone calls `obs_get_video_info()` to try to find out what adapter
index OBS is running on, it will be invalid on those computers.
Wonderful.

So, basically, this code here just fixe it so if you want to call
`obs_get_video_info()`, it'll actually have a valid adapter index now,
that way we can reference the adapter index when determining what GPU
we're actually running on without having to like, do anything super
complicated and silly like comparing adapter GUIDs just to figure out
what adapter OBS is actually runing on. I don't want the code to be a
mess anymore.

(I like how in any other situation on the face of the planet, there's no
need to force OBS to run on an integrated adapter. *Normally* OBS
*should* run on the dedicated adapter, that way it can actually capture
games properly. You can probably guess as to why they're forcing it to
run on the integrated adapter rather than the dedicated adapter. But you
know what? Whatever. I don't really care anymore I guess. Just...
whatever. Here we are I guess. Also I was in a bad mood while writing
this just as a disclaimer.)

(I hate that this commit exist. I hate that the commit c83eaaa51c exists
even more.)
2022-11-21 08:47:36 -08:00
Matt Gajownik
0716e8b482 obs-ffmpeg: Fix building without HEVC on Windows 2022-11-21 18:54:09 +11:00
Richard Stanway
510f0116a6 cmake: Specify utf-8 for MSVC builds
If there is no BOM, MSVC defaults to the user's code page which can
result in errors if UTF-8 characters are present in the source files.
2022-11-20 17:38:23 -05:00
tytan652
723ca8f034 CI,obs-vst: Update Flatpak KDE Runtime to version 6.4
The 6.4 runtime rely on Freedesktop 22.08 which provide a more recent
version of Mesa and PipeWire.

The switch to 22.08 also requires to migrate paths of VST 2 plugins.
2022-11-20 17:16:02 -05:00
Clayton Groeneveld
cfcad30e3e UI, image-source: Add slide counter to slideshow toolbar
This shows the current slide and total number of slides in the
slideshow toolbar.
2022-11-20 03:07:27 -05:00
Richard Stanway
02c6ce8b58 obs-vst: Improve some string handling
- Use constant references where appropriate
- Avoid unnecessary use of strcmp / strlen
- Clear std::string with clear()

Issues detected by PVS Studio.
2022-11-20 17:25:33 +11:00
Richard Stanway
fe9c3748ce obs-vst: Use libobs memory allocation functions 2022-11-20 17:25:33 +11:00
cg2121
0df774cd01 UI: Disable toolbar buttons when no source is selected
When no source is selected, disable the toolbar buttons so the user
knows the buttons can't be clicked. They would just do nothing
before.
2022-11-20 00:06:17 -05:00
tt2468
24d7bea41f obs-ffmpeg: Improve RIST/SRT log messages
Overall improvements to match behavior of other log sources.
2022-11-19 18:16:05 -08:00
tt2468
e141def61b UI: Use blog for "Attempted path" log messages
These use printf for some reason. Instead of always printing them and
having them clutter the log, blog them with debug level. They don't
appear in log files anyway.
2022-11-19 18:16:05 -08:00
Chris
a463326e37 ffmpeg: fix cqp rate control on svtav1
global_quality does not get respected. Specifying via priv_data does
work however
2022-11-19 20:55:42 -05:00
Chris
777a8f8c47 ffmpeg: fix "cqp" mode for libaom
change from global_quality to setting crf via priv_data, as
global_quality does not get respect. There is no cqp param in
ffmpeg 5.0.1
2022-11-19 20:55:42 -05:00
gxalpha
34e6a5b73f libobs: Deprecate obs_get/set_master_volume
These methods were never implemented to do anything.
2022-11-19 20:37:22 -05:00
Matt Gajownik
8dcc536edb obs-browser: Don't use QPointF for pointer position 2022-11-20 11:55:46 +11:00
Matt Gajownik
accc866203 obs-browser: Update version to 2.19.0
8985c0f - Add ability to mute individual browser docks/panels
c9d1e37 - Don't use app binary directory for logging
7142b21 - Add ability to directly open Dev Tools for Panels
2022-11-20 11:43:06 +11:00
Matt Gajownik
27e3f9718f libdshowcapture: Support more capture cards with uncoupled audio
Also disable clang-format for the submodule.
2022-11-20 11:39:46 +11:00
tytan652
74b245431c obs-ffmpeg: Use Libva in FFmpeg VA-API
Libva is directly used to check if DRI devices support H264 encoding.
2022-11-20 11:30:40 +11:00
cg2121
14bd880822 UI: Add filters button to scenes toolbar
Makes it easier to access scene filters.
2022-11-20 11:07:22 +11:00
Jim
572407a928 Merge pull request #7809 from obsproject/amf-av1-rebased
Add Hardware AMD AV1 Encoder
2022-11-19 15:52:16 -08:00
gxalpha
aceeed3430 UI: Remove Qt taskbar overlay
This is no longer needed with the native integration.
2022-11-19 18:48:27 -05:00
Ryan Foster
46e17a1160 obs-ffmpeg: Fix SVT-AV1 rate control mode selection
In updated versions of FFmpeg (5.1.x) and SVT-AV1 (1.2.0/1.3.0), the
rate contol mode selection mechanism has changed, causing CBR to throw
an "Invalid Parameter" error and the encoder will fail to start. This
appears to be caused by us specifying rc_max_rate, which will also fail
on FFmpeg CLI. Adjust how we manage rate control methods, appropriately
version-gated, to work with both our current dependency versions and the
versions that we'd like to use.
2022-11-19 15:44:12 -08:00
Antti Tapaninen
c7f4c78a69 libobs: Allow overriding video resolution per view 2022-11-19 15:34:54 -08:00