FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
muxing.c File Reference

libavformat API example. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <libavutil/mathematics.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>

Go to the source code of this file.

Macros

#define STREAM_DURATION   200.0
 
#define STREAM_FRAME_RATE   25 /* 25 images/s */
 
#define STREAM_NB_FRAMES   ((int)(STREAM_DURATION * STREAM_FRAME_RATE))
 
#define STREAM_PIX_FMT   AV_PIX_FMT_YUV420P /* default pix_fmt */
 

Functions

static AVStreamadd_stream (AVFormatContext *oc, AVCodec **codec, enum AVCodecID codec_id)
 
static void open_audio (AVFormatContext *oc, AVCodec *codec, AVStream *st)
 
static void get_audio_frame (int16_t *samples, int frame_size, int nb_channels)
 
static void write_audio_frame (AVFormatContext *oc, AVStream *st)
 
static void close_audio (AVFormatContext *oc, AVStream *st)
 
static void open_video (AVFormatContext *oc, AVCodec *codec, AVStream *st)
 
static void fill_yuv_image (AVPicture *pict, int frame_index, int width, int height)
 
static void write_video_frame (AVFormatContext *oc, AVStream *st)
 
static void close_video (AVFormatContext *oc, AVStream *st)
 
int main (int argc, char **argv)
 

Variables

static int sws_flags = SWS_BICUBIC
 
static float t
 
static float tincr
 
static float tincr2
 
static int16_t * samples
 
static int audio_input_frame_size
 
static AVFrameframe
 
static AVPicture src_picture
 
static AVPicture dst_picture
 
static int frame_count
 

Detailed Description

libavformat API example.

Output a media file in any supported libavformat format. The default codecs are used.

Definition in file muxing.c.

Macro Definition Documentation

#define STREAM_DURATION   200.0
Examples:
doc/examples/muxing.c.

Definition at line 42 of file muxing.c.

Referenced by main().

#define STREAM_FRAME_RATE   25 /* 25 images/s */
Examples:
doc/examples/muxing.c.

Definition at line 43 of file muxing.c.

Referenced by add_stream().

#define STREAM_NB_FRAMES   ((int)(STREAM_DURATION * STREAM_FRAME_RATE))
Examples:
doc/examples/muxing.c.

Definition at line 44 of file muxing.c.

Referenced by write_video_frame().

#define STREAM_PIX_FMT   AV_PIX_FMT_YUV420P /* default pix_fmt */
Examples:
doc/examples/muxing.c.

Definition at line 45 of file muxing.c.

Referenced by add_stream().

Function Documentation

