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...
 
ff_const59 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 495 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 502 of file avformat.h.

Referenced by show_formats_devices().

◆ mime_type

const char* AVOutputFormat::mime_type

Definition at line 503 of file avformat.h.

◆ extensions

const char* AVOutputFormat::extensions

comma-separated filename extensions

Definition at line 504 of file avformat.h.

◆ audio_codec

enum AVCodecID AVOutputFormat::audio_codec

default audio codec

Definition at line 506 of file avformat.h.

Referenced by avformat_query_codec().

◆ video_codec

enum AVCodecID AVOutputFormat::video_codec

default video codec

Definition at line 507 of file avformat.h.

Referenced by avformat_query_codec(), and open_output_file().

◆ subtitle_codec

enum AVCodecID AVOutputFormat::subtitle_codec

default subtitle codec

Definition at line 508 of file avformat.h.

Referenced by avformat_query_codec(), and open_output_file().

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

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

◆ priv_class

const AVClass* AVOutputFormat::priv_class

◆ next

ff_const59 struct AVOutputFormat* AVOutputFormat::next

Definition at line 542 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 546 of file avformat.h.

Referenced by init_muxer().

◆ write_header

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

Definition at line 548 of file avformat.h.

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

Referenced by chunk_end(), and webm_chunk_write_packet().

◆ write_trailer

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

Definition at line 557 of file avformat.h.

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

◆ 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 570 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 572 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 577 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 588 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 594 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 599 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 604 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: