Class AOMAV1EncoderSettings
- Assembly
- VisioForge.Core.dll
Configuration settings for AOM (Alliance for Open Media) AV1 encoder.
public class AOMAV1EncoderSettings : IAV1EncoderSettings, IVideoEncoder, IMediaBlockSettingsInheritance
Implements
Inherited Members
Fields
Name
Gets the display name of this encoder.
public static string NameField Value
Properties
BufferInitialSize
Gets or sets the initial buffer size for rate control.
public TimeSpan BufferInitialSize { get; set; }Property Value
Remarks
Default is 4000 milliseconds.
BufferOptimalSize
Gets or sets the optimal buffer size for rate control.
public TimeSpan BufferOptimalSize { get; set; }Property Value
Remarks
Default is 5000 milliseconds.
BufferSize
Gets or sets the maximum buffer size for rate control.
public TimeSpan BufferSize { get; set; }Property Value
Remarks
Default is 6000 milliseconds.
CPUUsed
Gets or sets the CPU usage level for encoding speed/quality trade-off.
public int CPUUsed { get; set; }Property Value
Remarks
A value greater than 0 will increase encoder speed at the expense of quality.
DropFrame
Gets or sets the temporal resampling configuration for frame dropping.
public uint DropFrame { get; set; }Property Value
Remarks
Drops frames as a strategy to meet target data rate. Set to 0 (default) to disable.
MaxQuantizer
Gets or sets the maximum quantizer value (worst quality).
public uint MaxQuantizer { get; set; }Property Value
Remarks
Higher values result in lower quality.
MinQuantizer
Gets or sets the minimum quantizer value (best quality).
public uint MinQuantizer { get; set; }Property Value
Remarks
Lower values result in higher quality.
OvershootPCT
Gets or sets the rate control adaptation overshoot percentage.
public uint OvershootPCT { get; set; }Property Value
Remarks
Controls how much the bitrate can exceed target. Default is 25%.
RateControl
Gets or sets the rate control algorithm indicating the end usage of this stream.
public AOMAV1EncoderEndUsageMode RateControl { get; set; }Property Value
Remarks
Default is Variable Bit Rate (VBR).
ResizeDenominator
Gets or sets the frame resize denominator.
public uint ResizeDenominator { get; set; }Property Value
Remarks
Used with numerator of 8 to determine resize ratio. Default is 8 (no resize).
ResizeKeyFrameDenominator
Gets or sets the keyframe resize denominator.
public uint ResizeKeyFrameDenominator { get; set; }Property Value
Remarks
Used with numerator of 8 to determine keyframe resize ratio. Default is 8 (no resize).
ResizeMode
Gets or sets the frame resize mode.
public AOMAV1EncoderResizeMode ResizeMode { get; set; }Property Value
Remarks
Default is None (no resizing).
SuperResDenominator
Gets or sets the frame super-resolution denominator.
public uint SuperResDenominator { get; set; }Property Value
Remarks
Used only by SUPERRES_FIXED mode. Default is 8 (no super-resolution).
SuperResKeyFrameDenominator
Gets or sets the keyframe super-resolution denominator.
public uint SuperResKeyFrameDenominator { get; set; }Property Value
Remarks
Default is 8 (no super-resolution).
SuperResKeyFrameQThreshold
Gets or sets the keyframe super-resolution quantizer index threshold.
public uint SuperResKeyFrameQThreshold { get; set; }Property Value
Remarks
Used only by SUPERRES_QTHRESH mode. Default is 63.
SuperResMode
Gets or sets the super-resolution mode.
public AOMAV1SuperResolutionMode SuperResMode { get; set; }Property Value
Remarks
Default is None (super-resolution disabled).
SuperResQThreshold
Gets or sets the frame super-resolution quantizer index threshold.
public uint SuperResQThreshold { get; set; }Property Value
Remarks
Used only by SUPERRES_QTHRESH mode. Default is 63.
TargetBitrate
Gets or sets the target bitrate in kilobits per second.
public uint TargetBitrate { get; set; }Property Value
Remarks
Default is 256 Kbps.
Threads
Gets or sets the maximum number of threads to use for encoding.
public uint Threads { get; set; }Property Value
Remarks
Set to 0 to let the system determine the optimal number of threads. Default is 0.
TileColumns
Gets or sets the number of vertical tile columns for parallel encoding.
public uint TileColumns { get; set; }Property Value
Remarks
Partitions the frame into columns that can be encoded in parallel. Default is 0.
TileRows
Gets or sets the number of horizontal tile rows for parallel encoding.
public uint TileRows { get; set; }Property Value
Remarks
Partitions the frame into rows that can be encoded in parallel. Default is 0.
UndershootPCT
Gets or sets the rate control adaptation undershoot percentage.
public uint UndershootPCT { get; set; }Property Value
Remarks
Controls how much the bitrate can fall below target. Default is 25%.
UseRowMT
Gets or sets a value indicating whether row-based multi-threading is enabled.
public bool UseRowMT { get; set; }Property Value
Remarks
Improves encoding performance on multi-core systems. Default is true.
Methods
CreateBlock()
Creates a new AV1 encoder block with these settings.
public MediaBlock CreateBlock()Returns
- MediaBlock
-
A configured VisioForge.Core.MediaBlocks.MediaBlock instance for AV1 encoding.
GetEncoderType()
Gets the type of the encoder.
public AV1EncoderType GetEncoderType()Returns
- AV1EncoderType
-
The VisioForge.Core.Types.X.VideoEncoders.AV1EncoderType indicating this is an AOM encoder.
IsAvailable()
Determines whether this encoder is available.
public static bool IsAvailable()Returns
- bool
-
trueif this encoder is available; otherwise,false.
ToString()
Returns a String that represents this instance.
public override string ToString()