Commit Graph

75 Commits (d5d36b2f7a6e0981214bbc1e5b32899b219f2a6a)

Author SHA1 Message Date
Colin Edwards 55e2985026
Merge pull request #1944 from WizardCM/windows-rc-definition
CMake: Build Windows modules with file descriptors
2020-04-18 18:27:22 -05:00
brittneysclark cc896b6c03 obs-qsv11: Enable QSV texture-based encoding
Enables a pipeline for texture-based encoding with QSV. Utilizes OBS
NV12 output for encode to avoid offloading them from GPU, which will
increase performance. The option to select old QSV pipeline still
remains and will fallback if new pipeline fails.
2020-04-17 09:05:52 -07:00
skyboy 0c87670ee8 obs-qsv11: Fix QuickSync LA_ICQ encoder settings 2020-03-28 07:31:22 -04:00
Ryan Foster 56348a0b46 obs-qsv11: Fix target usage values
PR #1937 (commit b9ad1ce) added QSV target usage options, but there was
a comma missing between two of the array entries. This resulted in
"faster" and "veryfast" becoming "fasterveryfast", which is not valid.

Code style changes were required by .clang-format.
2020-03-20 05:30:18 -04:00
Gol-D-Ace d74fc65047 Update translations from Crowdin 2020-03-16 20:14:50 +01:00
Daniel Hill b9ad1ceb64 obs-qsv11: Add all TargetUsage values
Using terminology from FFmpeg reference, implement:
https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/cloud-computing-quicksync-video-ffmpeg-white-paper.pdf
2019-12-15 05:20:49 -08:00
Matt Gajownik 51be039cf8 CMake: Build Windows modules with file descriptors 2019-10-15 21:34:12 +11:00
brittneysclark ffd0bbb1ab obs-qsv11: Enable option for Custom Quantization Matrix
Add the option to enable custom quantization matrix for game streaming
on ICL for better subject quality. Feature is only supported with AVC
high profile, so added function to detect when QSV profile is modified
and hide or show CQM UI option accordingly. Also, increase SPS/PPS
buffer sizes since matrix is stored in SPS/PPS.
2019-10-11 01:10:08 -07:00
brittneysclark dc76bf2fe9 obs-qsv11: Add platform enums for KBL and ICL
Add two new platform enums for enabling future features
2019-10-11 01:10:08 -07:00
Gol-D-Ace 03b5be75e4 Update translations from Crowdin 2019-09-17 23:21:00 +02:00
jpark37 fcca1c4476 obs-qsv11: Remove leftover stack variable 2019-08-30 23:45:14 -07:00
jp9000 c5178a5d1e obs-qsv11: Do not enable b-frames on sandy/ivy bridge
B-frames on sandy/ivy bridge do not work, so disable for those
platforms.
2019-08-26 08:13:24 -07:00
jp9000 806ab5a022 libobs: Mark encoders that support dynamic bitrate
(This commit also modifies mac-vth264, obs-ffmpeg, obs-qsv11, and
obs-x264)
2019-08-18 03:14:38 -07: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
brittneysclark 00c06446d7 obs-qsv: Remove check for AsyncDepth in InitParams
AsyncDepth = 1 does not mean low latency so we can use default
MaxDecFrameBuffering
2019-07-19 02:33:01 -07:00
brittneysclark 2f62831a96 obs-qsv: Enable LA_CBR as QSV rate control
Allow user to choose look ahead CBR as the rate control method for QSV.
Also, changes look ahead depth default to 15 when used.
2019-07-16 07:46:02 -07:00
brittneysclark 8717a66991 obs-qsv: Enable Content Adaptive Quantization
Allow user to enable Content Adaptive Quantization (MMBRC) if CPU is SKL
or newer
2019-07-13 00:10:16 -07:00
brittneysclark b675bed90b obs-qsv: Enable B-frames and B-pyramid for encoder
Enable B-Pyramid frames to improve quality for high motion content.
B-pyramid allows a B-frame to choose closer frames for reference which
may have higher correlation.

Adjusts packet priority to avoid dropping referable B-frames

A check has been added to ensure feature is enabled only on platforms
with MSDK API 1.8 or higher - addresses crashing issues.
2019-07-12 23:35:16 -07:00
brittneysclark 2b59b010bb obs-qsv: Add newer platforms to CPU enum
Adding BDW and SKL to QSV CPU enum to check CPUID before enabling newer
QSV features
2019-07-12 08:04:57 -07:00
jp9000 f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
jp9000 53615ee10f clang-format: Add clang-format files 2019-06-23 01:53:56 -07:00
Gol-D-Ace 973bc481ce Update translations from Crowdin 2019-06-11 01:42:42 +02:00
brittneysclark 092c35b2d7 obs-qsv: Update libmfx, fix QSV with new DCH drivers
This patch fixes QSV failing with new DCH graphics drivers. QSV is not
initializing under certain conditions when the graphics adapter 0 is not
set to iGFX due to outdated MSDK dispatcher. Updating to MSDK with new
dispatcher to enable proper initialization of QSV encoder with DCH
drivers.
2019-05-09 17:31:35 -07:00
Clayton Groeneveld 31b73f8025 UI: Add ability to set properties spinbox suffix 2019-05-02 08:54:14 -07:00
Clayton Groeneveld 1160ee767a UI: Increment bitrates by 50 2019-04-30 06:54:02 -05:00
Gol-D-Ace e78ac5ebef Update translations from Crowdin 2019-04-04 16:19:51 +02:00
jp9000 4c7860056e Revert "Merge pull request #1418 from cabirdme/qsv_feature_add"
This reverts commit 3c22cf35c9, reversing
changes made to c7dab6c92b.

