FFmpeg
|
#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 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 avcodec_get_name(), avcodec_open2(), avcodec_string(), choose_pixel_fmt(), choose_sample_fmt(), context_to_name(), cuvid_test_capabilities(), dshow_cycle_formats(), find_codec_by_name(), find_codec_or_die(), hw_device_setup_for_decode(), init(), main(), mpeg12_class(), print_codec(), print_codecs(), print_codecs_for_id(), 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 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(), 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_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_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.
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(), 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 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().