Enum NVENCBRefMode
- Namespace
- VisioForge.Core.Types.FFMPEGEXE
- Assembly
- VisioForge.Core.dll
FFMPEG EXE NVENC B-frame reference mode.
public enum NVENCBRefModeFields
Disabled = 0-
B frames will not be used for reference.
Traditional B-frame behavior where B-frames are non-reference frames. This mode ensures maximum decoder compatibility and is suitable for: - Legacy devices and players - Real-time streaming with strict compatibility requirements - Scenarios where encoding speed is prioritized over compression
This is the default and most compatible mode, supported by all H.264/H.265 decoders.
Each = 1-
Each B frame will be used for reference.
All B-frames can be used as reference frames for subsequent P or B frames. This mode provides maximum compression efficiency but requires: - More GPU memory for reference frame storage - Higher decoder complexity - Support for B-frames as reference in the decoder
Best suited for: - High-quality file-based encoding - Content with complex temporal dependencies - Scenarios where compression efficiency is the primary goal
Middle = 2-
Only (number of B frames)/2 will be used for reference.
A compromise mode where only half of the B-frames in a sequence can be used as reference frames. This provides a balance between compression efficiency and resource usage.
The encoder typically selects middle B-frames in a sequence as reference frames, as they often provide the best temporal prediction for surrounding frames. This mode is ideal for: - Streaming applications with moderate quality requirements - Balancing compression gains with decoder compatibility - Reducing memory usage compared to 'Each' mode
Remarks
Controls how B-frames are used as reference frames in NVIDIA NVENC hardware encoding. This feature is available in newer generation NVIDIA GPUs (Maxwell and later) and can improve compression efficiency by allowing B-frames to be referenced by other frames.
B-frames as reference is an advanced H.264/H.265 feature that enhances prediction accuracy, particularly beneficial for content with complex motion or scene changes. However, it increases encoding complexity and may not be supported by all decoders.
Hardware requirements: - NVIDIA Maxwell (GTX 900 series) or newer - Supported in H.264 High Profile and H.265 Main/Main10 profiles - Requires NVENC SDK 7.0 or later