This is being reverted due to many people being unable to start up the
QSV encoder with these changes.
2019-03-05 15:21:09 -08:00
jp9000 92cb20e7a2 Revert "obs-qsv: Enable b-pyramid & change packet priority"
This reverts commit 33ff46a10e.

This is being reverted due to many people being unable to start up the
QSV encoder with these changes.
2019-03-05 15:20:42 -08:00
Colin Edwards 4f6d167951 obs-qsv11: Fix crash on destructor after init failure 2019-02-28 20:11:21 -06:00
Colin Edwards d8f254550f obs-qsv11: Don't try to free non allocated array on destruction 2019-02-28 17:56:12 -06:00
Gol-D-Ace c3711bdd5e Update translations from Crowdin 2019-02-20 22:26:07 +01:00
brittneysclark 33ff46a10e obs-qsv: Enable b-pyramid & change packet priority
- Enable b-pyramid frames
- Adjust packet priority to avoid dropping referencable B frames

Closes obsproject/obs-studio#1520
2019-01-25 12:13:22 -08:00
Colin Edwards e9b4d50606 obs-qsv11: Log errors on init 2019-01-04 20:01:39 -06:00
Jim af320a0838
Merge pull request #1480 from kkartaltepe/module-descriptions
Plugins: Add descriptions to modules
2018-09-16 15:34:28 -07:00
Jim 3c22cf35c9
Merge pull request #1418 from cabirdme/qsv_feature_add
obs-qsv: Expose additional QSV encoder settings through GUI
2018-09-16 08:17:12 -07:00
Kurt Kartaltepe d86c8121ed Plugins: Add descriptions to modules 2018-09-11 18:28:58 -07:00
Bird, Christopher 99b8c8390f obs-qsv: enable High Profile for QSV h264
- New QSV Default -> H264 High profile.  Previous Default -> H264 Main profile
2018-09-10 10:23:43 -07:00
Gol-D-Ace a79aaa28ab Update translations from Crowdin 2018-08-18 04:16:35 +02:00
Jim 57675513b7
Merge pull request #1409 from Dmitry-Me/initMemberVar01
obs-qsv11: Initialize member variable
2018-08-17 15:04:36 -07:00
Richard Stanway 144d23a9cc
obs-qsv11: Protect context variable in clear_data 2018-08-11 02:57:23 +02:00
Bird, Christopher 58812bc0b3 obs-qsv: Expose additional QSV encoder settings through GUI
- Allow user to change # of B frames. New Default -> 1
- Allow user to enable Content Adaptive Quantization (MBBRC) if CPU is Skylake or newer.
- Allow user to choose LA_CBR as a rate control.
- LA depth: New Default -> 15, only when LA rate control is used.
2018-08-08 10:39:57 -07:00
Dmitry-Me ddb239faa1 obs-qsv11: Initialize member variable 2018-08-06 17:18:59 +03:00
Bird, Christopher 3a08e858a6 obs-qsv: Allow for multiple QSV encoders
Allow multiple QSV encoders, usefull for live + recorded parallel
sessions.  The first QSV encoder will create a DirectX device and return
a handle / pointer.  Any additional QSV encoder will use that same
pointer to the DirectX device.  We keep track of the number of open
QSV encoders so that we wait to close the DirectX resources after all
encoders are closed.

Closes obsproject/obs-studio#1341
2018-07-18 17:16:01 -07:00
Gol-D-Ace 88282c168c Update translations from Crowdin 2018-03-15 09:00:28 +01:00
Gol-D-Ace 8d8c2e5a22 Update translations from Crowdin 2017-08-10 16:07:40 +02:00
jp9000 e230f77311 obs-qsv11, obs-x264: Allow bframe count overriding
Allows the ability to override bframes (useful for specific protocols)
2017-07-14 12:39:20 -07:00
sorayuki be2dc31ad1 obs-qsv11: change re-enter locker implementation
Change re-enter lock from mutex to atomic variable.
2017-06-29 12:10:14 +08:00
Gol-D-Ace 3d2cacd782 Update translations from Crowdin 2017-05-20 10:18:41 +02:00
Richard Stanway 34ee1a87c3
obs-qsv11: Fix SEI crash caused by dangling pointer 2017-05-04 21:44:42 +02:00
e00E 4361c5bd45 UI, obs-qsv11: Fix build in VisualStudio 2017
OBS did not build out of the box in VS2017 but it does with these
changes.

Closes jp9000/obs-studio#902
2017-05-04 06:13:26 -07:00