AVCodec. More...

#include <avcodec.h>

Collaboration diagram for AVCodec:
Collaboration graph

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...
 
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 2854 of file libavcodec/avcodec.h.

Field Documentation

const uint64_t* AVCodec::channel_layouts

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

Definition at line 2878 of file libavcodec/avcodec.h.

Referenced by avcodec_open2(), and select_channel_layout().

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

Definition at line 2938 of file libavcodec/avcodec.h.

Referenced by avcodec_close(), frame_thread_free(), and vdadec_close().

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

Private codec-specific defaults.

Definition at line 2915 of file libavcodec/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
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 2935 of file libavcodec/avcodec.h.

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)

Definition at line 2923 of file libavcodec/avcodec.h.

Referenced by av_codec_is_encoder(), and avcodec_encode_subtitle().

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

Flush buffers.

Will be called when seeking

Definition at line 2943 of file libavcodec/avcodec.h.

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

enum AVCodecID AVCodec::id

Definition at line 2868 of file libavcodec/avcodec.h.

Referenced by 7digital-python.lockerEndpoint.Format::__init__(), 7digital-python.lockerEndpoint.Track::__init__(), 7digital-python.lockerEndpoint.LockerRelease::__init__(), 7digital-python.lockerEndpoint.LockerArtist::__init__(), 7digital-python.lib.py7digital.Artist::__init__(), 7digital-python.lib.py7digital.Album::__init__(), 7digital-python.lib.py7digital.Track::__init__(), 7digital-python.lib.py7digital.Tag::__init__(), 7digital-python.lib.py7digital.Label::__init__(), a64_write_header(), a64multi_init_encoder(), adpcm_compress_trellis(), adpcm_decode_frame(), adpcm_decode_init(), adpcm_encode_frame(), adpcm_encode_init(), ass_encode_frame(), avcodec_open2(), check_format(), choose_decoder(), choose_encoder(), copy_frame(), decode_end(), decode_frame(), decode_init(), do_video_out(), dpcm_decode_frame(), dpcm_decode_init(), eightsvx_decode_init(), encode_init(), ff_h263_decode_init(), ff_mjpeg_decode_init(), ff_MPV_encode_init(), ff_print_debug_info2(), ff_vdpau_add_data_chunk(), ff_vp56_init_context(), ff_wma_init(), find_encdec(), flush_encoders(), 7digital-python.lib.py7digital.Album::get_added_date(), 7digital-python.lib.py7digital.Artist::get_albums(), 7digital-python.lib.py7digital.Album::get_barcode(), 7digital-python.lib.py7digital.Track::get_duration(), 7digital-python.lib.py7digital.Track::get_explicit(), 7digital-python.lib.py7digital.Artist::get_id(), 7digital-python.lib.py7digital.Album::get_id(), 7digital-python.lib.py7digital.Track::get_id(), 7digital-python.lib.py7digital.Tag::get_id(), 7digital-python.lib.py7digital.Label::get_id(), 7digital-python.lib.py7digital.Artist::get_image(), 7digital-python.lib.py7digital.Album::get_image(), 7digital-python.lib.py7digital.Track::get_isrc(), 7digital-python.lib.py7digital.Album::get_label(), 7digital-python.lib.py7digital.Artist::get_name(), 7digital-python.lib.py7digital.Tag::get_name(), get_nb_samples(), 7digital-python.lib.py7digital.Track::get_position(), 7digital-python.lib.py7digital.Track::get_preview(), 7digital-python.lib.py7digital.Artist::get_recommended_albums(), 7digital-python.lib.py7digital.Album::get_release_date(), 7digital-python.lib.py7digital.Album::get_similar(), 7digital-python.lib.py7digital.Artist::get_tags(), 7digital-python.lib.py7digital.Album::get_tags(), 7digital-python.lib.py7digital.Album::get_title(), 7digital-python.lib.py7digital.Track::get_title(), 7digital-python.lib.py7digital.Artist::get_top_tracks(), 7digital-python.lib.py7digital.Album::get_tracks(), 7digital-python.lib.py7digital.Album::get_type(), 7digital-python.lib.py7digital.Artist::get_url(), 7digital-python.lib.py7digital.Album::get_url(), 7digital-python.lib.py7digital.Track::get_url(), 7digital-python.lib.py7digital.Tag::get_url(), 7digital-python.lib.py7digital.Track::get_version(), 7digital-python.lib.py7digital.Album::get_year(), h261_decode_init(), h264_slice_header_init(), init(), mpeg_decode_init(), new_output_stream(), next_codec_for_id(), open_input_file(), opt_audio_codec(), opt_video_codec(), pcm_decode_frame(), pcm_encode_frame(), pcm_encode_init(), predictor_calc_error(), receive_frame(), setup_hwaccel_for_pixfmt(), srt_decode_frame(), srt_encode_frame(), srt_end_cb(), srt_move_cb(), stream_component_open(), v4l2_read_header(), vaapi_mpeg4_decode_slice(), vaapi_mpeg4_start_frame(), vc1_decode_init(), vdpau_mpeg4_start_frame(), vp56_add_predictors_dc(), vp56_decode_4mv(), vp6_decode_init(), and wma_decode_init().

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

