Loading...
Searching...
No Matches
codec.h File Reference
`#include <stdint.h>`
`#include "libavutil/avutil.h"`
`#include "libavutil/hwcontext.h"`
`#include "libavutil/log.h"`
`#include "libavutil/pixfmt.h"`
`#include "libavutil/rational.h"`
`#include "libavutil/samplefmt.h"`
`#include "libavcodec/codec_id.h"`
`#include "libavcodec/version_major.h"`

Go to the source code of this file.

## Data Structures

struct | AVProfile
| AVProfile. More...
struct | AVCodec
| AVCodec. More...
struct | AVCodecHWConfig

## Macros

#define | AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0)
| Decoder can use draw_horiz_band callback.
#define | AV_CODEC_CAP_DR1 (1 << 1)
| Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
#define | AV_CODEC_CAP_DELAY (1 << 5)
| Encoder or decoder requires flushing with NULL input at the end in order to give the complete and correct output.
#define | AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
| Codec can be fed a final frame with a smaller size.
#define | AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
| Codec is experimental and is thus avoided in favor of non experimental encoders.
#define | AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
| Codec should fill in channel configuration and samplerate instead of container.
#define | AV_CODEC_CAP_FRAME_THREADS (1 << 12)
| Codec supports frame-level multithreading.
#define | AV_CODEC_CAP_SLICE_THREADS (1 << 13)
| Codec supports slice-based (or partition-based) multithreading.
#define | AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
| Codec supports changed parameters at any point.
#define | AV_CODEC_CAP_OTHER_THREADS (1 << 15)
| Codec supports multithreading through a method other than slice- or frame-level multithreading.
#define | AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
| Audio encoder supports receiving a different number of samples in each call.
#define | AV_CODEC_CAP_AVOID_PROBING (1 << 17)
| Decoder is not a preferred choice for probing.
#define | AV_CODEC_CAP_HARDWARE (1 << 18)
| Codec is backed by a hardware implementation.
#define | AV_CODEC_CAP_HYBRID (1 << 19)
| Codec is potentially backed by a hardware implementation, but not necessarily.
#define | AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20)
| This encoder can reorder user opaque values from input AVFrames and return them with corresponding output packets.
#define | AV_CODEC_CAP_ENCODER_FLUSH (1 << 21)
| This encoder can be flushed using avcodec_flush_buffers().
#define | AV_CODEC_CAP_ENCODER_RECON_FRAME (1 << 22)
| The encoder is able to output reconstructed frame data, i.e.

## Enumerations

enum | { AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX = 0x01 , AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX = 0x02 , AV_CODEC_HW_CONFIG_METHOD_INTERNAL = 0x04 , AV_CODEC_HW_CONFIG_METHOD_AD_HOC = 0x08 }

## Functions

const AVCodec * | av_codec_iterate (void **opaque)
| Iterate over all registered codecs.
const AVCodec * | avcodec_find_decoder (enum AVCodecID id)
| Find a registered decoder with a matching codec ID.
const AVCodec * | avcodec_find_decoder_by_name (const char *name)
| Find a registered decoder with the specified name.
const AVCodec * | avcodec_find_encoder (enum AVCodecID id)
| Find a registered encoder with a matching codec ID.
const AVCodec * | avcodec_find_encoder_by_name (const char *name)
| Find a registered encoder with the specified name.
int | av_codec_is_encoder (const AVCodec *codec)
int | av_codec_is_decoder (const AVCodec *codec)
const char * | av_get_profile_name (const AVCodec *codec, int profile)
| Return a name for the specified profile, if available.
const AVCodecHWConfig * | avcodec_get_hw_config (const AVCodec *codec, int index)
| Retrieve supported hardware configurations for a codec.