Enum CodecCapabilities
Flags representing the capabilities of codecs in FFmpeg. These capabilities describe various features or behaviors that a codec can support, such as multi-threading, handling frame sizes, and experimental features.
Namespace: FFmpeg.Codecs
Assembly: FFmpeg.dll
Syntax
[Flags]
public enum CodecCapabilities
Fields
| Name | Description |
|---|---|
| AvoidProbing | Indicates that the codec can avoid probing. This capability is used to skip the probing phase when initializing the codec, which might be useful in certain scenarios where probing is unnecessary or costly. |
| ChannelConfiguration | Indicates that the codec supports channel configuration. This capability allows the codec to handle different channel layouts and audio configurations, making it versatile for various audio formats. |
| Delay | Indicates that the codec has delay handling capabilities. This allows the codec to manage or report delays in processing, which can be important for synchronization and buffering. |
| DelayedReference | Indicates that the codec supports delayed reference frame handling. This capability allows the codec to handle delayed reference frames in video encoding or decoding, which is important for some types of video compression. |
| DrawHorizontalBand | Indicates that the codec can draw horizontal bands. This capability is relevant for codecs that support progressive scanning or frame-by-frame processing where horizontal bands are used for rendering. |
| EncoderFlush | Indicates that the codec supports encoder flushing. This capability allows the codec to flush its internal buffers and ensure that all encoded data is output, which can be useful for finalizing encoded streams. |
| EncoderReconstructFrame | Indicates that the codec supports encoder reconstruction of frames. This capability allows the codec to reconstruct frames after encoding, which can be useful for some advanced encoding techniques. |
| EncoderReorderedOpaque | Indicates that the codec supports reordered opaque encoder formats. This capability allows the codec to handle formats where the encoded data might be reordered or opaque, which can be important for certain encoding scenarios. |
| Experimental | Indicates that the codec is experimental. This capability means that the codec is not yet fully supported or may have experimental features that are still under development. |
| FrameThreads | Indicates that the codec supports frame-level multi-threading. This capability allows the codec to use multiple threads for processing frames, improving performance for codecs that benefit from parallelism. |
| Hardware | Indicates that the codec supports hardware acceleration. This capability means that the codec can leverage hardware resources for processing, which can improve performance and efficiency. |
| Hybrid | Indicates that the codec supports hybrid processing. This capability allows the codec to use a combination of different processing methods or techniques, which can be useful for certain types of video or audio encoding. |
| OtherThreads | Indicates that the codec supports other types of threading beyond frame-level threading. This capability allows for additional threading options or techniques that may be specific to the codec. |
| ParameterChange | Indicates that the codec supports parameter changes during encoding or decoding. This capability allows the codec to adapt its parameters dynamically, which can be important for certain encoding or decoding scenarios. |
| SliceThreads | Indicates that the codec supports slice-level multi-threading. This capability allows the codec to use multiple threads for processing slices of frames, improving performance for codecs that benefit from parallelism at the slice level. |
| SmallLastFrame | Indicates that the codec supports handling small last frames. This capability allows the codec to efficiently process small or incomplete frames, which can be useful for certain types of video streams. |
| VariableFrameSize | Indicates that the codec supports variable frame sizes. This capability allows the codec to handle frames of varying sizes, which can be important for adaptive streaming or other scenarios where frame sizes are not fixed. |