77 Commits

Author SHA1 Message Date
Richard Stanway
e508216b31 Minor static analysis fixes 2014-03-10 23:18:15 +01:00
palana
02024ffcca Remove a whole bunch of tabs ...
Someone make Visual Studio remember that OBS1 uses spaces
2014-02-26 15:53:50 +01:00
palana
818f56b5f1 Add message to encoding settings if QSV is unavailable due to misconfiguration
Unfortunately this doesn't adequately cover configuration for Sandy Bridge (i.e.
monitor connected/forced output) and mainboards without Intel graphics support
2014-02-24 21:42:17 +00:00
palana
2088e99a69 Move encoder selection to encoding settings
This will automatically update profiles to the new encoder selection
according to the old setting resolution, i.e. UseQSV && UseNVENC results
in QSV being selected.

This should free up some space to allow more encoder troubleshooting and
diagnostics in the settings window (relevant QSV changes coming soon ...)

Also hopefully made supported encoder settings a bit more clear by
disabling more settings if the selected encoder doesn't support them
2014-02-23 13:19:42 +01:00
palana
780f7d410b Make QSVHelper exit early in case no compatible graphics card is found
This should fix initialization on Optimus laptops if QSVHelper is forced
to the Nvidia graphics card (fix as in not initialize a non-accelerated
session resulting in sub par performance)

Sadly this will also disable the QSV checkbox in advanced settings for
some people that should have QSV support
2014-02-20 15:59:46 +01:00
palana
ec421e580a Add 'profile' advanced option support for QSV encoder
Fix #304
2014-02-15 22:45:57 +01:00
palana
e8467dc87f Add QSV preset selection setting
Also improve string output for QSV target usages
2014-02-14 04:08:26 +01:00
palana
ed314cfce6 Implement QSV preset selection via init request 2014-02-14 03:45:29 +01:00
palana
5ae6cca2fc Output qsvimpl error only if there actually is a qsvimpl parameter 2014-01-11 04:26:39 +01:00
palana
13906eb934 Refactored encoder initialization, display errors instead of silently using x264
Added a bunch of (localized) error messages for QSV and NVENC
2014-01-04 01:41:23 +01:00
palana
2f3d119e32 Output complete sei_rbsp (including rbsp_trailing_bits) 2014-01-03 07:35:37 +01:00
palana
d1a272e5f0 Stop processing NAL_SEI when rbsp_trailing_bits is encountered 2014-01-03 07:35:36 +01:00
BtbN
270481f91d Fix some warnings 2014-01-02 17:37:31 +01:00
palana
764f01f778 Added h264 main profile override to QSV encoder 2013-12-19 15:19:16 +01:00
palana
f802bb8868 Log bframe_delay adjustments and lower bframe_delay instead of crashing 2013-12-06 00:56:16 +01:00
palana
62865a59fc Fixed frame_ticks calculation and added bounds check for init_pts 2013-12-05 04:59:25 +01:00
palana
58c2ad0227 Improve DTS handling for QSV encoder
Improves audio delay/sync
2013-12-04 20:25:33 +01:00
palana
0e9663f696 Extend QSV resolution check for Ivy Bridge 2013-12-04 20:25:32 +01:00
palana
d84552ad82 Fixed typo in QSV encoder height check 2013-12-04 20:25:32 +01:00
palana
c1021997b7 Fixed broken identifier 2013-10-17 00:57:41 +02:00
palana
3bacf25fea Added detection for unsupported high resolutions on Sandy Bridge QSV 2013-10-17 00:12:47 +02:00
palana
56b2baf286 Add error message for failed initialization on windows 7 (and earlier) 2013-10-07 16:34:53 +02:00
palana
134a13c80d Moved QSV encoder implementation to QSVHelper
Notable improvements:
- fixes d3d11 mode on all tested configurations
- should improve compatibility with Optimus (untested)
2013-09-25 21:36:21 +02:00
palana
a426dda319 Added more descriptive error messages to QSV encoder
QSV encoder will now trigger a CrashError if there are no new idle tasks after 1500 ms
2013-09-14 00:10:23 +02:00
palana
a2d553d793 Made custom QSV implementation setting default to hardware autoselect 2013-09-13 18:57:51 +02:00
palana
45e6c0b3a9 Updated AUTHORS and various file header copyright notices 2013-09-12 04:14:26 +02:00
palana
55af151ab5 Handle aborted QSV sync operations 2013-09-10 00:43:07 +02:00
Gol-D-Ace
2a09d703b3 Removed whitespace in OBSApi/Utility/Profiler.cpp + Source/Encoder_QSV.cpp 2013-09-07 18:19:26 +02:00
palana
a7823ffec4 Actually use selectable color space matrix in QSV encoder 2013-09-07 02:50:05 +02:00
palana
693e659737 Implemented selectable color space matrix in QSV encoder 2013-09-06 19:53:25 +02:00
palana
1936f24c33 Refactored memset calls in QSV encoder 2013-09-06 19:47:26 +02:00
palana
25080db838 Add mutex to RequestBuffers and related calls in QSV encoder 2013-09-06 16:06:07 +02:00
palana
0a7da6cb4d Re-enabled profiler calls in QSV encoder 2013-09-06 15:42:26 +02:00
jp9000
fd014bfe97 Allow selectable color space matrix outputs 2013-09-03 09:10:17 -07:00
palana
e605e3c8f6 Disabled profiler calls in QSV encoder
Fixes crashes due to new encoder thread
2013-09-01 22:50:53 +02:00
jp9000
f17ddc84c6 Separated encoding to a separate thread to prevent constant framerate issues, and increased frame timing precision to nanosecond approximation 2013-08-31 13:13:50 -07:00
palana
d6ac596dcf Added keyframe interval option support for QSV 2013-08-05 03:05:31 +02:00
palana
1b41d2fefa Implemented encoder flushing for QSV 2013-08-03 05:13:36 +02:00
Richard Stanway
5b6f99e72d Flush encoder before exiting video processing loop 2013-07-21 09:06:59 -04:00
palana
4cd481f138 Added QSV profile for platforms with non-functional D3D11 API version 1.6 support and broken acceleration on API version 1.4 2013-07-12 06:03:45 +02:00
palana
7d68f732cc Improved QSV device auto initialization and added override via custom parameter
Auto initialization is still triggered if the session initialization fails with custom qsvimpl parameter
2013-07-10 04:01:04 +02:00
palana
fcc8b34c57 Added headless Direct3D11 mode for QSV on Ivy Bridge or better 2013-06-26 01:43:43 +02:00
palana
a64fada9bb Fix video packet priorities for QSV 2013-06-06 06:21:57 +02:00
palana
357c10f90b Fix off by one error for custom bframes setting in QSV 2013-06-06 06:16:52 +02:00
palana
b3a6243824 Fix warning for win32 and x64 2013-06-05 00:24:10 +02:00
jp9000
c9cd8228cb fixed a minor warning and and removed white space 2013-06-04 02:57:48 -07:00
palana
f549e0bd5f Fixed a potential bug with SEI payload creation and a minor compiler warning 2013-06-04 04:11:00 +02:00
palana
61cc3c7a93 Split multiple SEI messages into multiple packets for QSV and add SEI user data to h264 bitstream 2013-06-04 00:04:20 +02:00
palana
feaa174298 Generalized encode control handling for QSV 2013-06-03 23:48:45 +02:00
palana
3af9e9b366 Allow custom settings for IDR interval and bframes for QSV 2013-06-02 18:45:14 +02:00