Libav
Data Fields

AVCodec. More...

#include <avcodec.h>

Data Fields

const char * name
 Name of the codec implementation. More...
 
const char * long_name
 Descriptive name for the codec, meant to be more human readable than name. More...
 
enum AVMediaType type
 
enum AVCodecID id
 
int capabilities
 Codec capabilities. More...
 
const AVRationalsupported_framerates
 array of supported framerates, or NULL if any, array is terminated by {0,0} More...
 
enum AVPixelFormatpix_fmts
 array of supported pixel formats, or NULL if unknown, array is terminated by -1 More...
 
const int * supported_samplerates
 array of supported audio samplerates, or NULL if unknown, array is terminated by 0 More...
 
enum AVSampleFormatsample_fmts
 array of supported sample formats, or NULL if unknown, array is terminated by -1 More...
 
const uint64_t * channel_layouts
 array of support channel layouts, or NULL if unknown. array is terminated by 0 More...
 
attribute_deprecated uint8_t max_lowres
 maximum value for lowres supported by the decoder More...
 
const AVClasspriv_class
 AVClass for the private context. More...
 
const AVProfileprofiles
 array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} More...
 
int priv_data_size
 
struct AVCodecnext
 
const AVCodecDefaultdefaults
 Private codec-specific defaults. More...
 
void(* init_static_data )(struct AVCodec *codec)
 Initialize codec static data, called from avcodec_register(). More...
 
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. More...
 
int(* decode )(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)
 
int(* close )(AVCodecContext *)
 
void(* flush )(AVCodecContext *)
 Flush buffers. More...
 
Frame-level threading support functions
int(* init_thread_copy )(AVCodecContext *)
 If defined, called on thread contexts when they are created. More...
 
int(* update_thread_context )(AVCodecContext *dst, const AVCodecContext *src)
 Copy necessary context variables from a previous thread context to the current one. More...
 

Detailed Description

AVCodec.

Definition at line 2812 of file avcodec.h.

Field Documentation

§ name

const char* AVCodec::name

§ long_name

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 2824 of file avcodec.h.

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

§ type

enum AVMediaType AVCodec::type

§ id

enum AVCodecID AVCodec::id

§ capabilities

int AVCodec::capabilities

§ supported_framerates

const AVRational* AVCodec::supported_framerates

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

Definition at line 2832 of file avcodec.h.

Referenced by print_codec(), and transcode_init().

§ pix_fmts

enum AVPixelFormat* AVCodec::pix_fmts

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

Definition at line 2833 of file avcodec.h.

Referenced by avcodec_open2(), ff_h263_decode_init(), get_pixel_format(), libx265_encode_init_csp(), vc1_decode_init(), and X264_init_static().

§ supported_samplerates

const int* AVCodec::supported_samplerates

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

Definition at line 2834 of file avcodec.h.

Referenced by add_audio_stream(), avcodec_open2(), and select_sample_rate().

§ sample_fmts

enum AVSampleFormat* AVCodec::sample_fmts

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

Definition at line 2835 of file avcodec.h.

Referenced by add_audio_stream(), avcodec_open2(), check_sample_fmt(), pcm_decode_init(), and update_sample_fmt().

§ channel_layouts

const uint64_t* AVCodec::channel_layouts

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

Definition at line 2836 of file avcodec.h.

Referenced by add_audio_stream(), avcodec_open2(), and select_channel_layout().

§ max_lowres

attribute_deprecated uint8_t AVCodec::max_lowres

maximum value for lowres supported by the decoder

Definition at line 2838 of file avcodec.h.

§ priv_class

const AVClass* AVCodec::priv_class

§ profiles

const AVProfile* AVCodec::profiles

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

Definition at line 2841 of file avcodec.h.

Referenced by av_get_profile_name().

§ priv_data_size

int AVCodec::priv_data_size

Definition at line 2850 of file avcodec.h.

Referenced by avcodec_get_context_defaults3(), avcodec_open2(), and ff_frame_thread_init().

§ next

struct AVCodec* AVCodec::next

§ init_thread_copy

int(* AVCodec::init_thread_copy) (AVCodecContext *)

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.

Definition at line 2861 of file avcodec.h.

Referenced by ff_frame_thread_init().

§ update_thread_context

int(* AVCodec::update_thread_context) (AVCodecContext *dst, const AVCodecContext *src)

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.

Definition at line 2869 of file avcodec.h.

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

§ defaults

const AVCodecDefault* AVCodec::defaults

Private codec-specific defaults.

Definition at line 2875 of file avcodec.h.

Referenced by avcodec_get_context_defaults3().

§ init_static_data

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

Initialize codec static data, called from avcodec_register().

Definition at line 2880 of file avcodec.h.

Referenced by avcodec_register().

§ init

int(* AVCodec::init) (AVCodecContext *)

Definition at line 2882 of file avcodec.h.

Referenced by avcodec_open2(), and ff_frame_thread_init().

§ encode_sub

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

Definition at line 2883 of file avcodec.h.

Referenced by av_codec_is_encoder(), and avcodec_encode_subtitle().

§ encode2

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

Encode data to an AVPacket.

Parameters
avctxcodec context
avpktoutput AVPacket (may contain a user-provided buffer)
[in]frameAVFrame containing the raw data to be encoded
[out]got_packet_ptrencoder 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

Definition at line 2895 of file avcodec.h.

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

§ decode

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

§ close

int(* AVCodec::close) (AVCodecContext *)

Definition at line 2898 of file avcodec.h.

Referenced by avcodec_close(), and ff_frame_thread_free().

§ flush

void(* AVCodec::flush) (AVCodecContext *)

Flush buffers.

Will be called when seeking

Definition at line 2903 of file avcodec.h.

Referenced by avcodec_flush_buffers(), and ff_thread_flush().


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