FFmpeg
Data Fields
AVCodec Struct Reference
Core functions/structures.

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
 
  Codec capabilities. More...
 
  array of supported framerates, or NULL if any, array is terminated by {0,0} More...
 
  array of supported pixel formats, or NULL if unknown, array is terminated by -1 More...
 
  array of supported audio samplerates, or NULL if unknown, array is terminated by 0 More...
 
  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...
 
  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...
 
 
struct AVCodecnext
 
  Private codec-specific defaults. More...
 
void(*  init_static_data )(struct AVCodec *codec)
  Initialize codec static data, called from avcodec_register(). More...
 
 
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(*  send_frame )(AVCodecContext *avctx, const AVFrame *frame)
  Encode API with decoupled packet/frame dataflow. More...
 
int(*  receive_packet )(AVCodecContext *avctx, AVPacket *avpkt)
 
  Decode API with decoupled packet/frame dataflow. More...
 
  Flush buffers. More...
 
  Internal codec capabilities. More...
 
const char *  bsfs
  Decoding only, a comma-separated list of bitstream filters to apply to packets before decoding. More...
 
Frame-level threading support functions
  If defined, called on thread contexts when they are created. More...
 
  Copy necessary context variables from a previous thread context to the current one. More...
 

Detailed Description

AVCodec.

Examples:
decode_audio.c, decode_video.c, demuxing_decoding.c, encode_audio.c, encode_video.c, filtering_audio.c, filtering_video.c, hw_decode.c, muxing.c, qsvdec.c, transcode_aac.c, and transcoding.c.

Definition at line 3739 of file avcodec.h.

Field Documentation

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

Referenced by avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), avcodec_get_name(), avcodec_open2(), avcodec_string(), choose_pixel_fmt(), choose_sample_fmt(), compute_status(), context_to_name(), cuvid_test_capabilities(), dshow_cycle_formats(), ffserver_opt_preset(), find_codec_or_die(), hw_device_setup_for_decode(), init(), main(), mpeg12_class(), print_codec(), print_codecs(), print_codecs_for_id(), print_stream_params(), read_ffserver_streams(), show_codecs(), test_copy(), test_copy_print_codec(), transcode_init(), and video_decode().

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

Referenced by print_codec(), and print_codecs().

enum AVMediaType AVCodec::type

Definition at line 3752 of file avcodec.h.

Referenced by avcodec_decode_subtitle2(), avcodec_open2(), decode_simple_internal(), ff_init_buffer_info(), ffserver_set_codec(), find_codec_or_die(), init_context_defaults(), LLVMFuzzerTestOneInput(), main(), print_codec(), and read_ffserver_streams().

enum AVCodecID AVCodec::id
Examples:
decode_audio.c, decode_video.c, and encode_video.c.

Definition at line 3753 of file avcodec.h.

Referenced by a64multi_encode_init(), adpcm_compress_trellis(), adpcm_decode_frame(), adpcm_decode_init(), adpcm_encode_frame(), adpcm_encode_init(), avcodec_open2(), binkaudio_receive_frame(), choose_decoder(), cuvid_decode_init(), decode_end(), 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_mjpeg_init_hvsample(), ff_mpv_decode_init(), ff_mpv_encode_init(), ff_print_debug_info2(), ff_wma_init(), ffserver_set_codec(), find_encdec(), find_probe_decoder(), flush_encoders(), get_nb_samples(), h263_get_format(), init(), init_context_defaults(), main(), mpeg_decode_init(), next_codec_for_id(), nvenc_codec_specific_pic_params(), nvenc_setup_codec_config(), nvenc_setup_device(), nvenc_setup_encoder(), omx_component_init(), omx_encode_init(), open_input_file(), open_output_file(), pcm_decode_frame(), pcm_encode_frame(), pcm_encode_init(), process_output_surface(), stream_component_open(), transcode_init(), vaapi_mpeg4_start_frame(), vdpau_mpeg4_start_frame(), vp6_decode_init(), vp78_decode_init(), and wma_decode_init().

int AVCodec::capabilities

Codec capabilities.

see AV_CODEC_CAP_*

Examples:
muxing.c, and transcoding.c.

Definition at line 3758 of file avcodec.h.

Referenced by apply_param_change(), avcodec_decode_subtitle2(), avcodec_encode_audio2(), avcodec_encode_video2(), avcodec_open2(), avcodec_receive_packet(), avcodec_send_frame(), choose_sample_fmt(), decode_nal_units(), decode_simple_internal(), do_video_out(), er_supported(), ff_frame_thread_encoder_init(), ff_get_format(), ff_h263_decode_frame(), ff_h264_execute_decode_slices(), ff_h264_field_end(), ff_mpeg_framesize_alloc(), ff_mpv_frame_start(), ff_print_debug_info2(), ff_vp9_init_static(), find_encdec(), find_probe_decoder(), h264_frame_start(), h264_slice_header_init(), libopenjpeg_static_init(), LLVMFuzzerTestOneInput(), open_audio(), print_codec(), print_codecs(), reap_filters(), stream_component_open(), submit_packet(), try_decode_frame(), validate_thread_parameters(), and vc1_decode_frame().

const AVRational* AVCodec::supported_framerates

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

Definition at line 3759 of file avcodec.h.

Referenced by print_codec().

enum AVPixelFormat* AVCodec::pix_fmts

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

Examples:
transcoding.c.