static AVStream* add_stream ( AVFormatContext oc,
AVCodec **  codec,
enum AVCodecID  codec_id 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 57 of file muxing.c.

Referenced by main().

static void open_audio ( AVFormatContext oc,
AVCodec codec,
AVStream st 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 134 of file muxing.c.

Referenced by main().

static void get_audio_frame ( int16_t *  samples,
int  frame_size,
int  nb_channels 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 169 of file muxing.c.

Referenced by write_audio_frame().

static void write_audio_frame ( AVFormatContext oc,
AVStream st 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 184 of file muxing.c.

Referenced by main().

static void close_audio ( AVFormatContext oc,
AVStream st 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 223 of file muxing.c.

Referenced by main().

static void open_video ( AVFormatContext oc,
AVCodec codec,
AVStream st 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 237 of file muxing.c.

Referenced by main().

static void fill_yuv_image ( AVPicture pict,
int  frame_index,
int  width,
int  height 
)
static
Examples:
doc/examples/muxing.c, and doc/examples/scaling_video.c.

Definition at line 280 of file muxing.c.

Referenced by write_video_frame().

static void write_video_frame ( AVFormatContext oc,
AVStream st 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 301 of file muxing.c.

Referenced by main().

static void close_video ( AVFormatContext oc,
AVStream st 
)
static
Examples:
doc/examples/muxing.c.

Definition at line 380 of file muxing.c.

Referenced by main().

int main ( int  argc,
char **  argv 
)

Definition at line 391 of file muxing.c.

Variable Documentation

int sws_flags = SWS_BICUBIC
static
Examples:
doc/examples/muxing.c.

Definition at line 47 of file muxing.c.

Referenced by write_video_frame().

static float t
static
Examples:
doc/examples/decoding_encoding.c, doc/examples/muxing.c, and doc/examples/resampling_audio.c.

Definition at line 52 of file muxing.c.

Referenced by adpcm_compress_trellis(), alaw2linear(), analyze_plane(), assert_avoptions(), audio_encode_example(), av_add_sf(), av_aes_init(), av_cmp_sf(), av_dict_copy(), av_gettime(), av_normalize1_sf(), av_opt_set_dict(), av_parse_time(), av_size_mult(), av_timegm(), av_tree_insert(), avformat_find_stream_info(), avi_write_header(), bessel(), blend_pixel(), block_cmp(), block_diffs_C(), bmp_decode_frame(), body(), butterflies_float_c(), caf_write_header(), checksum_plane(), config_props(), crazytime_to_iso8601(), dca_downmix(), decode_555(), decode_band(), decode_block(), decode_cce(), decode_channel(), decode_dct(), decode_end(), decode_frame(), decode_group3_1d_line(), decode_group3_2d_line(), decode_run_2bit(), decode_subband_slice_buffered(), deghost_plane(), dering_TMPL(), diff_planes(), dint_copy_line_mmx2(), draw_mandelbrot(), dv_init_mux(), encode_block(), encode_frame(), encode_picture_ls(), encode_subband_c0run(), estimate_sid_gain(), eval_expr(), ff_amf_tag_contents(), ff_amf_tag_size(), ff_ape_write(), ff_h264_decode_seq_parameter_set(), ff_id3v2_write_metadata(), ff_j2k_tag_tree_init(), ff_jpegls_decode_picture(), ff_mjpeg_find_marker(), ff_pca(), ff_rtmp_packet_read_internal(), ff_vorbis_comment(), ff_vp6_filter_diag4_c(), ff_yuv2rgb_get_func_ptr(), ffm_write_header(), filetime_to_iso8601(), filter(), filter_codec_opts(), filter_frame(), gcd(), generate_noise(), get_audio_frame(), get_chroma_qp(), get_date_tag(), get_dimension(), get_generic_seed(), get_scale_idx(), gxf_write_umf_material_description(), handle_invoke_status(), handle_ping(), hpel_motion_search(), idct32(), idct_row(), idx_to_quant(), ir2_decode_plane(), ir2_decode_plane_inter(), ivi_free_buffers(), lcg_seek(), main(), match(), merge_date(), mid_pred(), mix6to2_TMPL(), mix8to2_TMPL(), mkv_write_attachments(), mkv_write_chapters(), mkv_write_tag(), mov_create_chapter_track(), mov_read_mac_string(), mov_write_3gp_udta_tag(), mov_write_chpl_tag(), mov_write_header(), mov_write_int8_metadata(), mov_write_string_metadata(), mov_write_tmpo_tag(), mov_write_trkn_tag(), mpc7_decode_frame(), mpc8_decode_frame(), mpc8_parse_seektable(), mss4_decode_dct(), mxf_compute_index_tables(), mxf_read_packet(), mxf_read_packet_old(), mxf_read_seek(), mxf_set_current_edit_unit(), mxf_write_header(), nsv_parse_NSVs_header(), ogm_dshow_header(), old_codec37(), oledate_to_iso8601(), open_audio(), open_input_file(), paf_aud_decode(), parse_forced_key_frames(), parse_times(), pix_abs16x16_y2_mvi(), postProcess_TMPL(), pow_m1_4(), predictor(), print_report(), process_block(), qpel_motion_search(), quantize_and_encode_band_cost_template(), read_block_types(), read_colors(), read_dct_coeffs(), read_motion_values(), read_patterns(), read_runs(), read_thread(), read_time(), read_tree(), request_frame(), revert_channel_correlation(), rv34_decode_cbp(), rv34_decode_inter_mb_header(), rv34_decode_intra_mb_header(), rv40_strong_loop_filter(), rv40_weak_loop_filter(), sad_hpel_motion_search(), scalarproduct_int16_altivec(), search_for_quantizers_anmr(), search_for_quantizers_faac(), sha1_transform(), sipr_decode_lp(), smacker_decode_bigtree(), smacker_read_packet(), smjpeg_write_header(), stream_component_open(), tak_parse(), tedcaptions_read_probe(), tm2_low_chroma(), toright(), tqi_decode_init(), truespeech_apply_twopoint_filter(), truespeech_place_pulses(), truespeech_synth(), udp_read(), ulaw2linear(), ulti_grad(), unix_to_file_time(), unpack_coeffs(), update_benchmark(), vb_decode_framedata(), vorbis_parse_setup_hdr_codebooks(), vp56_deblock_filter(), vp5_adjust(), wavpack_decode_block(), write_chapter(), write_chunk_header(), write_frame(), write_globalinfo(), write_index(), write_streaminfo(), write_tags(), ws_snd_decode_frame(), wv_get_value(), wv_unpack_mono(), wv_unpack_stereo(), x8_ac_compensation(), x8_get_ac_rlf(), x8_loop_filter(), xa_decode(), yae_reset(), yuv2planeX_u(), and zero12v_decode_frame().

static float tincr
static
static float tincr2
static
Examples:
doc/examples/muxing.c.

Definition at line 52 of file muxing.c.

Referenced by get_audio_frame(), and open_audio().

static int16_t * samples
static
Examples:
doc/examples/decoding_encoding.c, and doc/examples/muxing.c.

Definition at line 53 of file muxing.c.

Referenced by aac_decode_frame_int(), aac_encode_frame(), adpcm_decode_frame(), adx_decode_frame(), adx_encode_frame(), alac_entropy_coder(), alac_linear_predictor(), amr_wb_encode_frame(), apply_window_and_mdct(), ast_write_trailer(), audio_encode_example(), avfilter_get_audio_buffer_ref_from_arrays_channels(), cinaudio_decode_frame(), close_audio(), cng_encode_frame(), conv(), cook_decode_frame(), decode_frame(), decode_residuals(), encode_frame(), Faac_encode_frame(), ff_mpa_synth_filter_TMPL(), ff_mpadsp_apply_window_mips_fixed(), filter_frame(), flac_decorrelate_indep_c(), flac_decorrelate_ls_c(), flac_decorrelate_ms_c(), flac_decorrelate_rs_c(), frame_list_remove_samples(), get_audio_frame(), get_packet_header(), gsm_decode_frame(), libgsm_decode_frame(), libgsm_encode_frame(), mace_decode_frame(), mov_build_index(), mov_read_custom_metadata(), MPA_encode_frame(), mxf_write_d10_audio_packet(), oggvorbis_decode_frame(), oggvorbis_encode_frame(), open_audio(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcm_encode_frame(), postfilter(), r3d_read_reda(), ra144_decode_frame(), ra144_encode_frame(), read_packet(), rematrix_channels(), residue_encode(), sample_queue_push(), setup_array(), sipr_decode_frame(), smka_decode_frame(), synth_superframe(), synthfilt_build_sb_samples(), tak_decode_frame(), truespeech_decode_frame(), tta_decode_frame(), update_md5_sum(), vorbis_encode_frame(), wavpack_decode_block(), wma_decode_superframe(), write_audio_frame(), write_element(), ws_snd_decode_frame(), wv_unpack_mono(), and wv_unpack_stereo().

static int audio_input_frame_size
static
Examples:
doc/examples/muxing.c.

Definition at line 54 of file muxing.c.

Referenced by open_audio(), and write_audio_frame().

AVFrame* frame
static

Definition at line 233 of file muxing.c.

Referenced by write_audio_frame().

AVPicture src_picture
static
Examples:
doc/examples/muxing.c.

Definition at line 234 of file muxing.c.

AVPicture dst_picture
static
Examples:
doc/examples/muxing.c.

Definition at line 234 of file muxing.c.

Referenced by open_video().

int frame_count
static