#include "config.h"
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <errno.h>
#include <signal.h>
#include <limits.h>
#include <unistd.h>
#include "libavformat/avformat.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#include "libavutil/opt.h"
#include "libavutil/audioconvert.h"
#include "libavutil/parseutils.h"
#include "libavutil/samplefmt.h"
#include "libavutil/colorspace.h"
#include "libavutil/fifo.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "libavutil/avstring.h"
#include "libavutil/libm.h"
#include "libavutil/imgutils.h"
#include "libavutil/timestamp.h"
#include "libavutil/bprint.h"
#include "libavformat/os_support.h"
#include "libavformat/ffm.h"
#include "libavfilter/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavfilter/avfiltergraph.h"
#include "libavfilter/buffersrc.h"
#include "libavfilter/buffersink.h"
#include <time.h>
#include "cmdutils.h"
#include "libavutil/avassert.h"
#include "cmdutils_common_opts.h"
Go to the source code of this file.
Data Structures | |
struct | StreamMap |
struct | AudioChannelMap |
struct | InputFilter |
struct | OutputFilter |
struct | FilterGraph |
struct | FrameBuffer |
struct | InputStream |
struct | InputFile |
struct | OutputStream |
struct | OutputFile |
struct | OptionsContext |
Defines | |
#define | VSYNC_AUTO -1 |
#define | VSYNC_PASSTHROUGH 0 |
#define | VSYNC_CFR 1 |
#define | VSYNC_VFR 2 |
#define | VSYNC_DROP 0xff |
#define | SINKA |
#define | MAX_STREAMS 1024 |
#define | DEFAULT_PASS_LOGFILENAME_PREFIX "ffmpeg2pass" |
#define | MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st) |
#define | DEF_CHOOSE_FORMAT(type, var, supported_list, none, get_name, separator) |
Define a function for building a string containing a list of allowed formats,. | |
#define | GET_PIX_FMT_NAME(pix_fmt) const char *name = av_get_pix_fmt_name(pix_fmt); |
#define | GET_SAMPLE_FMT_NAME(sample_fmt) const char *name = av_get_sample_fmt_name(sample_fmt) |
#define | GET_SAMPLE_RATE_NAME(rate) |
#define | GET_CH_LAYOUT_NAME(ch_layout) |
#define | AUTO_INSERT_FILTER(opt_name, filter_name, arg) |
#define | METADATA_CHECK_INDEX(index, nb_elems, desc) |
#define | SET_DICT(type, meta, context, index) |
#define | OFFSET(x) offsetof(OptionsContext, x) |
Functions | |
static void | do_video_stats (AVFormatContext *os, OutputStream *ost, int frame_size) |
static int64_t | getutime (void) |
static void | update_benchmark (const char *fmt,...) |
static void | reset_options (OptionsContext *o, int is_input) |
static int | alloc_buffer (InputStream *ist, AVCodecContext *s, FrameBuffer **pbuf) |
static void | free_buffer_pool (InputStream *ist) |
static void | unref_buffer (InputStream *ist, FrameBuffer *buf) |
static int | codec_get_buffer (AVCodecContext *s, AVFrame *frame) |
static void | codec_release_buffer (AVCodecContext *s, AVFrame *frame) |
static void | filter_release_buffer (AVFilterBuffer *fb) |
static enum PixelFormat | choose_pixel_fmt (AVStream *st, AVCodec *codec, enum PixelFormat target) |
static char * | choose_pix_fmts (OutputStream *ost) |
DEF_CHOOSE_FORMAT (enum AVSampleFormat, sample_fmt, sample_fmts, AV_SAMPLE_FMT_NONE, GET_SAMPLE_FMT_NAME,",") DEF_CHOOSE_FORMAT(int | |
DEF_CHOOSE_FORMAT (uint64_t, channel_layout, channel_layouts, 0, GET_CH_LAYOUT_NAME,", ") | |
static int | configure_video_filters (FilterGraph *fg, AVFilterContext **in_filter, AVFilterContext **out_filter) |
static int | configure_simple_filtergraph (FilterGraph *fg) |
static FilterGraph * | init_simple_filtergraph (InputStream *ist, OutputStream *ost) |
static void | init_input_filter (FilterGraph *fg, AVFilterInOut *in) |
static int | configure_output_video_filter (FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out) |
static int | configure_output_audio_filter (FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out) |
static int | configure_output_filter (FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out) |
static int | configure_complex_filter (FilterGraph *fg) |
static int | configure_complex_filters (void) |
static int | configure_filtergraph (FilterGraph *fg) |
static int | ist_in_filtergraph (FilterGraph *fg, InputStream *ist) |
static void | term_exit (void) |
static void | sigterm_handler (int sig) |
static void | term_init (void) |
static int | read_key (void) |
static int | decode_interrupt_cb (void *ctx) |
void av_noreturn | exit_program (int ret) |
Do all the necessary cleanup and abort. | |
static void | assert_avoptions (AVDictionary *m) |
static void | assert_codec_experimental (AVCodecContext *c, int encoder) |
static void | choose_sample_fmt (AVStream *st, AVCodec *codec) |
static void | write_frame (AVFormatContext *s, AVPacket *pkt, OutputStream *ost) |
static int | check_recording_time (OutputStream *ost) |
static void | do_audio_out (AVFormatContext *s, OutputStream *ost, AVFrame *frame) |
static void | pre_process_video_frame (InputStream *ist, AVPicture *picture, void **bufp) |
static void | do_subtitle_out (AVFormatContext *s, OutputStream *ost, InputStream *ist, AVSubtitle *sub, int64_t pts) |
static void | do_video_out (AVFormatContext *s, OutputStream *ost, AVFrame *in_picture, float quality) |
static double | psnr (double d) |
static int | poll_filters (void) |
static void | print_report (int is_last_report, int64_t timer_start, int64_t cur_time) |
static void | flush_encoders (void) |
static int | check_output_constraints (InputStream *ist, OutputStream *ost) |
static void | do_streamcopy (InputStream *ist, OutputStream *ost, const AVPacket *pkt) |
static void | rate_emu_sleep (InputStream *ist) |
static int | guess_input_channel_layout (InputStream *ist) |
static int | decode_audio (InputStream *ist, AVPacket *pkt, int *got_output) |
static int | decode_video (InputStream *ist, AVPacket *pkt, int *got_output) |
static int | transcode_subtitles (InputStream *ist, AVPacket *pkt, int *got_output) |
static int | output_packet (InputStream *ist, const AVPacket *pkt) |
static void | print_sdp (void) |
static int | init_input_stream (int ist_index, char *error, int error_len) |
static InputStream * | get_input_stream (OutputStream *ost) |
static int | transcode_init (void) |
static int | transcode (void) |
static int | opt_frame_crop (const char *opt, const char *arg) |
static int | opt_pad (const char *opt, const char *arg) |
static int | opt_video_channel (const char *opt, const char *arg) |
static int | opt_video_standard (const char *opt, const char *arg) |
static int | opt_audio_codec (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_video_codec (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_subtitle_codec (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_data_codec (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_map (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_attach (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_map_channel (OptionsContext *o, const char *opt, const char *arg) |
static void | parse_meta_type (char *arg, char *type, int *index, const char **stream_spec) |
Parse a metadata specifier in arg. | |
static int | copy_metadata (char *outspec, char *inspec, AVFormatContext *oc, AVFormatContext *ic, OptionsContext *o) |
static int | opt_recording_timestamp (OptionsContext *o, const char *opt, const char *arg) |
static AVCodec * | find_codec_or_die (const char *name, enum AVMediaType type, int encoder) |
static AVCodec * | choose_decoder (OptionsContext *o, AVFormatContext *s, AVStream *st) |
static void | add_input_streams (OptionsContext *o, AVFormatContext *ic) |
Add all the streams from the given input file to the global list of input streams. | |
static void | assert_file_overwrite (const char *filename) |
static void | dump_attachment (AVStream *st, const char *filename) |
static int | opt_input_file (OptionsContext *o, const char *opt, const char *filename) |
static void | parse_forced_key_frames (char *kf, OutputStream *ost) |
static uint8_t * | get_line (AVIOContext *s) |
static int | get_preset_file_2 (const char *preset_name, const char *codec_name, AVIOContext **s) |
static void | choose_encoder (OptionsContext *o, AVFormatContext *s, OutputStream *ost) |
static OutputStream * | new_output_stream (OptionsContext *o, AVFormatContext *oc, enum AVMediaType type, int source_index) |
static void | parse_matrix_coeffs (uint16_t *dest, const char *str) |
static OutputStream * | new_video_stream (OptionsContext *o, AVFormatContext *oc, int source_index) |
static OutputStream * | new_audio_stream (OptionsContext *o, AVFormatContext *oc, int source_index) |
static OutputStream * | new_data_stream (OptionsContext *o, AVFormatContext *oc, int source_index) |
static OutputStream * | new_attachment_stream (OptionsContext *o, AVFormatContext *oc, int source_index) |
static OutputStream * | new_subtitle_stream (OptionsContext *o, AVFormatContext *oc, int source_index) |
static int | opt_streamid (OptionsContext *o, const char *opt, const char *arg) |
static int | copy_chapters (InputFile *ifile, OutputFile *ofile, int copy_metadata) |
static int | read_ffserver_streams (OptionsContext *o, AVFormatContext *s, const char *filename) |
static void | init_output_filter (OutputFilter *ofilter, OptionsContext *o, AVFormatContext *oc) |
static void | opt_output_file (void *optctx, const char *filename) |
static int | opt_pass (const char *opt, const char *arg) |
static int64_t | getmaxrss (void) |
static int | opt_audio_qscale (OptionsContext *o, const char *opt, const char *arg) |
static void | show_usage (void) |
static int | opt_help (const char *opt, const char *arg) |
static int | opt_target (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_vstats_file (const char *opt, const char *arg) |
static int | opt_vstats (const char *opt, const char *arg) |
static int | opt_video_frames (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_audio_frames (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_data_frames (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_preset (OptionsContext *o, const char *opt, const char *arg) |
static void | log_callback_null (void *ptr, int level, const char *fmt, va_list vl) |
static int | opt_passlogfile (const char *opt, const char *arg) |
static int | opt_old2new (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_bitrate (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_qscale (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_profile (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_video_filters (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_audio_filters (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_vsync (const char *opt, const char *arg) |
static int | opt_deinterlace (const char *opt, const char *arg) |
static void | parse_cpuflags (int argc, char **argv, const OptionDef *options) |
static int | opt_channel_layout (OptionsContext *o, const char *opt, const char *arg) |
static int | opt_filter_complex (const char *opt, const char *arg) |
int | main (int argc, char **argv) |
Variables | |
const char | program_name [] = "ffmpeg" |
program name, defined by the program for show_version(). | |
const int | program_birth_year = 2000 |
program birth year, defined by the program for show_banner() | |
static const OptionDef | options [] |
static int | frame_bits_per_raw_sample = 0 |
static int | video_discard = 0 |
static int | same_quant = 0 |
static int | do_deinterlace = 0 |
static int | intra_dc_precision = 8 |
static int | qp_hist = 0 |
static int | intra_only = 0 |
static const char * | video_codec_name = NULL |
static const char * | audio_codec_name = NULL |
static const char * | subtitle_codec_name = NULL |
static int | file_overwrite = 0 |
static int | no_file_overwrite = 0 |
static int | do_benchmark = 0 |
static int | do_benchmark_all = 0 |
static int | do_hex_dump = 0 |
static int | do_pkt_dump = 0 |
static int | do_psnr = 0 |
static int | do_pass = 0 |
static const char * | pass_logfilename_prefix |
static int | video_sync_method = VSYNC_AUTO |
static int | audio_sync_method = 0 |
static float | audio_drift_threshold = 0.1 |
static int | copy_ts = 0 |
static int | copy_tb = -1 |
static int | opt_shortest = 0 |
static char * | vstats_filename |
static FILE * | vstats_file |
static int | audio_volume = 256 |
static int | exit_on_error = 0 |
static int | using_stdin = 0 |
static int | run_as_daemon = 0 |
static volatile int | received_nb_signals = 0 |
static int64_t | video_size = 0 |
static int64_t | audio_size = 0 |
static int64_t | extra_size = 0 |
static int | nb_frames_dup = 0 |
static int | nb_frames_drop = 0 |
static int | input_sync |
static float | dts_delta_threshold = 10 |
static float | dts_error_threshold = 3600*30 |
static int | print_stats = 1 |
static int | debug_ts = 0 |
static int | current_time |
static InputStream ** | input_streams = NULL |
static int | nb_input_streams = 0 |
static InputFile ** | input_files = NULL |
static int | nb_input_files = 0 |
static OutputStream ** | output_streams = NULL |
static int | nb_output_streams = 0 |
static OutputFile ** | output_files = NULL |
static int | nb_output_files = 0 |
static FilterGraph ** | filtergraphs |
int | nb_filtergraphs |
sample_rate | |
supported_samplerates | |
GET_SAMPLE_RATE_NAME | |
static volatile int | received_sigterm = 0 |
static const AVIOInterruptCB | int_cb = { decode_interrupt_cb, NULL } |
Definition in file ffmpeg.c.
#define AUTO_INSERT_FILTER | ( | opt_name, | |||
filter_name, | |||||
arg | ) |
Value:
do { \ AVFilterContext *filt_ctx; \ \ av_log(NULL, AV_LOG_INFO, opt_name " is forwarded to lavfi " \ "similarly to -af " filter_name "=%s.\n", arg); \ \ ret = avfilter_graph_create_filter(&filt_ctx, \ avfilter_get_by_name(filter_name), \ filter_name, arg, NULL, fg->graph); \ if (ret < 0) \ return ret; \ \ ret = avfilter_link(*in_filter, 0, filt_ctx, 0); \ if (ret < 0) \ return ret; \ \ *in_filter = filt_ctx; \ } while (0)
Referenced by DEF_CHOOSE_FORMAT().
#define DEF_CHOOSE_FORMAT | ( | type, | |||
var, | |||||
supported_list, | |||||
none, | |||||
get_name, | |||||
separator | ) |
Value:
static char *choose_ ## var ## s(OutputStream *ost) \ { \ if (ost->st->codec->var != none) { \ get_name(ost->st->codec->var); \ return av_strdup(name); \ } else if (ost->enc->supported_list) { \ const type *p; \ AVIOContext *s = NULL; \ uint8_t *ret; \ int len; \ \ if (avio_open_dyn_buf(&s) < 0) \ exit_program(1); \ \ for (p = ost->enc->supported_list; *p != none; p++) { \ get_name(*p); \ avio_printf(s, "%s" separator, name); \ } \ len = avio_close_dyn_buf(s, &ret); \ ret[len - 1] = 0; \ return ret; \ } else \ return NULL; \ }
#define DEFAULT_PASS_LOGFILENAME_PREFIX "ffmpeg2pass" |
#define GET_CH_LAYOUT_NAME | ( | ch_layout | ) |
#define GET_SAMPLE_FMT_NAME | ( | sample_fmt | ) | const char *name = av_get_sample_fmt_name(sample_fmt) |
#define GET_SAMPLE_RATE_NAME | ( | rate | ) |
#define MATCH_PER_STREAM_OPT | ( | name, | |||
type, | |||||
outvar, | |||||
fmtctx, | |||||
st | ) |
Value:
{\ int i, ret;\ for (i = 0; i < o->nb_ ## name; i++) {\ char *spec = o->name[i].specifier;\ if ((ret = check_stream_specifier(fmtctx, st, spec)) > 0)\ outvar = o->name[i].u.type;\ else if (ret < 0)\ exit_program(1);\ }\ }
Definition at line 443 of file ffmpeg.c.
Referenced by add_input_streams(), choose_decoder(), choose_encoder(), new_audio_stream(), new_output_stream(), new_subtitle_stream(), and new_video_stream().
#define MAX_STREAMS 1024 |
#define METADATA_CHECK_INDEX | ( | index, | |||
nb_elems, | |||||
desc | ) |
Value:
if ((index) < 0 || (index) >= (nb_elems)) {\ av_log(NULL, AV_LOG_FATAL, "Invalid %s index %d while processing metadata maps.\n",\ (desc), (index));\ exit_program(1);\ }
#define OFFSET | ( | x | ) | offsetof(OptionsContext, x) |
#define SET_DICT | ( | type, | |||
meta, | |||||
context, | |||||
index | ) |
Value:
switch (type) {\ case 'g':\ meta = &context->metadata;\ break;\ case 'c':\ METADATA_CHECK_INDEX(index, context->nb_chapters, "chapter")\ meta = &context->chapters[index]->metadata;\ break;\ case 'p':\ METADATA_CHECK_INDEX(index, context->nb_programs, "program")\ meta = &context->programs[index]->metadata;\ break;\ }\
Referenced by copy_metadata().
#define VSYNC_AUTO -1 |
Definition at line 94 of file ffmpeg.c.
Referenced by do_video_out(), opt_vsync(), and transcode_init().
#define VSYNC_CFR 1 |
Definition at line 96 of file ffmpeg.c.
Referenced by do_video_out(), opt_vsync(), and transcode_init().
#define VSYNC_DROP 0xff |
Definition at line 98 of file ffmpeg.c.
Referenced by do_video_out(), opt_vsync(), and write_frame().
#define VSYNC_PASSTHROUGH 0 |
Definition at line 95 of file ffmpeg.c.
Referenced by do_video_out(), opt_vsync(), and transcode_init().
#define VSYNC_VFR 2 |
static void add_input_streams | ( | OptionsContext * | o, | |
AVFormatContext * | ic | |||
) | [static] |
Add all the streams from the given input file to the global list of input streams.
Definition at line 4117 of file ffmpeg.c.
Referenced by opt_input_file().
static int alloc_buffer | ( | InputStream * | ist, | |
AVCodecContext * | s, | |||
FrameBuffer ** | pbuf | |||
) | [static] |
Definition at line 533 of file ffmpeg.c.
Referenced by codec_get_buffer(), ff_vaapi_alloc_bitplane(), ff_vaapi_alloc_iq_matrix(), ff_vaapi_alloc_pic_param(), and pullup_get_buffer().
static void assert_avoptions | ( | AVDictionary * | m | ) | [static] |
Definition at line 1624 of file ffmpeg.c.
Referenced by init_input_stream(), opt_input_file(), and transcode_init().
static void assert_codec_experimental | ( | AVCodecContext * | c, | |
int | encoder | |||
) | [static] |
static void assert_file_overwrite | ( | const char * | filename | ) | [static] |
static int check_output_constraints | ( | InputStream * | ist, | |
OutputStream * | ost | |||
) | [static] |
static int check_recording_time | ( | OutputStream * | ost | ) | [static] |
static AVCodec* choose_decoder | ( | OptionsContext * | o, | |
AVFormatContext * | s, | |||
AVStream * | st | |||
) | [static] |
static void choose_encoder | ( | OptionsContext * | o, | |
AVFormatContext * | s, | |||
OutputStream * | ost | |||
) | [static] |
static char* choose_pix_fmts | ( | OutputStream * | ost | ) | [static] |
Definition at line 704 of file ffmpeg.c.
Referenced by configure_output_video_filter(), and configure_video_filters().
static enum PixelFormat choose_pixel_fmt | ( | AVStream * | st, | |
AVCodec * | codec, | |||
enum PixelFormat | target | |||
) | [static] |
Definition at line 672 of file ffmpeg.c.
Referenced by choose_pix_fmts(), and read_ffserver_streams().
static int codec_get_buffer | ( | AVCodecContext * | s, | |
AVFrame * | frame | |||
) | [static] |
static void codec_release_buffer | ( | AVCodecContext * | s, | |
AVFrame * | frame | |||
) | [static] |
static int configure_complex_filter | ( | FilterGraph * | fg | ) | [static] |
Definition at line 1326 of file ffmpeg.c.
Referenced by configure_complex_filters(), and configure_filtergraph().
static int configure_complex_filters | ( | void | ) | [static] |
static int configure_filtergraph | ( | FilterGraph * | fg | ) | [static] |
static int configure_output_audio_filter | ( | FilterGraph * | fg, | |
OutputFilter * | ofilter, | |||
AVFilterInOut * | out | |||
) | [static] |
static int configure_output_filter | ( | FilterGraph * | fg, | |
OutputFilter * | ofilter, | |||
AVFilterInOut * | out | |||
) | [static] |
Definition at line 1317 of file ffmpeg.c.
Referenced by configure_complex_filter(), and init_output_filter().
static int configure_output_video_filter | ( | FilterGraph * | fg, | |
OutputFilter * | ofilter, | |||
AVFilterInOut * | out | |||
) | [static] |
static int configure_simple_filtergraph | ( | FilterGraph * | fg | ) | [static] |
Definition at line 1006 of file ffmpeg.c.
Referenced by configure_filtergraph(), and transcode_init().
static int configure_video_filters | ( | FilterGraph * | fg, | |
AVFilterContext ** | in_filter, | |||
AVFilterContext ** | out_filter | |||
) | [static] |
Definition at line 928 of file ffmpeg.c.
Referenced by configure_simple_filtergraph(), and video_thread().
static int copy_chapters | ( | InputFile * | ifile, | |
OutputFile * | ofile, | |||
int | copy_metadata | |||
) | [static] |
static int copy_metadata | ( | char * | outspec, | |
char * | inspec, | |||
AVFormatContext * | oc, | |||
AVFormatContext * | ic, | |||
OptionsContext * | o | |||
) | [static] |
static int decode_audio | ( | InputStream * | ist, | |
AVPacket * | pkt, | |||
int * | got_output | |||
) | [static] |
static int decode_interrupt_cb | ( | void * | ctx | ) | [static] |
static int decode_video | ( | InputStream * | ist, | |
AVPacket * | pkt, | |||
int * | got_output | |||
) | [static] |
DEF_CHOOSE_FORMAT | ( | uint64_t | , | |
channel_layout | , | |||
channel_layouts | , | |||
0 | , | |||
GET_CH_LAYOUT_NAME | , | |||
" | , | |||
" | ||||
) |
DEF_CHOOSE_FORMAT | ( | enum | AVSampleFormat, | |
sample_fmt | , | |||
sample_fmts | , | |||
AV_SAMPLE_FMT_NONE | , | |||
GET_SAMPLE_FMT_NAME | , | |||
" | , | |||
" | ||||
) |
static void do_audio_out | ( | AVFormatContext * | s, | |
OutputStream * | ost, | |||
AVFrame * | frame | |||
) | [static] |
static void do_streamcopy | ( | InputStream * | ist, | |
OutputStream * | ost, | |||
const AVPacket * | pkt | |||
) | [static] |
static void do_subtitle_out | ( | AVFormatContext * | s, | |
OutputStream * | ost, | |||
InputStream * | ist, | |||
AVSubtitle * | sub, | |||
int64_t | pts | |||
) | [static] |
static void do_video_out | ( | AVFormatContext * | s, | |
OutputStream * | ost, | |||
AVFrame * | in_picture, | |||
float | quality | |||
) | [static] |
static void do_video_stats | ( | AVFormatContext * | os, | |
OutputStream * | ost, | |||
int | frame_size | |||
) | [static] |
static void dump_attachment | ( | AVStream * | st, | |
const char * | filename | |||
) | [static] |
void av_noreturn exit_program | ( | int | ret | ) |
static void filter_release_buffer | ( | AVFilterBuffer * | fb | ) | [static] |
static AVCodec* find_codec_or_die | ( | const char * | name, | |
enum AVMediaType | type, | |||
int | encoder | |||
) | [static] |
Definition at line 4081 of file ffmpeg.c.
Referenced by choose_decoder(), choose_encoder(), and opt_input_file().
static void flush_encoders | ( | void | ) | [static] |
static void free_buffer_pool | ( | InputStream * | ist | ) | [static] |
static InputStream* get_input_stream | ( | OutputStream * | ost | ) | [static] |
static uint8_t* get_line | ( | AVIOContext * | s | ) | [static] |
Definition at line 4405 of file ffmpeg.c.
Referenced by new_output_stream(), read_chapter(), and read_header().
static int get_preset_file_2 | ( | const char * | preset_name, | |
const char * | codec_name, | |||
AVIOContext ** | s | |||
) | [static] |
static int64_t getmaxrss | ( | void | ) | [static] |
static int64_t getutime | ( | void | ) | [static] |
static int guess_input_channel_layout | ( | InputStream * | ist | ) | [static] |
static void init_input_filter | ( | FilterGraph * | fg, | |
AVFilterInOut * | in | |||
) | [static] |
static int init_input_stream | ( | int | ist_index, | |
char * | error, | |||
int | error_len | |||
) | [static] |
static void init_output_filter | ( | OutputFilter * | ofilter, | |
OptionsContext * | o, | |||
AVFormatContext * | oc | |||
) | [static] |
static FilterGraph* init_simple_filtergraph | ( | InputStream * | ist, | |
OutputStream * | ost | |||
) | [static] |
static int ist_in_filtergraph | ( | FilterGraph * | fg, | |
InputStream * | ist | |||
) | [static] |
static void log_callback_null | ( | void * | ptr, | |
int | level, | |||
const char * | fmt, | |||
va_list | vl | |||
) | [static] |
static OutputStream* new_attachment_stream | ( | OptionsContext * | o, | |
AVFormatContext * | oc, | |||
int | source_index | |||
) | [static] |
static OutputStream* new_audio_stream | ( | OptionsContext * | o, | |
AVFormatContext * | oc, | |||
int | source_index | |||
) | [static] |
Definition at line 4731 of file ffmpeg.c.
Referenced by init_output_filter(), and opt_output_file().
static OutputStream* new_data_stream | ( | OptionsContext * | o, | |
AVFormatContext * | oc, | |||
int | source_index | |||
) | [static] |
static OutputStream* new_output_stream | ( | OptionsContext * | o, | |
AVFormatContext * | oc, | |||
enum AVMediaType | type, | |||
int | source_index | |||
) | [static] |
Definition at line 4467 of file ffmpeg.c.
Referenced by new_attachment_stream(), new_audio_stream(), new_data_stream(), new_subtitle_stream(), new_video_stream(), and read_ffserver_streams().
static OutputStream* new_subtitle_stream | ( | OptionsContext * | o, | |
AVFormatContext * | oc, | |||
int | source_index | |||
) | [static] |
static OutputStream* new_video_stream | ( | OptionsContext * | o, | |
AVFormatContext * | oc, | |||
int | source_index | |||
) | [static] |
Definition at line 4597 of file ffmpeg.c.
Referenced by init_output_filter(), and opt_output_file().
static int opt_attach | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_audio_codec | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
Definition at line 3765 of file ffmpeg.c.
Referenced by ffserver_opt_preset(), opt_preset(), opt_target(), and parse_ffconfig().
static int opt_audio_filters | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_audio_frames | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_audio_qscale | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_bitrate | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_channel_layout | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_data_codec | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_data_frames | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_deinterlace | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_filter_complex | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_frame_crop | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_help | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_input_file | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | filename | |||
) | [static] |
static int opt_map | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_map_channel | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_old2new | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static void opt_output_file | ( | void * | optctx, | |
const char * | filename | |||
) | [static] |
static int opt_pad | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_pass | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_passlogfile | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_preset | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_profile | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_qscale | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_recording_timestamp | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_streamid | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_subtitle_codec | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_target | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_video_channel | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_video_codec | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
Definition at line 3771 of file ffmpeg.c.
Referenced by ffserver_opt_preset(), opt_preset(), opt_target(), and parse_ffconfig().
static int opt_video_filters | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_video_frames | ( | OptionsContext * | o, | |
const char * | opt, | |||
const char * | arg | |||
) | [static] |
static int opt_video_standard | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_vstats | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_vstats_file | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int opt_vsync | ( | const char * | opt, | |
const char * | arg | |||
) | [static] |
static int output_packet | ( | InputStream * | ist, | |
const AVPacket * | pkt | |||
) | [static] |
Definition at line 2763 of file ffmpeg.c.
Referenced by mpeg_mux_end(), mpeg_mux_write_packet(), and transcode().
static void parse_cpuflags | ( | int | argc, | |
char ** | argv, | |||
const OptionDef * | options | |||
) | [static] |
static void parse_forced_key_frames | ( | char * | kf, | |
OutputStream * | ost | |||
) | [static] |
static void parse_matrix_coeffs | ( | uint16_t * | dest, | |
const char * | str | |||
) | [static] |
static void parse_meta_type | ( | char * | arg, | |
char * | type, | |||
int * | index, | |||
const char ** | stream_spec | |||
) | [static] |
Parse a metadata specifier in arg.
type | metadata type is written here -- g(lobal)/s(tream)/c(hapter)/p(rogram) | |
index | for type c/p, chapter/program index is written here | |
stream_spec | for type s, the stream specifier is written here |
Definition at line 3958 of file ffmpeg.c.
Referenced by copy_metadata(), and opt_output_file().
static int poll_filters | ( | void | ) | [static] |
static void pre_process_video_frame | ( | InputStream * | ist, | |
AVPicture * | picture, | |||
void ** | bufp | |||
) | [static] |
static void print_report | ( | int | is_last_report, | |
int64_t | timer_start, | |||
int64_t | cur_time | |||
) | [static] |
static void print_sdp | ( | void | ) | [static] |
static double psnr | ( | double | d | ) | [static] |
Definition at line 2057 of file ffmpeg.c.
Referenced by do_video_stats(), main(), print_report(), and run_psnr().
static void rate_emu_sleep | ( | InputStream * | ist | ) | [static] |
Definition at line 2502 of file ffmpeg.c.
Referenced by decode_audio(), decode_video(), output_packet(), and transcode_subtitles().
static int read_ffserver_streams | ( | OptionsContext * | o, | |
AVFormatContext * | s, | |||
const char * | filename | |||
) | [static] |
static int read_key | ( | void | ) | [static] |
static void reset_options | ( | OptionsContext * | o, | |
int | is_input | |||
) | [static] |
Definition at line 490 of file ffmpeg.c.
Referenced by main(), opt_input_file(), and opt_output_file().
static void show_usage | ( | void | ) | [static] |
static void sigterm_handler | ( | int | sig | ) | [static] |
static void term_exit | ( | void | ) | [static] |
Definition at line 1434 of file ffmpeg.c.
Referenced by assert_file_overwrite(), sigterm_handler(), term_init(), and transcode().
static void term_init | ( | void | ) | [static] |
static int transcode | ( | void | ) | [static] |
static int transcode_init | ( | void | ) | [static] |
static int transcode_subtitles | ( | InputStream * | ist, | |
AVPacket * | pkt, | |||
int * | got_output | |||
) | [static] |
static void unref_buffer | ( | InputStream * | ist, | |
FrameBuffer * | buf | |||
) | [static] |
Definition at line 595 of file ffmpeg.c.
Referenced by codec_release_buffer(), and filter_release_buffer().
static void update_benchmark | ( | const char * | fmt, | |
... | ||||
) | [static] |
Definition at line 473 of file ffmpeg.c.
Referenced by decode_audio(), decode_video(), do_audio_out(), do_video_out(), and flush_encoders().
static void write_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt, | |||
OutputStream * | ost | |||
) | [static] |
Definition at line 1672 of file ffmpeg.c.
Referenced by alac_encode_frame(), do_audio_out(), do_streamcopy(), do_subtitle_out(), do_video_out(), flac_encode_frame(), and flush_encoders().
const char* audio_codec_name = NULL [static] |
Definition at line 132 of file ffmpeg.c.
Referenced by compute_status(), opt_audio_codec(), opt_codec(), opt_input_file(), opt_preset(), and stream_component_open().
float audio_drift_threshold = 0.1 [static] |
Definition at line 146 of file ffmpeg.c.
Referenced by configure_output_audio_filter(), and DEF_CHOOSE_FORMAT().
int64_t audio_size = 0 [static] |
Definition at line 160 of file ffmpeg.c.
Referenced by bfi_read_packet(), bmv_read_packet(), cdxl_read_packet(), do_audio_out(), do_streamcopy(), flush_encoders(), print_report(), read_packet(), rl2_read_header(), rpl_read_header(), and sdl_audio_callback().
int audio_sync_method = 0 [static] |
Definition at line 145 of file ffmpeg.c.
Referenced by configure_output_audio_filter(), DEF_CHOOSE_FORMAT(), do_audio_out(), and write_frame().
int audio_volume = 256 [static] |
int copy_tb = -1 [static] |
int copy_ts = 0 [static] |
int current_time [static] |
int debug_ts = 0 [static] |
Definition at line 170 of file ffmpeg.c.
Referenced by do_audio_out(), do_video_out(), and transcode().
int do_benchmark = 0 [static] |
int do_benchmark_all = 0 [static] |
int do_deinterlace = 0 [static] |
Definition at line 127 of file ffmpeg.c.
Referenced by init_input_stream(), opt_deinterlace(), and pre_process_video_frame().
int do_hex_dump = 0 [static] |
int do_pass = 0 [static] |
int do_pkt_dump = 0 [static] |
int do_psnr = 0 [static] |
float dts_delta_threshold = 10 [static] |
float dts_error_threshold = 3600*30 [static] |
int exit_on_error = 0 [static] |
Definition at line 155 of file ffmpeg.c.
Referenced by do_subtitle_out(), transcode(), and write_frame().
int64_t extra_size = 0 [static] |
Definition at line 161 of file ffmpeg.c.
Referenced by ape_read_packet(), asf_write_header1(), print_report(), and transcode_init().
int file_overwrite = 0 [static] |
FilterGraph** filtergraphs [static] |
int frame_bits_per_raw_sample = 0 [static] |
InputFile** input_files = NULL [static] |
InputStream** input_streams = NULL [static] |
int input_sync [static] |
const AVIOInterruptCB int_cb = { decode_interrupt_cb, NULL } [static] |
Definition at line 1550 of file ffmpeg.c.
Referenced by dump_attachment(), get_preset_file_2(), opt_input_file(), opt_output_file(), read_ffserver_streams(), and transcode_init().
int intra_dc_precision = 8 [static] |
int intra_only = 0 [static] |
int nb_filtergraphs |
Definition at line 349 of file ffmpeg.c.
Referenced by configure_complex_filters(), decode_audio(), decode_video(), exit_program(), init_simple_filtergraph(), opt_filter_complex(), opt_output_file(), poll_filters(), transcode(), and transcode_init().
int nb_frames_drop = 0 [static] |
int nb_frames_dup = 0 [static] |
int nb_input_files = 0 [static] |
Definition at line 341 of file ffmpeg.c.
Referenced by add_input_streams(), dump_attachment(), exit_program(), init_input_filter(), main(), opt_input_file(), opt_map(), opt_map_channel(), opt_output_file(), opt_target(), transcode(), and transcode_init().
int nb_input_streams = 0 [static] |
Definition at line 339 of file ffmpeg.c.
Referenced by add_input_streams(), exit_program(), init_input_filter(), opt_input_file(), opt_output_file(), transcode(), and transcode_init().
int nb_output_files = 0 [static] |
Definition at line 346 of file ffmpeg.c.
Referenced by exit_program(), main(), new_output_stream(), opt_output_file(), print_sdp(), transcode(), and transcode_init().
int nb_output_streams = 0 [static] |
Definition at line 344 of file ffmpeg.c.
Referenced by exit_program(), flush_encoders(), new_output_stream(), opt_output_file(), output_packet(), poll_filters(), print_report(), transcode(), transcode_init(), and transcode_subtitles().
int no_file_overwrite = 0 [static] |
int opt_shortest = 0 [static] |
Definition at line 120 of file ffmpeg.c.
Referenced by pp_get_mode_by_name_and_quality(), show_codec_opts(), and show_format_opts().
OutputFile** output_files = NULL [static] |
OutputStream** output_streams = NULL [static] |
const char* pass_logfilename_prefix [static] |
int print_stats = 1 [static] |
const int program_birth_year = 2000 |
program birth year, defined by the program for show_banner()
const char program_name[] = "ffmpeg" |
int qp_hist = 0 [static] |
volatile int received_nb_signals = 0 [static] |
Definition at line 158 of file ffmpeg.c.
Referenced by decode_interrupt_cb(), sigterm_handler(), and transcode().
volatile int received_sigterm = 0 [static] |
int run_as_daemon = 0 [static] |
int same_quant = 0 [static] |
Definition at line 126 of file ffmpeg.c.
Referenced by decode_video(), new_output_stream(), and poll_filters().
Definition at line 792 of file ffmpeg.c.
Referenced by aiff_write_header(), audio_write_header(), avpriv_mpegaudio_decode_header(), build_feed_streams(), cdata_read_header(), celt_header(), config_output(), dca_parse(), decode_init(), ff_voc_get_packet(), find_expected_header(), flv_read_packet(), get_aiff_header(), idcin_read_header(), main(), mkv_write_tracks(), mp3_header_decompress(), mp3_read_probe(), rv10_write_header(), sox_read_header(), spdif_header_dts(), swap_samplerates_on_filter(), and wsaud_read_header().
const char* subtitle_codec_name = NULL [static] |
Definition at line 133 of file ffmpeg.c.
Referenced by opt_codec(), opt_input_file(), opt_output_file(), opt_preset(), opt_subtitle_codec(), and stream_component_open().
int using_stdin = 0 [static] |
Definition at line 156 of file ffmpeg.c.
Referenced by assert_file_overwrite(), opt_input_file(), and transcode().
const char* video_codec_name = NULL [static] |
Definition at line 131 of file ffmpeg.c.
Referenced by compute_status(), opt_codec(), opt_input_file(), opt_preset(), opt_video_codec(), and stream_component_open().
int video_discard = 0 [static] |
int64_t video_size = 0 [static] |
Definition at line 159 of file ffmpeg.c.
Referenced by cdxl_read_packet(), decode_frame(), do_streamcopy(), do_video_out(), do_video_stats(), flush_encoders(), print_report(), and rpl_read_header().
int video_sync_method = VSYNC_AUTO [static] |
Definition at line 144 of file ffmpeg.c.
Referenced by do_video_out(), opt_vsync(), transcode_init(), and write_frame().
FILE* vstats_file [static] |
char* vstats_filename [static] |
Definition at line 150 of file ffmpeg.c.
Referenced by do_video_out(), do_video_stats(), exit_program(), and opt_vstats_file().