The "default" preset is not an actual default, but something Nvidia
decided to just call that way. It yields the worst quality per bitrate
out of all the presets, for no actual benefits. The actual FFmpeg
default is the hq one, which yields the best quality, especially when
twopass mode is enabled.
I can't think of a way to keep the "default" preset in a non-confusing
way, and as it gives no known benefits, might as well just remove it
entirely.
(Jim edit: Also made it so that if the settings have it set to
"default", it automatically treats it as "hq")
Closesjp9000/obs-studio#865
The encoder name was changed from "nvenc_h264" to "h264_nvenc", and will
throw a warning in the log file if you use the former, so try the latter
first, then the former.
Instead of using an option that turns CBR on/off, adds rate control
methods: VBR, CBR, CQP, Lossless.
This moves lossless from being a preset to being a rate control method.
The if statement erroneously ended with a ';', which means that the code
is always executed, but there's no reason to even have these if checks
in the first place as the functions themselves return safely with null
pointers.