mirror of
https://github.com/HandBrake/HandBrake-docs.git
synced 2025-12-12 07:44:19 -06:00
docs: Revise Intel QSV article.
This commit is contained in:
parent
657ac16931
commit
9594ff9ed0
@ -1,80 +1,70 @@
|
|||||||
---
|
---
|
||||||
Type: article
|
Type: article
|
||||||
State: [ draft ]
|
State: [ draft ]
|
||||||
Title: Intel QuickSync
|
Title: Intel QuickSync Video (QSV)
|
||||||
Project: HandBrake
|
Project: HandBrake
|
||||||
Project_URL: https://handbrake.fr/
|
Project_URL: https://handbrake.fr/
|
||||||
Project_Version: Latest
|
Project_Version: Latest
|
||||||
Language: English
|
Language: English
|
||||||
Language_Code: en
|
Language_Code: en
|
||||||
Authors: [ Scott (s55) ]
|
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
|
||||||
Copyright: 2019 HandBrake Team
|
Copyright: 2019 HandBrake Team
|
||||||
License: Creative Commons Attribution-ShareAlike 4.0 International
|
License: Creative Commons Attribution-ShareAlike 4.0 International
|
||||||
License_Abbr: CC BY-SA 4.0
|
License_Abbr: CC BY-SA 4.0
|
||||||
License_URL: https://handbrake.fr/docs/license.html
|
License_URL: https://handbrake.fr/docs/license.html
|
||||||
---
|
---
|
||||||
|
|
||||||
Intel Quick Sync Video
|
Intel QuickSync Video (QSV)
|
||||||
==========================
|
===========================
|
||||||
|
|
||||||
Supported Hardware and Configurations
|
## Supported hardware
|
||||||
--------------
|
|
||||||
- Intel Skylake Processors (6th Generation Core) CPU's with Intel HD Graphics better
|
- Intel Skylake (6th Generation Core) CPU or later with Intel HD Graphics or better
|
||||||
- Windows 10 (GUI and CLI)
|
- Windows 10
|
||||||
- Linux (Available in our flatpak build via a plugin)
|
- 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.
|
Please note, these are not hard limits. Hardware encoding via Intel QSV *might* work on older series GPUs and older operating systems, but this is not officially supported.
|
||||||
|
|
||||||
Enabling support
|
## 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.
|
|
||||||
|
|
||||||
|
Support for the Intel QSV encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.
|
||||||
|
|
||||||
Performance
|
## 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.
|
Only video encoding is performed by the hardware encoder. Every stage prior to and after video encoding including decoding, filters, audio/video sync, audio encoding, muxing, etc., is performed by the CPU. As a result, it is normal to have high (even 100%) CPU utilisation during encodes.
|
||||||
|
|
||||||
|
It is common, particularly on lower-end hardware, for the CPU to be a bottleneck for the hardware video encoder. To minimise this effect, disable any filters that you do not require.
|
||||||
|
|
||||||
Using the Advanced Options
|
## 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:
|
The Intel QuickSync hardware encoder has a limited set of advanced encoder options. Generally speaking, it is not recommended to change these parameters, as the built-in presets offer a good range of options for common uses.
|
||||||
|
|
||||||
|
From HandBrake’s command line interface, use the `--encopts` parameter as follows:
|
||||||
|
|
||||||
--encopts="option1=value1:option2=value2"
|
--encopts="option1=value1:option2=value2"
|
||||||
|
|
||||||
|
From HandBrake’s graphical interface, set the options in the `Advanced Options` field on the `Video` tab:
|
||||||
From the graphical user interface, just set the options in the dedicated text box:
|
|
||||||
|
|
||||||
option1=value1:option2=value2
|
option1=value1:option2=value2
|
||||||
|
|
||||||
Option Types
|
### Option value types
|
||||||
--------------
|
|
||||||
The following value types are supported (each option only accepts one value type):
|
The following value types are supported (each option only accepts one value type):
|
||||||
|
|
||||||
- integer
|
- integer
|
||||||
A number that can be written without a fractional or decimal component.
|
A number that can be written without a fractional or decimal component.
|
||||||
|
|
||||||
- boolean
|
- boolean
|
||||||
0 means off (or disabled).
|
0 means off (or disabled).
|
||||||
1 means on (or enabled).
|
1 means on (or enabled).
|
||||||
|
|
||||||
- string
|
- string
|
||||||
Takes a setting defined as s string. See comment for details.
|
An alphanumeric string of characters. See the option’s comments for acceptable values.
|
||||||
|
|
||||||
Available Options
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Available Options
|
|
||||||
--------------
|
|
||||||
|
|
||||||
|
### Options list
|
||||||
|
|
||||||
- target-usage (or tu) <integer>
|
- target-usage (or tu) <integer>
|
||||||
- Sets the trade-off between quality and speed, from 1 (best quality) to 7 (best speed).
|
- Sets the trade-off between quality and speed, from 1 (best quality) to 7 (fastest speed).
|
||||||
- Default: 2
|
- Default: 2
|
||||||
|
|
||||||
- num-ref-frame (or ref) <integer>
|
- num-ref-frame (or ref) <integer>
|
||||||
@ -82,7 +72,7 @@ Available Options
|
|||||||
- 0 means unspecified (set at runtime by the implementation).
|
- 0 means unspecified (set at runtime by the implementation).
|
||||||
- Default: 0 (unspecified)
|
- Default: 0 (unspecified)
|
||||||
|
|
||||||
- gop-ref-dist <integer>
|
- gop-ref-dist <integer>
|
||||||
- Distance between I or P reference frames, from 1 to 16.
|
- Distance between I or P reference frames, from 1 to 16.
|
||||||
- -1 means automatic (4 in constant QP mode, 3 otherwise).
|
- -1 means automatic (4 in constant QP mode, 3 otherwise).
|
||||||
- 0 means unspecified (set at runtime by the implementation).
|
- 0 means unspecified (set at runtime by the implementation).
|
||||||
@ -101,7 +91,7 @@ Available Options
|
|||||||
- cavlc <boolean>
|
- cavlc <boolean>
|
||||||
- Use CAVLC instead of CABAC entropy coding. Reduces compression efficiency.
|
- Use CAVLC instead of CABAC entropy coding. Reduces compression efficiency.
|
||||||
- It may improve encoding performance slightly, especially on older hardware.
|
- It may improve encoding performance slightly, especially on older hardware.
|
||||||
- Note: you can also use ''cabac'' (same as ''cavlc'' with reversed meaning).
|
- Note: you can also use `cabac` (same as `cavlc` with reversed meaning).
|
||||||
- Default: 0 (CAVLC off, CABAC on)
|
- Default: 0 (CAVLC off, CABAC on)
|
||||||
|
|
||||||
- b-pyramid <integer>
|
- b-pyramid <integer>
|
||||||
@ -118,7 +108,7 @@ Available Options
|
|||||||
- Enables macroblock-level bitrate control that generally improves subjective visual quality.
|
- Enables macroblock-level bitrate control that generally improves subjective visual quality.
|
||||||
- It may have a negative impact on performance and objective visual quality metrics.
|
- It may have a negative impact on performance and objective visual quality metrics.
|
||||||
- Default: 1 (on)
|
- Default: 1 (on)
|
||||||
- Note: not compatible with Constant QP or !LookAhead rate control methods (ignored).
|
- 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.
|
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.6 of the Media SDK API.
|
||||||
|
|
||||||
- extbrc <boolean>
|
- extbrc <boolean>
|
||||||
@ -126,7 +116,7 @@ Available Options
|
|||||||
- It generally improves objective visual quality metrics and subjective visual quality,
|
- 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.
|
- but can also lead to violation of HRD conformance and may significantly reduce performance.
|
||||||
- Default: 0 (off)
|
- Default: 0 (off)
|
||||||
- Note: not compatible with Constant QP or !LookAhead rate control methods (ignored).
|
- 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.
|
- Caveats: requires driver support for version 1.6 of the Media SDK API.
|
||||||
|
|
||||||
- trellis <integer>
|
- trellis <integer>
|
||||||
@ -140,12 +130,12 @@ Available Options
|
|||||||
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 of the Media SDK API.
|
- 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) <boolean>
|
- lookahead (or la) <boolean>
|
||||||
- Use the !LookAhead (LA or LA_ICQ) bitrate control algorithm.
|
- Use the LookAhead (LA or LA_ICQ) bitrate control algorithm.
|
||||||
- Default: 1 (on)
|
- 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.
|
- 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) <integer>
|
- lookahead-depth (or la-depth) <integer>
|
||||||
- If !LookAhead bitrate control is enabled, number of frames that are analyzed before encoding, from 11 to 60.
|
- If LookAhead bitrate control is enabled, number of frames that are analyzed before encoding, from 11 to 60.
|
||||||
- Default: 40
|
- Default: 40
|
||||||
- Note: may be sanitized to a lower value in some cases to avoid hangs.
|
- 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.
|
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 of the Media SDK API.
|
||||||
@ -161,16 +151,16 @@ Available Options
|
|||||||
- vbv-maxrate <integer>
|
- vbv-maxrate <integer>
|
||||||
- Sets the maximum rate the VBV buffer should be assumed to refill at, in kilobits per second (Kbps).
|
- 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)
|
- Default: 0 (set at runtime by the implementation)
|
||||||
- Note: not compatible with Constant QP, Intelligent Constant Quality or !LookAhead rate control methods (ignored).
|
- Note: not compatible with Constant QP, Intelligent Constant Quality or LookAhead rate control methods (ignored).
|
||||||
|
|
||||||
- vbv-bufsize <integer>
|
- vbv-bufsize <integer>
|
||||||
- Sets the size of the VBV buffer in kilobits (Kb).
|
- Sets the size of the VBV buffer in kilobits (Kb).
|
||||||
- Default: 0 (set at runtime by the implementation)
|
- Default: 0 (set at runtime by the implementation)
|
||||||
- Note: not compatible with Constant QP, Intelligent Constant Quality or !LookAhead rate control methods (ignored).
|
- Note: not compatible with Constant QP, Intelligent Constant Quality or LookAhead rate control methods (ignored).
|
||||||
|
|
||||||
- vbv-init <float>
|
- vbv-init <float>
|
||||||
- Sets how full the VBV Buffer must be before playback starts.
|
- 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.
|
- 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).
|
- Otherwise it is interpreted as the initial fill in kilobits (Kb).
|
||||||
- Default: 0 (set at runtime by the implementation)
|
- Default: 0 (set at runtime by the implementation)
|
||||||
- Note: not compatible with Constant QP, Intelligent Constant Quality or !LookAhead rate control methods (ignored).
|
- Note: not compatible with Constant QP, Intelligent Constant Quality or LookAhead rate control methods (ignored).
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user