FFmpeg
4.0
|
#include <libavcodec/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 AVRational * | supported_framerates |
array of supported framerates, or NULL if any, array is terminated by {0,0} More... | |
enum AVPixelFormat * | pix_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 AVSampleFormat * | sample_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 AVClass * | priv_class |
AVClass for the private context. More... | |
const AVProfile * | profiles |
array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} More... | |
const char * | wrapper_name |
Group name of the codec implementation. More... | |
int | priv_data_size |
struct AVCodec * | next |
const AVCodecDefault * | defaults |
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 *) |
int(* | send_frame )(AVCodecContext *avctx, const AVFrame *frame) |
Encode API with decoupled packet/frame dataflow. More... | |
int(* | receive_packet )(AVCodecContext *avctx, AVPacket *avpkt) |
int(* | receive_frame )(AVCodecContext *avctx, AVFrame *frame) |
Decode API with decoupled packet/frame dataflow. More... | |
void(* | flush )(AVCodecContext *) |
Flush buffers. More... | |
int | caps_internal |
Internal codec capabilities. More... | |
const char * | bsfs |
Decoding only, a comma-separated list of bitstream filters to apply to packets before decoding. More... | |
const struct AVCodecHWConfigInternal ** | hw_configs |
Array of pointers to hardware configurations supported by the codec, or NULL if no hardware supported. 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... | |
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 3415 of file avcodec.h.
Referenced by a64multi_encode_frame(), amr_decode_fix_avctx(), aptx_close(), ass_decode_frame(), ass_encode_frame(), avcodec_get_name(), avcodec_get_subtitle_rect_class(), avcodec_open2(), avcodec_string(), choose_pixel_fmt(), choose_sample_fmt(), context_to_name(), cuvid_test_capabilities(), cyuv_decode_frame(), decode_end(), decode_flush(), decode_frame(), dshow_cycle_formats(), eightsvx_decode_close(), encode_frame(), encode_init(), encode_superframe(), ff_stream_add_bitstream_filter(), ff_vp8_decode_init(), find_codec_by_name(), find_codec_or_die(), flashsv_decode_frame(), flush(), g726_reset(), gsm_flush(), hw_device_setup_for_decode(), init(), libgsm_encode_frame(), libgsm_flush(), main(), mlp_encode_close(), mpeg12_class(), mvc_decode_frame(), nvenc_old_init(), png_dec_end(), pnm_decode_frame(), pnm_encode_init(), predictor_calc_error(), print_codec(), print_codecs(), print_codecs_for_id(), read_access_unit(), read_huffman_tree(), show_codecs(), sp5x_decode_frame(), srt_decode_frame(), srt_encode_close(), test_copy(), test_copy_print_codec(), transcode_init(), v408_decode_frame(), v408_encode_close(), video_decode(), and vpx_free().
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 3420 of file avcodec.h.
Referenced by print_codec(), and print_codecs().
enum AVMediaType AVCodec::type |
Definition at line 3421 of file avcodec.h.
Referenced by avcodec_decode_subtitle2(), avcodec_open2(), decode_simple_internal(), ff_decode_frame_props(), find_codec_or_die(), init_context_defaults(), LLVMFuzzerTestOneInput(), main(), and print_codec().
enum AVCodecID AVCodec::id |
Definition at line 3422 of file avcodec.h.
Referenced by a64multi_encode_init(), adpcm_compress_trellis(), adpcm_decode_frame(), adpcm_decode_init(), adpcm_encode_frame(), adpcm_encode_init(), amf_copy_buffer(), amf_init_encoder(), aptx_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_amf_send_frame(), 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(), find_codec(), find_probe_decoder(), get_nb_samples(), h263_get_format(), init(), init_context_defaults(), main(), mpeg_decode_init(), next_codec_for_id(), nvdec_mpeg4_start_frame(), 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(), predictor_calc_error(), 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_*
Definition at line 3427 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_receive_frame_internal(), decode_simple_internal(), do_video_out(), ff_frame_thread_encoder_init(), find_codec(), find_probe_decoder(), open_audio(), print_codec(), print_codecs(), reap_filters(), submit_packet(), try_decode_frame(), and validate_thread_parameters().
const AVRational* AVCodec::supported_framerates |
array of supported framerates, or NULL if any, array is terminated by {0,0}
Definition at line 3428 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
Definition at line 3429 of file avcodec.h.
Referenced by av1_init_static(), 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(), and X264_init_static().
const int* AVCodec::supported_samplerates |
array of supported audio samplerates, or NULL if unknown, array is terminated by 0
Definition at line 3430 of file avcodec.h.
Referenced by avcodec_open2(), sbc_encode_init(), and select_sample_rate().
enum AVSampleFormat* AVCodec::sample_fmts |
array of supported sample formats, or NULL if unknown, array is terminated by -1
Definition at line 3431 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
Definition at line 3432 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 3433 of file avcodec.h.
Referenced by av_codec_get_max_lowres(), avcodec_open2(), and stream_component_open().
const AVClass* AVCodec::priv_class |
AVClass for the private context.
Definition at line 3434 of file avcodec.h.
Referenced by avcodec_close(), avcodec_copy_context(), avcodec_get_subtitle_rect_class(), avcodec_open2(), codec_child_class_next(), codec_child_next(), ff_frame_thread_encoder_init(), ff_frame_thread_free(), 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 3435 of file avcodec.h.
Referenced by av_get_profile_name().
const char* AVCodec::wrapper_name |
Group name of the codec implementation.
This is a short symbolic name of the wrapper backing this codec. A wrapper uses some kind of external implementation for the codec, such as an external library, or a codec implementation provided by the OS or the hardware. If this field is NULL, this is a builtin, libavcodec native codec. If non-NULL, this will be the suffix in AVCodec.name in most cases (usually AVCodec.name will be of the form "<codec_name>_<wrapper_name>").
int AVCodec::priv_data_size |
Definition at line 3456 of file avcodec.h.
Referenced by avcodec_get_subtitle_rect_class(), avcodec_open2(), ff_frame_thread_encoder_init(), ff_frame_thread_init(), ff_mjpeg_encode_picture_header(), init_context_defaults(), test_copy(), and test_copy_print_codec().
struct AVCodec* AVCodec::next |
Definition at line 3457 of file avcodec.h.
Referenced by av_codec_init_next(), and av_codec_next().
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 3467 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 3475 of file avcodec.h.
Referenced by ff_thread_can_start_frame(), frame_worker_thread(), hap_decode(), thread_get_buffer_internal(), and update_context_from_thread().
const AVCodecDefault* AVCodec::defaults |
Private codec-specific defaults.
Definition at line 3481 of file avcodec.h.
Referenced by init_context_defaults(), and init_output_stream().
Initialize codec static data, called from avcodec_register().
This is not intended for time consuming operations as it is run for every codec regardless of that codec being used.
Definition at line 3489 of file avcodec.h.
Referenced by av_codec_init_static().
int(* AVCodec::init) (AVCodecContext *) |
Definition at line 3491 of file avcodec.h.
Referenced by avcodec_open2(), ff_frame_thread_init(), ff_lock_avcodec(), and ff_unlock_avcodec().
int(* AVCodec::encode_sub) (AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub) |
Definition at line 3492 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.
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. |
Definition at line 3504 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 3506 of file avcodec.h.
Referenced by av_codec_is_decoder(), avcodec_decode_subtitle2(), decode_simple_internal(), frame_worker_thread(), and get_category().
int(* AVCodec::close) (AVCodecContext *) |
Definition at line 3507 of file avcodec.h.
Referenced by avcodec_close(), avcodec_open2(), and ff_frame_thread_free().
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:
Definition at line 3516 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 3517 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 3524 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 3529 of file avcodec.h.
Referenced by avcodec_flush_buffers(), and ff_thread_flush().
int AVCodec::caps_internal |
Internal codec capabilities.
See FF_CODEC_CAP_* in internal.h
Definition at line 3534 of file avcodec.h.
Referenced by avcodec_open2(), 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 3540 of file avcodec.h.
Referenced by bsfs_init(), and compat_decode().
const struct AVCodecHWConfigInternal** AVCodec::hw_configs |
Array of pointers to hardware configurations supported by the codec, or NULL if no hardware supported.
The array is terminated by a NULL pointer.
The user can only access this field via avcodec_get_hw_config().
Definition at line 3549 of file avcodec.h.
Referenced by avcodec_default_get_format(), avcodec_get_hw_config(), avcodec_get_hw_frames_parameters(), and ff_get_format().