FFmpeg  4.0
Data Fields
AVOutputFormat Struct Reference

#include <libavformat/avformat.h>

Data Fields

const char * name
 
const char * long_name
 Descriptive name for the format, meant to be more human-readable than name. More...
 
const char * mime_type
 
const char * extensions
 comma-separated filename extensions More...
 
enum AVCodecID audio_codec
 default audio codec More...
 
enum AVCodecID video_codec
 default video codec More...
 
enum AVCodecID subtitle_codec
 default subtitle codec More...
 
int flags
 can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER, AVFMT_NOTIMESTAMPS, AVFMT_VARIABLE_FPS, AVFMT_NODIMENSIONS, AVFMT_NOSTREAMS, AVFMT_ALLOW_FLUSH, AVFMT_TS_NONSTRICT, AVFMT_TS_NEGATIVE More...
 
const struct AVCodecTag *const * codec_tag
 List of supported codec_id-codec_tag pairs, ordered by "better choice first". More...
 
const AVClasspriv_class
 AVClass for the private context. More...
 
struct AVOutputFormatnext
 
int priv_data_size
 size of private data so that it can be allocated in the wrapper More...
 
int(* write_header )(struct AVFormatContext *)
 
int(* write_packet )(struct AVFormatContext *, AVPacket *pkt)
 Write a packet. More...
 
int(* write_trailer )(struct AVFormatContext *)
 
int(* interleave_packet )(struct AVFormatContext *, AVPacket *out, AVPacket *in, int flush)
 Currently only used to set pixel format if not YUV420P. More...
 
int(* query_codec )(enum AVCodecID id, int std_compliance)
 Test if the given codec can be stored in this container. More...
 
void(* get_output_timestamp )(struct AVFormatContext *s, int stream, int64_t *dts, int64_t *wall)
 
int(* control_message )(struct AVFormatContext *s, int type, void *data, size_t data_size)
 Allows sending messages from application to device. More...
 
int(* write_uncoded_frame )(struct AVFormatContext *, int stream_index, AVFrame **frame, unsigned flags)
 Write an uncoded AVFrame. More...
 
int(* get_device_list )(struct AVFormatContext *s, struct AVDeviceInfoList *device_list)
 Returns device list with it properties. More...
 
int(* create_device_capabilities )(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)
 Initialize device capabilities submodule. More...
 
int(* free_device_capabilities )(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)
 Free device capabilities submodule. More...
 
enum AVCodecID data_codec
 default data codec More...
 
int(* init )(struct AVFormatContext *)
 Initialize format. More...
 
void(* deinit )(struct AVFormatContext *)
 Deinitialize format. More...
 
int(* check_bitstream )(struct AVFormatContext *, const AVPacket *pkt)
 Set up any necessary bitstream filtering and extract any extra data needed for the global header. More...
 

Detailed Description

Examples:
muxing.c, and remuxing.c.

Definition at line 506 of file avformat.h.

Field Documentation

◆ name

const char* AVOutputFormat::name

◆ long_name

const char* AVOutputFormat::long_name

Descriptive name for the format, meant to be more human-readable than name.

You should use the NULL_IF_CONFIG_SMALL() macro to define it.

Definition at line 513 of file avformat.h.

Referenced by show_formats_devices(), and show_help_muxer().

◆ mime_type

const char* AVOutputFormat::mime_type

Definition at line 514 of file avformat.h.

Referenced by av_guess_format(), and show_help_muxer().

◆ extensions

const char* AVOutputFormat::extensions

comma-separated filename extensions

Definition at line 515 of file avformat.h.

Referenced by av_guess_format(), and show_help_muxer().

◆ audio_codec

enum AVCodecID AVOutputFormat::audio_codec

default audio codec

Examples:
muxing.c.

Definition at line 517 of file avformat.h.

Referenced by av_guess_codec(), avformat_query_codec(), main(), and show_help_muxer().

◆ video_codec

enum AVCodecID AVOutputFormat::video_codec

default video codec

Examples:
muxing.c.

Definition at line 518 of file avformat.h.

Referenced by av_guess_codec(), avformat_query_codec(), main(), open_output_file(), and show_help_muxer().

◆ subtitle_codec

enum AVCodecID AVOutputFormat::subtitle_codec

default subtitle codec

Definition at line 519 of file avformat.h.

Referenced by av_guess_codec(), avformat_query_codec(), open_output_file(), and show_help_muxer().

◆ flags

int AVOutputFormat::flags

can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER, AVFMT_NOTIMESTAMPS, AVFMT_VARIABLE_FPS, AVFMT_NODIMENSIONS, AVFMT_NOSTREAMS, AVFMT_ALLOW_FLUSH, AVFMT_TS_NONSTRICT, AVFMT_TS_NEGATIVE

Examples:
muxing.c, remuxing.c, and transcoding.c.

Definition at line 526 of file avformat.h.

Referenced by add_stream(), av_interleaved_write_frame(), av_write_frame(), av_write_trailer(), avformat_transfer_internal_stream_timing_info(), avformat_write_header(), do_video_out(), dump_stream_format(), ff_format_output_open(), ffmpeg_cleanup(), flush_if_needed(), init_muxer(), init_output_stream_encode(), init_pts(), main(), new_output_stream(), open_output_file(), prepare_input_packet(), seg_init(), transcode_init(), write_header(), and write_packet().

◆ codec_tag

const struct AVCodecTag* const* AVOutputFormat::codec_tag

List of supported codec_id-codec_tag pairs, ordered by "better choice first".

The arrays are all terminated by AV_CODEC_ID_NONE.

