Commit Graph
140 Commits
Author SHA1 Message Date
tytan652 107b2a8f27 libobs-d3d11,libobs-opengl,plugins: Remove unneeded cast in switches
Those casts were usually used to workaround switch warnings.
2023-01-16 11:52:26 +01:00
Translation Updater 783bd52197 Update translations from Crowdin 2023-01-08 04:10:37 +00:00
jp9000 122e864c38 obs-ffmpeg, obs-qsv11: Ensure adapter order in encoder tests
On systems with multiple graphics adapters, one card can be configured
as power saving, and another card can be configured as performance.
Sometimes, OBS and the encoder test subprocesses will not be configured
the same way, so it's necessary to provide adapter order to the encoder
test subprocesses.

This change ensures the adapter order by passing the LUIDs to the test
subprocesses. The adapter indexes will then be updated accordingly.
2022-12-19 12:17:30 -08:00
jpark37 2a816c5fa7 obs-qsv11: Put mastering primaries in GBR order 2022-12-10 21:53:04 -08:00
Jim ee88776c7e obs-qsv11: Set subprocess timeout to 10 sec
(Jim note: Apparently my laptop with two intel GPUs actually took too
long, so I'm giving it another 2 seconds max)
2022-12-01 18:34:40 -08:00
jp9000 5496802182 obs-qsv11: Fix QSV detection
When this detection helper was originally written, it incorrectly set
the hardware implementation value. This fixes it to use the correct one
based upon the index.
2022-11-30 13:26:16 -08:00
Jim 5c0773e128 obs-qsv11: Fix encoder capping resolution on dgpus 2022-11-28 08:36:46 -08:00
Jim 9435458c46 Revert "obs-qsv11: Don't set to low power mode if AV1"
This reverts commit eaa85ca8b3.

(Jim note: I misunderstood the situation)
2022-11-28 08:04:20 -08:00
Jim 0aa12088b3 obs-qsv11: Fix HDR not working with AV1
Neither the mfxExtMasteringDisplayColourVolumme and
mfxExtContentLightLevelInfo structures appear to be supported when using
AV1, so if using AV1, do not include these structures.

It's unknown as to why AV1 fails to initialize when using either of
these extended structures as part of its configuration parameters.
Either they're completely unsupported or there's a member variable that
causes initialization to fail.
2022-11-27 14:19:22 -08:00
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
jp9000 dd61943ddf obs-qsv11: Remove statics, fix buffer misuse
This whole "array of pointers" thing is very dumb and dangerous.
2022-11-22 17:27:10 -08:00
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
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
Translation Updater f065f20ce1 Update translations from Crowdin 2022-10-25 22:32:14 +00:00
Translation Updater cc2d0791ca Update translations from Crowdin 2022-08-30 09:00:44 +00:00
derrod 1fdaf121e6 obs-qsv11: Do not apply limits if CPU generation is unknown
Users with AMD CPUs and Intel dGPUs (Arc) would find that QSV is
restricted to 1200p and missing features due to to this check failing.

Once the encoder gets rewritten for AV1 support we will fix this
properly.
2022-08-17 05:42:08 -07:00
Translation Updater 4aaa07f93d Update translations from Crowdin 2022-08-17 04:22:50 +00:00
jpark37 62165b42d7 obs-qsv11: Replace CRITICAL_SECTION with SRWLOCK
Fixes initialize/destroy pattern; also slightly more performant.
2022-08-16 07:38:43 -07:00
jpark37 7406f04851 obs-qsv11: Prevent 8-bit HDR, and 10-bit anything
Don't want to silently generate lossy video.
2022-08-16 07:38:07 -07:00
Translation Updater 81734be37c Update translations from Crowdin 2022-07-31 23:40:53 +00:00
Vainock eb06594381 Use property suffixes for units everywhere 2022-07-22 08:24:51 -04:00
Norihiro Kamae 7e3656ab33 plugins: Cleanup unused-parameters
- Remove unnecessary UNUSED_PARAMETER
- Add OBS_UNUSED attribute to unused parameters
- Also removes unused variables
2022-07-19 11:01:00 -04:00
Norihiro Kamae 56c502b254 obs-qsv11: Fix timestamp for fractional frame rate
This commit rounds the timestamp to the integer multiple of fps_den.
Prior to this change, since the timestamp in MFX is defined in units of
90 kHz, timestamps for 60000/1001 fps is not accurately expressed. Also
the encoder sometimes returns the decode time stamp slightly off.
Hence, the timestamp in OBS becomes not a multiple of fps_den after
converting back from the timestamp in MFX.
2022-07-14 19:20:40 -04:00
jpark37 8614697c59 obs-qsv11: Use same adapter as OBS
A mismatch will lead to failure.
2022-07-09 16:08:47 -07:00
PatTheMav aae3a6a466 cmake: Fix diverging prefix padding for OBS status outputs
Status output related to OBS configuration is prefixed with the string
"OBS" and added padding for enabled and disabled features. This padding
was not aligned between platforms.

By moving the padding and prefix decoration into its own function,
both elements are controlled in a single place. CMake scripts were
changed to use this new function `obs_status` instead of using CMake's
`message` function directly.
2022-03-26 09:44:23 -04:00
Richard Stanway 9170e0a9b1 obs-qsv11: Fix double free on CreateSurface failure
_dx9_simple_free already frees this pointer. I don't think this code
path is currently reachable, but it should probably still be fixed.
Detected by Coverity Scan.
2022-03-18 18:11:24 +01:00
PatTheMav 49e9d49943 plugins: Update CMakeLists.txt for included plugins 2022-03-16 23:11:08 +01:00
Translation Updater ac8dbf67be Update translations from Crowdin 2022-02-06 02:24:08 +00:00
Christine Lin 2474775f40 obs-qsv11: Fix memory leak in QSV plugin module 2022-01-22 15:30:36 -08:00
Translation Updater 261345f9ef Update translations from Crowdin 2021-12-12 02:38:59 +00:00
Christine Lin 3995326647 obs-qsv11: Remove Intel discrete device ID checking
As Intel continues to add discrete graphics cards, maintaining a long
list of discrete device IDs to check against isn't wise. When i+I
platforms are detected, default to integrated graphics.
2021-11-10 20:15:52 -08:00
Shlee dc4de4db11 obs-qsv11: Fix memory leaks
Closes obsproject/obs-studio#3298
2021-11-02 05:57:01 -07:00
Tommy Vercetti 31187d6997 obs-qsv11: Add ENABLE_QSV11 option 2021-10-24 02:13:04 -07:00
Aidan Delaney f319556dc1 obs-qsv11: Add plain-text copy of QSV11 email chain
Add a plain-text copy of the email chain that clarifies Intel's
position on the license of the QSV11 code.
2021-10-24 00:39:09 -07:00
Aidan Delaney 134ffe924f obs-qsv11: Remove Intel NDA from qsv11 plugin
Intel committed an NDA disclaimer on each source file.  The stated
intention was that the NDA "added to OBS doesn't apply to open source
code once it's been accepted by the community. You can remove it for
your modifications".  This quote is from an email chain involving
Intel's legal team and developers.  The NDA in the source files
mistakenly triggers source code scanners that look for license
violations.  I have removed the comments that contain the NDA.
2021-10-24 00:39:09 -07:00
Ryan Foster 424128a825 clang-format: Commit file changes for clang-format 11 2021-10-13 20:00:04 +11:00
Vainock 11a690b038 Update translations from Crowdin 2021-09-24 09:42:08 -07:00
Richard Stanway 1444ead812 Revert "obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support"
This reverts commit 1b29bfc884.
2021-08-23 18:26:37 -07:00
Richard Stanway 1b29bfc884 obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support
Unfortunately these encoders tend to crash or freeze after after
multiple bitrate changes. Users with dynamic bitrate enabled
experience a random encoder freeze which manifests as OBS dropping to
0kb/sec and disconnecting and it's not at all obvious that dynamic
bitrate is the cause. Disable it for now until we can figure out if
there is any workaround or bug on our end.
2021-08-20 14:51:16 -07:00
jpark37 998884a8e6 obs-qsv11: Update Intel Media SDK to 2021 R1
Verified my Rocket Lake CPU works now.
2021-06-30 01:49:06 -07:00
Translation ef2b1eb1c6 Update translations from Crowdin 2021-06-11 07:18:15 -07:00