FFmpeg
Data Fields
AVOutputFormat Struct Reference

#include <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...
 
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)
 A format-specific function for interleavement. 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 490 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 497 of file avformat.h.

Referenced by show_formats_devices(), and show_help_muxer().

◆ mime_type

const char* AVOutputFormat::mime_type

Definition at line 498 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 499 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 501 of file avformat.h.

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

◆ video_codec

enum AVCodecID AVOutputFormat::video_codec

default video codec

Examples
muxing.c.

Definition at line 502 of file avformat.h.

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

◆ subtitle_codec

enum AVCodecID AVOutputFormat::subtitle_codec

default subtitle codec

Definition at line 503 of file avformat.h.

Referenced by 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 510 of file avformat.h.

Referenced by add_stream(), avformat_transfer_internal_stream_timing_info(), do_video_out(), dump_stream_format(), init_muxer(), init_output_stream_encode(), main(), new_output_stream(), open_output_file(), seg_init(), and transcode_init().

◆ 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 516 of file avformat.h.

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

◆ priv_class

const AVClass* AVOutputFormat::priv_class

◆ priv_data_size

int AVOutputFormat::priv_data_size

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

Definition at line 543 of file avformat.h.

Referenced by init_muxer().

◆ write_header

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

Definition at line 545 of file avformat.h.

◆ 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 553 of file avformat.h.

◆ write_trailer

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

Definition at line 554 of file avformat.h.

◆ interleave_packet

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

A format-specific function for interleavement.

If unset, packets will be interleaved by dts.

Definition at line 559 of file avformat.h.

Referenced by seg_write_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 568 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 570 of file avformat.h.

◆ 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 575 of file avformat.h.

◆ 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 586 of file avformat.h.

◆ 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 592 of file avformat.h.

◆ 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 598 of file avformat.h.

◆ 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 603 of file avformat.h.

◆ data_codec

enum AVCodecID AVOutputFormat::data_codec

default data codec

Definition at line 605 of file avformat.h.

Referenced by 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 615 of file avformat.h.

◆ 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 624 of file avformat.h.

◆ 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 630 of file avformat.h.

Referenced by dash_check_bitstream(), and seg_check_bitstream().


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