Cap
public struct Cap : OptionSet
Codec capabilities
-
Decoder can use draw_horiz_band callback.
Declaration
Swift
public static let drawHorizBand: AVCodec.Cap
-
Codec uses get_buffer() for allocating buffers and supports custom allocators. If not set, it might not use get_buffer() at all or use operations that assume the buffer was allocated by avcodec_default_get_buffer.
Declaration
Swift
public static let dr1: AVCodec.Cap
-
Undocumented
Declaration
Swift
public static let truncated: AVCodec.Cap
-
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and correct output.
Note
If this flag is not set, the codec is guaranteed to never be fed with with NULL data. The user can still send NULL data to the public encode or decode function, but libavcodec will not pass it along to the codec unless this flag is set.Decoders: The decoder has a non-zero delay and needs to be fed with avpkt->data=NULL, avpkt->size=0 at the end to get the delayed data until the decoder no longer returns frames.
Encoders: The encoder needs to be fed with NULL data at the end of encoding until the encoder no longer returns data.
Note
For encoders implementing the AVCodec.encode2() function, setting this flag also means that the encoder must set the pts and duration for each output packet. If this flag is not set, the pts and duration will be determined by libavcodec from the input frame.Declaration
Swift
public static let delay: AVCodec.Cap
-
Codec can be fed a final frame with a smaller size. This can be used to prevent truncation of the last audio samples.
Declaration
Swift
public static let smallLastFrame: AVCodec.Cap
-
Codec can output multiple frames per
AVPacket
. Normally demuxers return one frame at a time, demuxers which do not do are connected to a parser to split what they return into proper frames. This flag is reserved to the very rare category of codecs which have a bitstream that cannot be split into frames without timeconsuming operations like full decoding. Demuxers carrying such bitstreams thus may return multiple frames in a packet. This has many disadvantages like prohibiting stream copy in many cases thus it should only be considered as a last resort.Declaration
Swift
public static let subframes: AVCodec.Cap
-
Codec is experimental and is thus avoided in favor of non experimental encoders.
Declaration
Swift
public static let experimental: AVCodec.Cap
-
Codec should fill in channel configuration and samplerate instead of container.
Declaration
Swift
public static let channelConf: AVCodec.Cap
-
Codec supports frame-level multithreading.
Declaration
Swift
public static let frameThreads: AVCodec.Cap
-
Codec supports slice-based (or partition-based) multithreading.
Declaration
Swift
public static let sliceThreads: AVCodec.Cap
-
Codec supports changed parameters at any point.
Declaration
Swift
public static let paramChange: AVCodec.Cap
-
Codec supports avctx->thread_count == 0 (auto).
Declaration
Swift
public static let autoThreads: AVCodec.Cap
-
Audio encoder supports receiving a different number of samples in each call.
Declaration
Swift
public static let variableFrameSize: AVCodec.Cap
-
Decoder is not a preferred choice for probing. This indicates that the decoder is not a good choice for probing. It could for example be an expensive to spin up hardware decoder, or it could simply not provide a lot of useful information about the stream. A decoder marked with this flag should only be used as last resort choice for probing.
Declaration
Swift
public static let avoidProbing: AVCodec.Cap
-
Codec is intra only.
Declaration
Swift
public static let intraOnly: AVCodec.Cap
-
Codec is lossless.
Declaration
Swift
public static let lossless: AVCodec.Cap
-
Codec is backed by a hardware implementation. Typically used to identify a non-hwaccel hardware decoder. For information about hwaccels, use
hwConfig(at:)
instead.Declaration
Swift
public static let hardware: AVCodec.Cap
-
Codec is potentially backed by a hardware implementation, but not necessarily. This is used instead of
Cap.hardware
, if the implementation provides some sort of internal fallback.Declaration
Swift
public static let hybrid: AVCodec.Cap
-
This codec takes the reordered_opaque field from input AVFrames and returns it in the corresponding field in
AVCodecContext
after encoding.Declaration
Swift
public static let encoderReorderedOpaque: AVCodec.Cap
-
Declaration
Swift
public let rawValue: UInt32
-
Declaration
Swift
public init(rawValue: UInt32)
-
Declaration
Swift
public var description: String { get }