Definition at line 532 of file avformat.h.

Referenced by avformat_query_codec(), hls_mux_init(), init_muxer(), init_output_stream_streamcopy(), seg_write_header(), segment_mux_init(), and validate_codec_tag().

◆ priv_class

const AVClass* AVOutputFormat::priv_class

◆ next

struct AVOutputFormat* AVOutputFormat::next

Definition at line 544 of file avformat.h.

◆ priv_data_size

int AVOutputFormat::priv_data_size

size of private data so that it can be allocated in the wrapper

Definition at line 548 of file avformat.h.

Referenced by avformat_alloc_output_context2(), and init_muxer().

◆ write_header

int(* AVOutputFormat::write_header) (struct AVFormatContext *)

Definition at line 550 of file avformat.h.

Referenced by avformat_write_header(), and webm_chunk_write_header().

◆ write_packet

int(* AVOutputFormat::write_packet) (struct AVFormatContext *, AVPacket *pkt)

Write a packet.

If AVFMT_ALLOW_FLUSH is set in flags, pkt can be NULL in order to flush data buffered in the muxer. When flushing, return 0 if there still is more data to flush, or 1 if everything was flushed and there is no more buffered data.

Definition at line 558 of file avformat.h.

Referenced by av_write_frame(), chunk_end(), webm_chunk_write_packet(), and write_packet().

◆ write_trailer

int(* AVOutputFormat::write_trailer) (struct AVFormatContext *)

Definition at line 559 of file avformat.h.

Referenced by av_write_trailer(), and webm_chunk_write_trailer().

◆ interleave_packet

int(* AVOutputFormat::interleave_packet) (struct AVFormatContext *, AVPacket *out, AVPacket *in, int flush)

Currently only used to set pixel format if not YUV420P.

Definition at line 563 of file avformat.h.

Referenced by interleave_packet().

◆ query_codec

int(* AVOutputFormat::query_codec) (enum AVCodecID id, int std_compliance)

Test if the given codec can be stored in this container.

Returns
1 if the codec is supported, 0 if it is not. A negative number if unknown. MKTAG('A', 'P', 'I', 'C') if the codec is only supported as AV_DISPOSITION_ATTACHED_PIC

Definition at line 572 of file avformat.h.

Referenced by avformat_query_codec().

◆ get_output_timestamp

void(* AVOutputFormat::get_output_timestamp) (struct AVFormatContext *s, int stream, int64_t *dts, int64_t *wall)

Definition at line 574 of file avformat.h.

Referenced by av_get_output_timestamp().

◆ control_message

int(* AVOutputFormat::control_message) (struct AVFormatContext *s, int type, void *data, size_t data_size)

Allows sending messages from application to device.

Definition at line 579 of file avformat.h.

Referenced by avdevice_app_to_dev_control_message().

◆ write_uncoded_frame

int(* AVOutputFormat::write_uncoded_frame) (struct AVFormatContext *, int stream_index, AVFrame **frame, unsigned flags)

Write an uncoded AVFrame.

See av_write_uncoded_frame() for details.

The library will free *frame afterwards, but the muxer can prevent it by setting the pointer to NULL.

Definition at line 590 of file avformat.h.

Referenced by av_write_uncoded_frame_internal(), av_write_uncoded_frame_query(), and write_packet().

◆ get_device_list

int(* AVOutputFormat::get_device_list) (struct AVFormatContext *s, struct AVDeviceInfoList *device_list)

Returns device list with it properties.

See also
avdevice_list_devices() for more details.

Definition at line 596 of file avformat.h.

Referenced by avdevice_list_devices(), and get_rotation().

◆ create_device_capabilities

int(* AVOutputFormat::create_device_capabilities) (struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)

Initialize device capabilities submodule.

See also
avdevice_capabilities_create() for more details.

Definition at line 601 of file avformat.h.

Referenced by avdevice_capabilities_create().

◆ free_device_capabilities

int(* AVOutputFormat::free_device_capabilities) (struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)

Free device capabilities submodule.

See also
avdevice_capabilities_free() for more details.

Definition at line 606 of file avformat.h.

Referenced by avdevice_capabilities_free().

◆ data_codec

enum AVCodecID AVOutputFormat::data_codec

default data codec

Definition at line 607 of file avformat.h.

Referenced by av_guess_codec(), and avformat_query_codec().

◆ init

int(* AVOutputFormat::init) (struct AVFormatContext *)

Initialize format.

May allocate data here, and set any AVFormatContext or AVStream parameters that need to be set before packets are sent. This method must not write output.

Return 0 if streams were fully configured, 1 if not, negative AVERROR on failure

Any allocations made here must be freed in deinit().

Definition at line 617 of file avformat.h.

Referenced by avformat_init_output(), and init_muxer().

◆ deinit

void(* AVOutputFormat::deinit) (struct AVFormatContext *)

Deinitialize format.

If present, this is called whenever the muxer is being destroyed, regardless of whether or not the header has been written.

If a trailer is being written, this is called after write_trailer().

This is called if init() fails as well.

Definition at line 626 of file avformat.h.

Referenced by av_write_trailer(), avformat_write_header(), and init_muxer().

◆ check_bitstream

int(* AVOutputFormat::check_bitstream) (struct AVFormatContext *, const AVPacket *pkt)

Set up any necessary bitstream filtering and extract any extra data needed for the global header.

Return 0 if more packets from this stream must be checked; 1 if not.

Definition at line 632 of file avformat.h.

Referenced by dash_check_bitstream(), do_packet_auto_bsf(), and seg_check_bitstream().


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