Commit Graph

45 Commits (master)

Author SHA1 Message Date
palana 78fd33c76c Add QSV Sandy Bridge + D3D11 profile 2015-10-13 15:58:18 +02:00
palana fa8b2b044e Assume QSV being supported means Haswell or better
This should work for Broadwell/Skylake/whatever comes next, could
potentially break for new chips with old Quick Sync units though
2015-09-21 16:49:07 +02:00
palana d3d3edd40b Add more QSV CPUIDs 2015-09-21 16:49:06 +02:00
Richard Stanway 270c63a24f Set PE checksum in release builds 2015-03-14 17:06:16 +01:00
palana 7100ba89fa Saturate QSV bitrate even for custom parameters
Fixes QSV not initializing with very high bitrates when custom
parameters are used
2014-09-27 19:26:45 +02:00
Richard Stanway 2d26f549bd Various small fixes picked up by Coverity Scan 2014-08-22 20:56:08 +02:00
Richard Stanway b5b0aea62e Update project files for VS 2013 Update 3 2014-08-22 19:21:29 +02:00
palana 7df674d129 Fix CBR overruling custom params in QSVHelper 2014-08-13 01:03:17 +02:00
palana 0b0b5d28e6 Add custom parameters for QSV rate control modes
Custom parameters can be set via profile settings. This also allows
selecting newer modes such as look ahead modes on Haswell+.
2014-08-13 00:37:52 +02:00
palana 2697fa9893 Add QSV parameters dump function 2014-08-13 00:37:51 +02:00
palana 330bc3aa3d Add QSV parameter ext coding options 2014-08-13 00:37:51 +02:00
palana 1b64d310be Refactor QSV parameters ext buffers initialization 2014-08-13 00:37:50 +02:00
palana 12eb2097e3 Fix QSV parameters copy constructor 2014-08-13 00:37:50 +02:00
palana 3c73cc56a1 Exit QSVHelper when encoder init fails 2014-08-13 00:37:49 +02:00
palana ebd85c3201 Add new QSV API versions 2014-08-13 00:37:48 +02:00
palana 9014a4fecf Implement QSV encoder flushing 2014-08-13 00:37:48 +02:00
palana b10db96dc0 Make QSV stop signal reset manual 2014-08-13 00:37:47 +02:00
palana 3fa992beed Fix stop signal types in QSV encoder 2014-08-13 00:37:47 +02:00
palana 7f4522f9b5 Fix an issue with OBS to QSV bitrate conversion
Also log a warning if (user) configured bitrate exceeds maximum QSV bitrate
(maximum QSV bitrate is 2**16-1 = 65535)
2014-05-09 04:44:14 +02:00
palana a966964617 Use QSVHelper utilities in Encoder_QSV.cpp
Utilities.h will now also undefine min/max macros so std::min/std::max and
similar functions can be used
2014-05-09 04:44:13 +02:00
Richard Stanway 9977a22646 Add VS2013 workaround to every project, since they all use static CRT. 2014-04-25 11:28:52 +02:00
palana b6cc5516cc Remove a few VS2010 workarounds
VS2010 has problems with range-based for loops and with constructing a map item
that contained uncopyable types
2014-03-13 18:18:51 +01:00
palana 03536720fc Convert project to VS2013 and add compiler flag for improved release debugging
See http://blogs.microsoft.co.il/sasha/2011/10/12/debugging-optimized-code-in-visual-studio-11/
for details on the compiler flag
2014-03-12 15:29:44 +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 902364b35f Move remaining magic QSVHelper exit codes to defines 2014-02-20 15:34:13 +01:00
palana ec421e580a Add 'profile' advanced option support for QSV encoder
Fix #304
2014-02-15 22:45:57 +01:00
palana 0d6633c063 Add QSV preset to SEI user data 2014-02-14 19:57:56 +01:00
palana ed314cfce6 Implement QSV preset selection via init request 2014-02-14 03:45:29 +01:00
palana 764f01f778 Added h264 main profile override to QSV encoder 2013-12-19 15:19: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 4c6c4aaefc Initialize QSV encoder before querying parameters
Fixes crash with buffer set to 0
2013-11-22 15:34:07 +01:00
palana 56b2baf286 Add error message for failed initialization on windows 7 (and earlier) 2013-10-07 16:34:53 +02:00
palana 8c28934238 Only allocate framebuffers for NUM_OUT_BUFFERS 2013-10-07 16:34:53 +02:00
Remco Ros 14c66b0e28 Add WindowsSDK80Path UserMacros ProperyGroup to QSVHelper.vcxproj 2013-09-28 16:22:02 +02:00
palana 94d8e84495 Fixed ComPtr conversion error 2013-09-27 19:35:39 +02:00
palana 0899e7984a Change SDK warning to version 8 2013-09-26 22:26:22 +02:00
palana 06e071fce3 Add #error for required windows sdk version 2013-09-26 22:24:54 +02:00
Richard Stanway 22ee33bfee Updated bundled libmfx to Media SDK 2013 R2, fix QSVHelper build 2013-09-26 22:03:44 +02:00
palana 661e90f0a5 Reset custom implementation warning if using auto detect 2013-09-26 20:03:18 +02:00
palana a08e4d9483 Propagate D3D11 device errors on initialization 2013-09-26 19:58:15 +02:00
palana 744053641d Close D3D11 devices on re-initialization 2013-09-26 19:41:56 +02:00
palana d5b0f51980 Removed ATL header reference aswell 2013-09-25 22:44:51 +02:00
palana 9eef86e1d2 Removed ATL dependencies 2013-09-25 22:40:03 +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