14.10.2023, 16:06
Quote:--bref-mode <string>source: https://github.com/rigaya/NVEnc/blob/mas...ode-string
Specify B frame reference mode.
- auto (default)
- disabled
- each ... use each B frames as references
- middle ... only (Number of B-frame)/2 th B-frame will be used for reference
(atm. Hybrid does not have 'auto' as an option)
From the api, one can see what 'auto' would do:
Quote:B-Frames As Referencesource: https://docs.nvidia.com/video-technologi...-reference
Using B frame as a reference improves subjective and objective encoded quality with no performance impact. Hence the users enabling multiple B frames are strongly recommended to enable this feature.
To use the feature, follow these steps:
- Query availability of the feature using NvEncGetEncodeCaps API and checking for NV_ENC_CAPS_SUPPORT_BFRAME_REF_MODE in the return value.
- During encoder initialization, set NV_ENC_CONFIG_H264/NV_ENC_CONFIG_HEVC/NV_ENC_CONFIG_AV1::useBFramesAsRef = NV_ENC_BFRAME_REF_MODE_MIDDLE:
- For H.264 and HEVC, this will set the (N/2)th B frame as reference, where N = number of B frames. In case N is odd, then (N-1)/2th frame will be picked up as reference.
- For AV1, this will set every other B frame as an Altref2 reference but for the last B frame in the Altref interval.
So for H.264 and HEVC NVIDA by default would use 'middle' and for AV1 they would use 'each'.
Personally, I use 'each' for both, but that's not really based on any tests, but on sheer lazyness.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.