Definition at line 3760 of file avcodec.h.

Referenced by avcodec_open2(), choose_pixel_fmt(), ff_vp9_init_static(), ffmmal_init_decoder(), get_pixel_format(), h263_get_format(), libx265_encode_init_csp(), open_output_file(), vc1_decode_init(), vdadec_init(), and X264_init_static().

const int* AVCodec::supported_samplerates

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

Examples:
encode_audio.c.

Definition at line 3761 of file avcodec.h.

Referenced by avcodec_open2(), and select_sample_rate().

enum AVSampleFormat* AVCodec::sample_fmts

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

Examples:
encode_audio.c, transcode_aac.c, and transcoding.c.

Definition at line 3762 of file avcodec.h.

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

const uint64_t* AVCodec::channel_layouts

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

Examples:
encode_audio.c.

Definition at line 3763 of file avcodec.h.

Referenced by avcodec_open2(), and select_channel_layout().

uint8_t AVCodec::max_lowres

maximum value for lowres supported by the decoder

Definition at line 3764 of file avcodec.h.

Referenced by av_codec_get_max_lowres(), and avcodec_open2().

const AVClass* AVCodec::priv_class

AVClass for the private context.

Definition at line 3765 of file avcodec.h.

Referenced by avcodec_close(), avcodec_copy_context(), avcodec_open2(), codec_child_class_next(), codec_child_next(), ff_frame_thread_encoder_init(), ff_frame_thread_free(), ffm2_read_header(), ffm_write_recommended_config(), filter_codec_opts(), init_context_defaults(), print_codec(), show_codec_opts(), show_stream(), test_copy(), and test_copy_print_codec().

const AVProfile* AVCodec::profiles

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

Definition at line 3766 of file avcodec.h.

Referenced by av_get_profile_name().

int AVCodec::priv_data_size

Definition at line 3775 of file avcodec.h.

Referenced by avcodec_open2(), ff_frame_thread_encoder_init(), ff_frame_thread_init(), ff_mjpeg_encode_picture_header(), ffm2_read_header(), ffm_write_recommended_config(), init_context_defaults(), test_copy(), and test_copy_print_codec().

struct AVCodec* AVCodec::next

Definition at line 3776 of file avcodec.h.

Referenced by av_codec_next(), avcodec_find_decoder_by_name(), avcodec_find_encoder_by_name(), avcodec_register(), and find_encdec().

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

Referenced by ff_frame_thread_init().

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

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

const AVCodecDefault* AVCodec::defaults

Private codec-specific defaults.

Definition at line 3800 of file avcodec.h.

Referenced by init_context_defaults(), and init_output_stream().

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

Initialize codec static data, called from avcodec_register().

Definition at line 3805 of file avcodec.h.

Referenced by avcodec_register().

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

Definition at line 3807 of file avcodec.h.

Referenced by avcodec_open2(), ff_frame_thread_init(), ff_lock_avcodec(), ff_unlock_avcodec(), and vdadec_init().

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

Definition at line 3808 of file avcodec.h.

Referenced by av_codec_is_encoder(), and avcodec_encode_subtitle().

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

Definition at line 3820 of file avcodec.h.

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

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

Definition at line 3822 of file avcodec.h.

Referenced by av_codec_is_decoder(), avcodec_decode_subtitle2(), decode_simple_internal(), frame_worker_thread(), get_category(), and vdadec_decode().

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

Definition at line 3823 of file avcodec.h.

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

int(* AVCodec::send_frame)(AVCodecContext *avctx, const AVFrame *frame)

Encode API with decoupled packet/frame dataflow.

The API is the same as the avcodec_ prefixed APIs (avcodec_send_frame() etc.), except that:

  • never called if the codec is closed or the wrong type,
  • if AV_CODEC_CAP_DELAY is not set, drain frames are never sent,
  • only one drain frame is ever passed down,

Definition at line 3832 of file avcodec.h.

Referenced by av_codec_is_encoder(), and avcodec_send_frame().

int(* AVCodec::receive_packet)(AVCodecContext *avctx, AVPacket *avpkt)

Definition at line 3833 of file avcodec.h.

Referenced by avcodec_receive_packet().

int(* AVCodec::receive_frame)(AVCodecContext *avctx, AVFrame *frame)

Decode API with decoupled packet/frame dataflow.

This function is called to get one output frame. It should call ff_decode_get_packet() to obtain input data.

Definition at line 3840 of file avcodec.h.

Referenced by av_codec_is_decoder(), decode_receive_frame_internal(), and ff_decode_get_packet().

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

Flush buffers.

Will be called when seeking

Definition at line 3845 of file avcodec.h.

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

int AVCodec::caps_internal

Internal codec capabilities.

See FF_CODEC_CAP_* in internal.h

Definition at line 3850 of file avcodec.h.

Referenced by avpriv_codec_get_cap_skip_frame_fill_param(), decode_simple_internal(), ff_lock_avcodec(), ff_slice_thread_init(), ff_unlock_avcodec(), and get_buffer_internal().

const char* AVCodec::bsfs

Decoding only, a comma-separated list of bitstream filters to apply to packets before decoding.

Definition at line 3856 of file avcodec.h.

Referenced by bsfs_init(), and compat_decode().


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

Generated on Fri Jan 12 2018 01:48:29 for FFmpeg by   doxygen 1.8.6

AltStyle によって変換されたページ (->オリジナル) /