From 6c590785522c90f777b6ef424d90c7e7e873fa7e Mon Sep 17 00:00:00 2001 From: Bradley Sepos Date: Thu, 12 Sep 2019 15:29:03 -0400 Subject: [PATCH] Revert "Merged Nvenc file" Clobbered some previous changes, will update in next commit. This reverts commit 436650f5845f2cecf301a6ea5c3ae3629600e36b. --- .../en/latest/technical/video-nvenc.markdown | 67 ++++++++----------- 1 file changed, 28 insertions(+), 39 deletions(-) diff --git a/source/docs/en/latest/technical/video-nvenc.markdown b/source/docs/en/latest/technical/video-nvenc.markdown index 17442a19..ed484b19 100644 --- a/source/docs/en/latest/technical/video-nvenc.markdown +++ b/source/docs/en/latest/technical/video-nvenc.markdown @@ -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 (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 HandBrake’s 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 HandBrake’s 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 option’s 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 | - - -