Revert "Merged Nvenc file"

Clobbered some previous changes, will update in next commit.

This reverts commit 436650f5845f2cecf301a6ea5c3ae3629600e36b.
This commit is contained in:
Bradley Sepos 2019-09-12 15:29:03 -04:00
parent 4603e98262
commit 6c59078552
No known key found for this signature in database
GPG Key ID: DEADE2F57D42D9C7

View File

@ -1,74 +1,66 @@
---
Type: article
State: [ draft ]
Title: Nvidia NVEnc Encoder
Title: Nvidia Nvenc
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: Latest
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2019 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Nvidia NVEnc Encoder
==========================
Nvidia Nvenc
============
Supported Hardware and Configurations
--------------
- Nvidia GeForce GTX 10 and RTX 20 Series graphics cards are supported.
- Driver "418.81" or later must be installed.
- Windows 10. (Linux *may* work but via the command line interface only)
## Supported Hardware and Configurations
- Nvidia GeForce GTX Pascal (1050+) and RTX Turing (1650+, 2060+) series GPU or better
- Nvidia Graphics Driver 399.24 or later
- Windows 7 SP1 and later
Please note, these are not hard limits and the feature *may* work on older series and operating systems, but this is not officially supported.
Please note, these are not hard limits. Hardware encoding via Nvenc *might* work on older series GPUs and older operating systems, but this is not officially supported.
Enabling support
--------------
Support for the NVEnc encoder can be enabled in preferences under the video tab. If your system is not supported, the option will be greyed out.
## Enabling support
Support for the Nvidia Nvenc encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.
Performance
--------------
Take note that only the encode portion of the encode pipeline is done on the Nvidia ASIC hardware.
Every stage prior and after in the pipeline 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.
## Performance
It is common, particularly on lower end hardware that the CPU may be a bottleneck for the Nvidia 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 minimize this effect, disable any filters that you do not require.
Using the Advanced Options
--------------
NvEnc 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.
## Advanced options
From the command line, you can use the --encopts parameter as follows:
The Nvidia Nvenc 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 HandBrakes command line interface, use the `--encopts` parameter as follows:
--encopts="option1=value1:option2=value2"
From the graphical user interface, just set the options in the dedicated options text box on the Video tab.
From HandBrakes graphical interface, set the options in the `Advanced Options` field on the `Video` tab:
option1=value1:option2=value2
Option Types
--------------
### Option value types
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.
- boolean
0 means off (or disabled).
- boolean
0 means off (or disabled).
1 means on (or enabled).
- string
Takes a setting defined as s string. See comment for details.
- string
An alphanumeric string of characters. See the options comments for acceptable values.
Available Options
--------------
### Options list
| Option | Type | H.264 | H.265 | Comment |
|------------------|-------------|------------------------------------------------------------------------------------------------|
@ -77,11 +69,8 @@ Available Options
| spatial-aq | boolean | X | X | For H.265, use "spatial_aq" for H.265 encodes. Note the underscore |
| aq-strength | int | X | X | When Spatial AQ is enabled, the scale is from 1 (low) - 15 (aggressive) |
| nonref_p | boolean | X | X | Enable automatic insertion of non-reference P-frames |
| strict_gop | boolean | X | X | Minimise GOP to GOP rate fluctuations |
| strict_gop | boolean | X | X | Minimize GOP to GOP rate fluctuations |
| weighted_pred | boolean | X | X | |
| rc-lookahead | int | X | X | 0 to 27 |
| b_adapt | boolean | X | | Set this to 0 to disable adaptive B-frame decision when lookahead is enabled |
| no-scenecut | boolean | X | X | 1 = Disable adaptive I-frame insertion at scene cuts when using lookahead |