Sunshine latest
Self-hosted game stream host for Moonlight.
nvenc_config.h
Go to the documentation of this file.
1
5#pragma once
6
7namespace nvenc {
8
14
18 struct nvenc_config {
19 // Quality preset from 1 to 7, higher is slower
20 int quality_preset = 1;
21
22 // Use optional preliminary pass for better motion vectors, bitrate distribution and stricter VBV(HRD), uses CUDA cores
24
25 // Percentage increase of VBV/HRD from the default single frame, allows low-latency variable bitrate
26 int vbv_percentage_increase = 0;
27
28 // Improves fades compression, uses CUDA cores
29 bool weighted_prediction = false;
30
31 // Allocate more bitrate to flat regions since they're visually more perceptible, uses CUDA cores
32 bool adaptive_quantization = false;
33
34 // Don't use QP below certain value, limits peak image quality to save bitrate
35 bool enable_min_qp = false;
36
37 // Min QP value for H.264 when enable_min_qp is selected
38 unsigned min_qp_h264 = 19;
39
40 // Min QP value for HEVC when enable_min_qp is selected
41 unsigned min_qp_hevc = 23;
42
43 // Min QP value for AV1 when enable_min_qp is selected
44 unsigned min_qp_av1 = 23;
45
46 // Use CAVLC entropy coding in H.264 instead of CABAC, not relevant and here for historical reasons
47 bool h264_cavlc = false;
48
49 // Add filler data to encoded frames to stay at target bitrate, mainly for testing
50 bool insert_filler_data = false;
51 };
52
53} // namespace nvenc
Standalone NVENC encoder.
Definition nvenc_base.cpp:90
nvenc_two_pass
Definition nvenc_config.h:9
@ disabled
Single pass, the fastest and no extra vram.
@ full_resolution
Better overall statistics, slower and uses more extra vram.
@ quarter_resolution
Larger motion vectors being caught, faster and uses less extra vram.
NVENC encoder configuration.
Definition nvenc_config.h:18