Definition at line 2922 of file libavcodec/avcodec.h.

Referenced by avcodec_open2(), frame_thread_init(), and vdadec_init().

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

Initialize codec static data, called from avcodec_register().

Definition at line 2920 of file libavcodec/avcodec.h.

Referenced by avcodec_register().

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 2901 of file libavcodec/avcodec.h.

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 2866 of file libavcodec/avcodec.h.

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

uint8_t AVCodec::max_lowres

maximum value for lowres supported by the decoder

Definition at line 2879 of file libavcodec/avcodec.h.

Referenced by avcodec_open2(), and stream_component_open().

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 2861 of file libavcodec/avcodec.h.

Referenced by 7digital-python.lockerEndpoint.LockerArtist::__init__(), 7digital-python.lib.py7digital.Artist::__init__(), 7digital-python.lib.py7digital.Tag::__init__(), 7digital-python.lib.py7digital.Label::__init__(), a64multi_encode_frame(), amr_decode_fix_avctx(), amv_encode_picture(), asf_write_header1(), ass_decode_close(), ass_encode_frame(), avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), avcodec_get_name(), avcodec_open2(), calc_cpl_coord(), choose_pixel_fmt(), choose_sample_fmt(), compute_status(), context_to_name(), cyuv_decode_frame(), decode(), decode_end(), decode_flush(), decode_frame(), dshow_cycle_formats(), dv_write_pack(), eightsvx_decode_close(), encode_close(), encode_end(), encode_init(), encode_superframe(), ff_eac3_output_frame_header(), ffserver_opt_preset(), find_codec_or_die(), flashsv_decode_end(), flush(), g726_reset(), 7digital-python.lib.py7digital.Artist::get_name(), 7digital-python.lib.py7digital.Tag::get_name(), 7digital-python.lib.py7digital.Label::get_name(), get_sockaddr(), gsm_flush(), init(), libgsm_encode_frame(), libgsm_flush(), list_formats(), mov_write_video_tag(), mpeg12_class(), mvc_decode_end(), new_output_stream(), pnm_decode_frame(), pnm_encode_frame(), predictor_calc_error(), print_codec(), print_codecs(), print_codecs_for_id(), read_access_unit(), 7digital-python.lib.py7digital.Artist::set_name(), 7digital-python.lib.py7digital.Tag::set_name(), 7digital-python.lib.py7digital.Label::set_name(), show_codecs(), show_stream(), sp5x_decode_frame(), srt_decode_frame(), srt_encode_close(), transcode_init(), v408_decode_frame(), v408_encode_close(), vp3_init_thread_copy(), vp8_free(), and write_frame().

enum AVPixelFormat* AVCodec::pix_fmts

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

Definition at line 2875 of file libavcodec/avcodec.h.

Referenced by avcodec_open2(), choose_pix_fmts(), choose_pixel_fmt(), ff_h263_decode_init(), get_pixel_format(), svq3_decode_init(), vc1_decode_init(), vdadec_init(), and X264_init_static().

int AVCodec::priv_data_size
const AVProfile* AVCodec::profiles

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

Definition at line 2881 of file libavcodec/avcodec.h.

Referenced by av_get_profile_name().

enum AVSampleFormat* AVCodec::sample_fmts

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

Definition at line 2877 of file libavcodec/avcodec.h.

Referenced by avcodec_open2(), check_sample_fmt(), choose_sample_fmt(), and pcm_decode_init().

const AVRational* AVCodec::supported_framerates

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

Definition at line 2874 of file libavcodec/avcodec.h.

Referenced by print_codec(), and transcode_init().

const int* AVCodec::supported_samplerates

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

Definition at line 2876 of file libavcodec/avcodec.h.

Referenced by avcodec_open2(), and select_sample_rate().

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 2909 of file libavcodec/avcodec.h.

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


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