AVCodec Struct Reference
[Core functions/structures.]

AVCodec. More...

#include <avcodec.h>


Data Fields

const char * name
 Name of the codec implementation.
const char * long_name
 Descriptive name for the codec, meant to be more human readable than name.
enum AVMediaType type
enum AVCodecID id
int capabilities
 Codec capabilities.
const AVRationalsupported_framerates
 array of supported framerates, or NULL if any, array is terminated by {0,0}
enum PixelFormat *pix_fmts
const int
*supported_samplerates enum
AVSampleFormat *sample_fmts
const uint64_t
*channel_layouts uint8_t
max_lowres const AVClass
*priv_class const AVProfile
*profiles int priv_data_size
struct AVCodec
next
 array of supported pixel formats, or NULL if unknown, array is terminated by -1
const AVCodecDefaultdefaults
 Private codec-specific defaults.
void(* init_static_data )(struct AVCodec *codec)
 Initialize codec static data, called from avcodec_register().
int(* init )(AVCodecContext *)
int(* encode_sub )(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
int(* encode2 )(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
 Encode data to an AVPacket.
int(* decode )(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)
int(* close )(AVCodecContext *)
void(* flush )(AVCodecContext *)
 Flush buffers.
Frame-level threading support functions
int(* init_thread_copy )(AVCodecContext *)
 If defined, called on thread contexts when they are created.
int(* update_thread_context )(AVCodecContext *dst, const AVCodecContext *src)
 Copy necessary context variables from a previous thread context to the current one.


Detailed Description

AVCodec.

Definition at line 3108 of file avcodec.h.


Field Documentation

int(* AVCodec::decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)

Private codec-specific defaults.

Definition at line 3169 of file avcodec.h.

Referenced by avcodec_get_context_defaults3().

int(* AVCodec::encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)

Encode data to an AVPacket.

Parameters:
avctx codec context
avpkt output AVPacket (may contain a user-provided buffer)
[in] frame AVFrame containing the raw data to be encoded
[out] got_packet_ptr encoder sets to 0 or 1 to indicate that a non-empty packet was returned in avpkt.
Returns:
0 on success, negative error code on failure

Referenced by av_codec_is_encoder(), avcodec_encode_audio2(), and avcodec_encode_video2().

int(* AVCodec::encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)

Flush buffers.

Will be called when seeking

Referenced by avcodec_flush_buffers(), ff_thread_flush(), and vdadec_flush().

void(* AVCodec::init_static_data)(struct AVCodec *codec)

Initialize codec static data, called from avcodec_register().

Referenced by avcodec_register().

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.

Referenced by frame_thread_init().

const char* AVCodec::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.

Definition at line 3120 of file avcodec.h.

Referenced by print_codec(), print_codecs(), and show_stream().

const char* AVCodec::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.

Definition at line 3115 of file avcodec.h.

Referenced by asf_write_header1(), assert_codec_experimental(), avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), avcodec_get_name(), avcodec_open2(), choose_pixel_fmt(), choose_sample_fmt(), compute_status(), context_to_name(), dshow_cycle_formats(), ffserver_opt_preset(), find_codec_or_die(), init(), list_formats(), mov_write_video_tag(), new_output_stream(), print_codec(), print_codecs(), print_codecs_for_id(), show_codecs(), show_stream(), transcode_init(), and write_frame().

enum PixelFormat* pix_fmts const int* supported_samplerates enum AVSampleFormat* sample_fmts const uint64_t* channel_layouts uint8_t max_lowres const AVClass* priv_class const AVProfile* profiles int priv_data_size struct AVCodec* AVCodec::next [read]

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

array of supported audio samplerates, or NULL if unknown, array is terminated by 0 array of supported sample formats, or NULL if unknown, array is terminated by -1 array of support channel layouts, or NULL if unknown. array is terminated by 0 maximum value for lowres supported by the decoder AVClass for the private context array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}

Definition at line 3145 of file avcodec.h.

Referenced by av_codec_next(), avcodec_find_decoder(), avcodec_find_decoder_by_name(), avcodec_find_encoder(), avcodec_find_encoder_by_name(), and avcodec_register().

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

Definition at line 3128 of file avcodec.h.

Referenced by print_codec(), and transcode_init().

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().

dst and src will (rarely) point to the same context, in which case memcpy should be skipped.

Referenced by ff_thread_can_start_frame(), ff_thread_get_buffer(), frame_worker_thread(), and update_context_from_thread().


The documentation for this struct was generated from the following file:

Generated on Fri Oct 26 02:50:14 2012 for FFmpeg by  doxygen 1.5.8