Commit Graph

4115 Commits (b277000f9773b929d81873a5a1ac677325478a95)

Author SHA1 Message Date
Joseph El-Khouri 3b616823a1 UI: Add preview scaling options
Adds preview scaling to the right-click context menu for the preview
pane.  This allows the ability to, for example, zoom the preview and
edit the preview 1:1 (canvas/base resolution).  This was a missing
parity feature.  Additionally, also allows scaling to the
"output/scaled" resolution the program is set to.

When the preview is in scale mode and is the focused widget, you can
hold space and drag with left click to change the zoomed position.

(Notes added by Jim)

Closes jp9000/obs-studio#687
2016-11-09 14:21:47 -08:00
Jim ee5aecac01 Merge pull request #688 from reboot/fix_duplicating_scene_sources
libobs: Duplicate filters of a scene when it is is duplicated
2016-11-09 13:44:53 -08:00
Jim 2ab8904cde Merge pull request #689 from Xaymar/plugin_enc-amf
enc-amf: Update to version 1.4.1.5
2016-11-09 13:10:50 -08:00
Michael Fabian Dirks ffbf115ef3 enc-amf: Update to version 1.4.1.5 2016-11-09 21:49:16 +01:00
Ryan Foster d516a33c60 libobs: Add Windows bitness/arch to crash handler
Commit aa899c2 (PR #603) added Windows bitness/arch to regular logs.
This adds it to the crash logs.

Closes jp9000/obs-studio#690
2016-11-09 12:44:10 -08:00
Ryan Foster 788a1e22b7 libobs: Refactor check for Windows bitness/arch
Commit aa899c2 (PR #603) added logging for Windows bitness/arch, but it
was a bit incomplete/short-sighted.  It only added that information to
the regular logs.  This commit makes it easier to retrieve that
information for other purposes, like the crash handler.
2016-11-09 12:41:07 -08:00
Jim 85243139d9 Merge pull request #691 from wiiaboo/i444_fix
obs-ffmpeg: Fix assumption about plane height with i444
2016-11-09 11:03:17 -08:00
Ricardo Constantino 8c3b475812
obs-ffmpeg: Fix assumption about plane height with i444
Affected both FFmpeg and nvenc encoders.
Fixes issue 667.
2016-11-09 16:04:12 +00:00
jp9000 9adad2ebc2 libobs: Update to 0.16.5 2016-11-07 21:04:06 -08:00
jp9000 f6fae9b7e9 libobs-d3d11: Remove possible null pointer dereference 2016-11-06 16:49:02 -08:00
jp9000 bd5de5d938 libobs-d3d11: Include GDI surface in rebuild
The GDI surface was not included in the rebuild process, therefore when
window capture is used, it would cause a crash after a rebuild.
2016-11-06 16:46:38 -08:00
Christoph Hohmann a276b9023b libobs: Duplicate filters of a scene when it is is duplicated
When a scene is duplicated the filters on the scene were not copied to
the new scene. This causes that a temporary copy of a scene renders
differently in the program than in the preview when using studio mode.
2016-11-05 19:51:06 +01:00
jp9000 b77fdd7c9a libobs: Update to version 0.16.4 2016-11-04 05:54:02 -07:00
Jim 6be527e25c Merge pull request #685 from Xaymar/plugin_enc-amf
enc-amf: Fix VS2013 compiling issue
2016-11-04 05:52:22 -07:00
Michael Fabian Dirks b25a38517f enc-amf: Fix VS2013 compiling issue
VS2013 doesn't include <memory> by default, this quick update fixes that problem.
2016-11-04 13:51:47 +01:00
jp9000 fa0bd585a5 Revert "UI: Enable HiDPI scaling."
This reverts commit c4eebbba54.
2016-11-04 04:27:07 -07:00
jp9000 06894c6e84 Revert "UI: Only scale HiDPI on QT 5.6+"
This reverts commit 404258f41a.
2016-11-04 04:26:52 -07:00
Jim e72d59e2c7 Merge pull request #684 from Xaymar/plugin_enc-amf
enc-amf: Update to Version 1.4.1.0
2016-11-04 04:20:18 -07:00
Michael Fabian Dirks 25fa895796 enc-amf: Update to Version 1.4.1.0 2016-11-04 12:06:24 +01:00
Jim 98d293d267 Merge pull request #683 from RytoEX/BasicTransform-tab-order
UI: Fix tab order of Crop fields in Transform Properties
2016-11-04 03:40:17 -07:00
Ryan Foster 2c5577facd UI: Fix tab order of Crop fields in Transform Properties 2016-11-04 06:25:46 -04:00
jp9000 41a3a30655 win-mf: Deprecate AMD Media Foundation H.264 encoder 2016-11-03 14:24:53 -07:00
jp9000 5b44b1994e libobs: Update to version 0.16.3 2016-11-03 13:36:23 -07:00
jp9000 ed85b22534 Update translations from CrowdIn 2016-11-03 13:32:52 -07:00
Jim f8f71541ad Merge pull request #680 from Xaymar/plugin_enc-amf
enc-amf: Update to version 1.4.0.0
2016-11-03 13:09:51 -07:00
Michael Fabian Dirks 8307ba1118 enc-amf: Update to release 1.4.0.0 2016-11-03 20:59:09 +01:00
Michael Fabian Dirks 01a33edea9 UI: Add AMD presets and update settings 2016-11-03 20:34:57 +01:00
jp9000 d0e186497f UI: Allow the ability to use deprecated sources 2016-11-03 12:28:33 -07:00
jp9000 0b27b51294 win-capture: Add D3D12 capture support
Currently only supports shared texture capture, and doesn't support
rescaling.
2016-11-03 12:13:42 -07:00
jp9000 f49065b1e6 win-capture: Use IUnknown for getting swap backbuffers
Using IDXGIResource doesn't work with D3D12.  D3D12 textures are not a
subclass of that class.
2016-11-03 09:28:32 -07:00
jp9000 81ab13a2a4 win-capture: Cache cursor textures to prevent reallocation
Whenever a cursor is captured and the cursor icon changes, it creates a
new texture.  This isn't particularly optimal, so instead just store a
cache of cursor textures (based on size), and make the textures dynamic.
Doing this will prevent unnecessary texture reallocation.
2016-11-03 09:23:25 -07:00
jp9000 8e8834f109 libobs-d3d11: Rebuild device and assets if device removed/reset
Due to an NVIDIA driver bug with the Windows 10 Anniversary Update,
there are an increasingly large number of reports of "Device Removed"
errors and TDRs.  When this happens, OBS stops outputting all data
because all graphics functions are failing, and it appears to just
"freeze up" for users.

To temporarily alleviate this issue while waiting for it to be fixed,
the D3D subsystem can be rebuilt when that happens, all assets can be
reloaded to ensure that it can continue functioning (with a minor hiccup
in playback).

To allow rebuilding the entire D3D subsystem, all objects that contain
D3D references must be part of a linked list (with a few exceptions) so
we can quickly traverse them all whenever needed, and all data for those
resources (static resources primarily, such as shaders, textures, index
buffers, vertex buffers) must be stored in RAM so they can be recreated
whenever needed.

Then if D3D reports a "device removed" or "device reset" error, all D3D
references must first be fully released with no stray references; the
linked list must be fully traversed until all references are released.
Then, the linked list must once again be traversed again, and all those
D3D objects must be recreated with the same data and descriptors (which
are now saved in each object).  Finally, all states need to be reset.

After that's complete, the device is able to continue functioning almost
as it was before, although the output to recording/stream may get a few
green frames due to texture data being reset.

This will temporarily alleviate the "Device Removed" issue while waiting
for a fix from NVIDIA.
2016-11-03 09:23:24 -07:00
jp9000 5eb0c4ec83 libobs-d3d11: Add Release funtions to all GS objects
Releases references for each graphics object.
2016-11-03 09:23:23 -07:00
jp9000 54737c9c68 libobs-d3d11: Remove unused function 2016-11-03 09:23:22 -07:00
jp9000 951c6892b0 libobs-d3d11: Use linked list for all objects (for rebuilding) 2016-11-03 09:23:21 -07:00
jp9000 5c71f79d5f libobs-d3d11: Make shared texture error message less vague 2016-11-03 09:23:20 -07:00
jp9000 ecd5b4ee81 libobs-d3d11: Save all D3D11 object descriptors (for rebuilding) 2016-11-03 09:23:19 -07:00
jp9000 bab77c2afd libobs-d3d11: Store static vertex buffer data (for rebuilding)
Instead of letting vertex buffer data be freed immediately, store it so
it can be used for rebuilding later.  Also, separate the buffer building
to a function.
2016-11-03 09:23:18 -07:00
jp9000 61042e2bc4 libobs-d3d11: Store static textures in RAM (for rebuilding) 2016-11-03 09:23:17 -07:00
jp9000 e4900751c3 libobs-d3d11: Store device adapter index (for rebuilding) 2016-11-03 09:23:16 -07:00
jp9000 6d18ae39c5 libobs-d3d11: Store swap initialization data (for rebuilding) 2016-11-03 09:23:15 -07:00
jp9000 bc0faf9a3c libobs-d3d11: Clear device state before unloading
Unloads all device data and clears all device references.  Probably not
necessary, but it's unknown how D3D11 handles this internally so
probably best to be safe.
2016-11-03 09:23:14 -07:00
jp9000 a5ed61e02e libobs-d3d11: Store index and add "Start" function
This allows restarting the duplicator at a later point in time.
2016-11-03 09:23:13 -07:00
jp9000 75cd6b4ab4 libobs-d3d11: Correct error message creating blend states 2016-11-03 09:23:12 -07:00
jp9000 66bdf43e44 libobs-d3d11: Correct error message for staging surfaces 2016-11-03 09:23:11 -07:00
jp9000 7321cc38e8 libobs-d3d11: Store shader samplers as pointers
This allows having them be a part of a linked list later.
2016-11-03 09:23:10 -07:00
jp9000 d4d0cd479d libobs-d3d11: Correct error message for pixel shaders 2016-11-03 09:23:09 -07:00
jp9000 1ecb1550af libobs-d3d11: Store compiled shader data (for rebuilding) 2016-11-03 09:23:08 -07:00
jp9000 29eea269fc libobs-d3d11: Store dxgi adapter used for device
Keeping a reference is useful, and additionally allows pruning a bit of
duplicated code in the dupicator object.
2016-11-03 09:23:07 -07:00
Michael Fabian Dirks cc1949c251 UI: Add --verbose and --unfiltered_log command line options
--verbose enables logging of messages and LOG_INFO and --unfiltered_log disables repeated log line filters. Both are useful for extreme support sessions where things have gone so far south that you actually would need this.
2016-11-03 16:14:01 +01:00