AVCodec

AVCodec.

Members

Variables

capabilities
int capabilities;

Codec capabilities. see CODEC_CAP_*

caps_internal
int caps_internal;

Internal codec capabilities. See FF_CODEC_CAP_* in internal.h

channel_layouts
uint64_t* channel_layouts;

< array of support channel layouts, or NULL if unknown. array is terminated by 0

close
int function(AVCodecContext*) close;
Undocumented in source.
decode
int function(AVCodecContext*, void* outdata, int* outdata_size, AVPacket* avpkt) decode;
Undocumented in source.
defaults
AVCodecDefault* defaults;

Private codec-specific defaults.

encode2
int function(AVCodecContext* avctx, AVPacket* avpkt, const AVFrame* frame, int* got_packet_ptr) encode2;

Encode data to an AVPacket.

encode_sub
int function(AVCodecContext*, uint8_t* buf, int buf_size, const AVSubtitle* sub) encode_sub;
Undocumented in source.
flush
void function(AVCodecContext*) flush;

Flush buffers. Will be called when seeking

id
AVCodecID id;
Undocumented in source.
init
int function(AVCodecContext*) init;
Undocumented in source.
init_static_data
void function(AVCodec* codec) init_static_data;

Initialize codec static data, called from avcodec_register().

init_thread_copy
int function(AVCodecContext*) init_thread_copy;

If defined, called on thread contexts when they are created. If the codec allocates writable tables in init(), re-allocate them here. priv_data will be set to a copy of the original.

long_name
char* long_name;

Descriptive name for the codec, meant to be more human readable than name. You should use the NULL_IF_CONFIG_SMALL() macro to define it.

max_lowres
uint8_t max_lowres;

< maximum value for lowres supported by the decoder, no direct access, use av_codec_get_max_lowres()

name
char* name;

Name of the codec implementation. The name is globally unique among encoders and among decoders (but an encoder and a decoder can share the same name). This is the primary way to find a codec from the user perspective.

next
AVCodec* next;
Undocumented in source.
pix_fmts
AVPixelFormat* pix_fmts;

< array of supported pixel formats, or NULL if unknown, array is terminated by -1

priv_class
AVClass* priv_class;

< AVClass for the private context

priv_data_size
int priv_data_size;

No fields below this line are part of the public API. They may not be used outside of libavcodec and can be changed and removed at will. New public fields should be added right above. ****************************************************************

profiles
AVProfile* profiles;

< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}

sample_fmts
AVSampleFormat* sample_fmts;

< array of supported sample formats, or NULL if unknown, array is terminated by -1

supported_framerates
AVRational* supported_framerates;

< array of supported framerates, or NULL if any, array is terminated by {0,0}

supported_samplerates
int* supported_samplerates;

< array of supported audio samplerates, or NULL if unknown, array is terminated by 0

type
AVMediaType type;
Undocumented in source.
update_thread_context
int function(AVCodecContext* dst, const AVCodecContext* src) update_thread_context;

Copy necessary context variables from a previous thread context to the current one. If not defined, the next thread will start automatically; otherwise, the codec must call ff_thread_finish_setup().

Meta