FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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...
 
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 523 of file avformat.h.

Field Documentation

const char* AVOutputFormat::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 530 of file avformat.h.

Referenced by show_formats_devices(), and show_help_muxer().

const char* AVOutputFormat::mime_type

Definition at line 531 of file avformat.h.

Referenced by av_guess_format(), http_parse_request(), and show_help_muxer().

const char* AVOutputFormat::extensions

comma-separated filename extensions

Definition at line 532 of file avformat.h.

Referenced by av_guess_format(), and show_help_muxer().

enum AVCodecID AVOutputFormat::audio_codec

default audio codec

Examples:
muxing.c.

Definition at line 534 of file avformat.h.

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

enum AVCodecID AVOutputFormat::video_codec

default video codec

Examples:
muxing.c.

Definition at line 535 of file avformat.h.

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

enum AVCodecID AVOutputFormat::subtitle_codec

default subtitle codec

Definition at line 536 of file avformat.h.

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

int AVOutputFormat::flags
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 549 of file avformat.h.

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

const AVClass* AVOutputFormat::priv_class
struct AVOutputFormat* AVOutputFormat::next

Definition at line 561 of file avformat.h.

Referenced by av_oformat_next(), and av_register_output_format().

int AVOutputFormat::priv_data_size

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

Definition at line 565 of file avformat.h.

Referenced by avformat_alloc_output_context2(), and init_muxer().

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

Definition at line 567 of file avformat.h.

Referenced by webm_chunk_write_header(), and write_header_internal().

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

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

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

Definition at line 576 of file avformat.h.

Referenced by av_write_trailer(), and webm_chunk_write_trailer().

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

Referenced by interleave_packet().

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

Referenced by avformat_query_codec().

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

Definition at line 591 of file avformat.h.

Referenced by av_get_output_timestamp().

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

Referenced by avdevice_app_to_dev_control_message().

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

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

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

Referenced by avdevice_list_devices().

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

Referenced by avdevice_capabilities_create().

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

Referenced by avdevice_capabilities_free().

enum AVCodecID AVOutputFormat::data_codec

default data codec

Definition at line 624 of file avformat.h.

Referenced by av_guess_codec(), and avformat_query_codec().

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

Referenced by avformat_init_output(), and init_muxer().

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

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

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

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


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