7.6 KiB
Type, State, Title, Project, Project_URL, Project_Version, Language, Language_Code, Authors, Copyright, License, License_Abbr, License_URL
| Type | State | Title | Project | Project_URL | Project_Version | Language | Language_Code | Authors | Copyright | License | License_Abbr | License_URL | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| article |
|
Intel QuickSync | HandBrake | https://handbrake.fr/ | Latest | English | en |
|
2019 HandBrake Team | Creative Commons Attribution-ShareAlike 4.0 International | CC BY-SA 4.0 | https://handbrake.fr/docs/license.html |
Intel Quick Sync Video
Supported Hardware and Configurations
- Intel Skylake Processors (6th Generation Core) CPU's with Intel HD Graphics better
- Windows 10 (GUI and CLI)
- Linux (Available in our flatpak build via a plugin)
Please note, these are not hard limits and the feature may work on older cards and operating systems, but this is not officially supported.
Enabling support
Support for the QuickSync encoder can be enabled in preferences under the video tab. If your system is not supported, the option will be greyed out.
Performance
Take note that only the decode (when enabled) and encode portions of the pipeline is done on the Intel hardware. Every stage in the pipeline in-between including (decoding, filters, a/v sync, muxing etc.) all happen on the CPU. As a result, it is normal to have high, or 100% CPU utilisation during encodes.
It is common, particularly on lower end hardware that the CPU may be a bottleneck for the encoder. To minimise this effect, turn off any filters that you do not require.
Using the Advanced Options
QuickSync does have a limited set of advanced encoder options that can be used. Generally speaking is is not recommended to change these parameters. The built-in presets offer a good range of options.
From the command line, you can use the --encopts parameter as follows:
--encopts="option1=value1:option2=value2"
From the graphical user interface, just set the options in the dedicated text box:
option1=value1:option2=value2
Option Types
The following value types are supported (each option only accepts one value type):
-
integer A number that can be written without a fractional or decimal component.
-
boolean 0 means off (or disabled). 1 means on (or enabled).
-
string Takes a setting defined as s string. See comment for details.
Available Options
Available Options
-
target-usage (or tu)
- Sets the trade-off between quality and speed, from 1 (best quality) to 7 (best speed).
- Default: 2
-
num-ref-frame (or ref)
- Number of reference frames, from 1 to 16.
- 0 means unspecified (set at runtime by the implementation).
- Default: 0 (unspecified)
-
gop-ref-dist
- Distance between I or P reference frames, from 1 to 16.
- -1 means automatic (4 in constant QP mode, 3 otherwise).
- 0 means unspecified (set at runtime by the implementation).
- 1 means B-frames will not be used.
- Default: -1 (automatic)
- Note: may be sanitized to a lower value in some cases to avoid hangs.
-
gop-pic-size (or keyint)
- Number of pictures within the current GOP (aka "keyframe interval").
- -1 means automatic (32 in constant QP mode, 1 second long otherwise).
- 0 means unspecified (set at runtime by the implementation).
- 1 means only I-frames will be used.
- 2 means B-frames will not be used.
- Default: -1 (automatic)
-
cavlc
- Use CAVLC instead of CABAC entropy coding. Reduces compression efficiency.
- It may improve encoding performance slightly, especially on older hardware.
- Note: you can also use ''cabac'' (same as ''cavlc'' with reversed meaning).
- Default: 0 (CAVLC off, CABAC on)
-
b-pyramid
- Enables or disables "Pyramidal B-frames" which can improve compression efficiency.
- It may be incompatible with some playback devices (such as the first generation AppleTV).
- Note that this options modifies other parameters (gop-ref-dist, num-ref-frame, gop-pic-size).
- -1 means automatic (on in constant QP mode, off otherwise).
- 0 means off (disabled).
- 1 means on (enabled).
- Default: -1 (automatic)
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.6 of the Media SDK API.
-
mbbrc
- Enables macroblock-level bitrate control that generally improves subjective visual quality.
- It may have a negative impact on performance and objective visual quality metrics.
- Default: 1 (on)
- Note: not compatible with Constant QP or !LookAhead rate control methods (ignored).
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.6 of the Media SDK API.
-
extbrc
- Use extended bitrate control algorithms.
- It generally improves objective visual quality metrics and subjective visual quality,
- but can also lead to violation of HRD conformance and may significantly reduce performance.
- Default: 0 (off)
- Note: not compatible with Constant QP or !LookAhead rate control methods (ignored).
- Caveats: requires driver support for version 1.6 of the Media SDK API.
-
trellis
- Enables trellis quantization.
- 0 means trellis is disabled.
- 1 means trellis is enabled for I-frames only.
- 2 means trellis is enabled for I and P-frames.
- 3 means trellis is enabled for all frames (I, P and B).
- Default: 0 (disabled)
- Note: ignored if the target-usage is too low (usually, only works in combination with tu=1).
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 of the Media SDK API.
-
lookahead (or la)
- Use the !LookAhead (LA or LA_ICQ) bitrate control algorithm.
- Default: 1 (on)
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 (1.8 for LA_ICQ) of the Media SDK API.
-
lookahead-depth (or la-depth)
- If !LookAhead bitrate control is enabled, number of frames that are analyzed before encoding, from 11 to 60.
- Default: 40
- Note: may be sanitized to a lower value in some cases to avoid hangs.
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 of the Media SDK API.
-
force-cqp
- In Constant Quality mode, use Constant QP rate control, even if Intelligent Constant Quality is available.
- Default: 0 (ICQ enabled if available)
-
cqp-offset-i | cqp-offset-p | cqp-offset-b
- In constant QP (CQP) bitrate control mode, specify offset from the global quality/QP value for I, P and B-frames.
- Defaults are 0, 2 and 4, respectively.
-
vbv-maxrate
- Sets the maximum rate the VBV buffer should be assumed to refill at, in kilobits per second (Kbps).
- Default: 0 (set at runtime by the implementation)
- Note: not compatible with Constant QP, Intelligent Constant Quality or !LookAhead rate control methods (ignored).
-
vbv-bufsize
- Sets the size of the VBV buffer in kilobits (Kb).
- Default: 0 (set at runtime by the implementation)
- Note: not compatible with Constant QP, Intelligent Constant Quality or !LookAhead rate control methods (ignored).
-
vbv-init
- Sets how full the VBV Buffer must be before playback starts.
- If it is less than 1, then the initial fill is: vbv-init * vbv-bufsize.
- Otherwise it is interpreted as the initial fill in kilobits (Kb).
- Default: 0 (set at runtime by the implementation)
- Note: not compatible with Constant QP, Intelligent Constant Quality or !LookAhead rate control methods (ignored).