FFmpeg  4.3.6
Macros | Enumerations | Functions | Variables
ffmpeg_opt.c File Reference
#include <stdint.h>
#include "ffmpeg.h"
#include "cmdutils.h"
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/avutil.h"
#include "libavutil/channel_layout.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/fifo.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/pixfmt.h"

Go to the source code of this file.

Macros

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"
 
#define SPECIFIER_OPT_FMT_str   "%s"
 
#define SPECIFIER_OPT_FMT_i   "%i"
 
#define SPECIFIER_OPT_FMT_i64   "%"PRId64
 
#define SPECIFIER_OPT_FMT_ui64   "%"PRIu64
 
#define SPECIFIER_OPT_FMT_f   "%f"
 
#define SPECIFIER_OPT_FMT_dbl   "%lf"
 
#define WARN_MULTIPLE_OPT_USAGE(name, type, so, st)
 
#define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)
 
#define MATCH_PER_TYPE_OPT(name, type, outvar, fmtctx, mediatype)
 
#define METADATA_CHECK_INDEX(index, nb_elems, desc)
 
#define SET_DICT(type, meta, context, index)
 
#define OFFSET(x)   offsetof(OptionsContext, x)
 

Enumerations

enum  OptGroup { GROUP_OUTFILE, GROUP_INFILE }
 

Functions

static void uninit_options (OptionsContext *o)
 
static void init_options (OptionsContext *o)
 
static int show_hwaccels (void *optctx, const char *opt, const char *arg)
 
static AVDictionarystrip_specifiers (AVDictionary *dict)
 
static int opt_abort_on (void *optctx, const char *opt, const char *arg)
 
static int opt_sameq (void *optctx, const char *opt, const char *arg)
 
static int opt_video_channel (void *optctx, const char *opt, const char *arg)
 
static int opt_video_standard (void *optctx, const char *opt, const char *arg)
 
static int opt_audio_codec (void *optctx, const char *opt, const char *arg)
 
static int opt_video_codec (void *optctx, const char *opt, const char *arg)
 
static int opt_subtitle_codec (void *optctx, const char *opt, const char *arg)
 
static int opt_data_codec (void *optctx, const char *opt, const char *arg)
 
static int opt_map (void *optctx, const char *opt, const char *arg)
 
static int opt_attach (void *optctx, const char *opt, const char *arg)
 
static int opt_map_channel (void *optctx, const char *opt, const char *arg)
 
static int opt_sdp_file (void *optctx, const char *opt, const char *arg)
 
static int opt_init_hw_device (void *optctx, const char *opt, const char *arg)
 
static int opt_filter_hw_device (void *optctx, 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 passed as 'arg' parameter. More...
 
static int copy_metadata (char *outspec, char *inspec, AVFormatContext *oc, AVFormatContext *ic, OptionsContext *o)
 
static int opt_recording_timestamp (void *optctx, const char *opt, const char *arg)
 
static AVCodecfind_codec_or_die (const char *name, enum AVMediaType type, int encoder)
 
static AVCodecchoose_decoder (OptionsContext *o, AVFormatContext *s, AVStream *st)
 
static void add_input_streams (OptionsContext *o, AVFormatContext *ic)
 
static void assert_file_overwrite (const char *filename)
 
static void dump_attachment (AVStream *st, const char *filename)
 
static int open_input_file (OptionsContext *o, const char *filename)
 
static uint8_tget_line (AVIOContext *s)
 
static int get_preset_file_2 (const char *preset_name, const char *codec_name, AVIOContext **s)
 
static int choose_encoder (OptionsContext *o, AVFormatContext *s, OutputStream *ost)
 
static OutputStreamnew_output_stream (OptionsContext *o, AVFormatContext *oc, enum AVMediaType type, int source_index)
 
static void parse_matrix_coeffs (uint16_t *dest, const char *str)
 
static uint8_tread_file (const char *filename)
 
static char * get_ost_filters (OptionsContext *o, AVFormatContext *oc, OutputStream *ost)
 
static void check_streamcopy_filters (OptionsContext *o, AVFormatContext *oc, const OutputStream *ost, enum AVMediaType type)
 
static OutputStreamnew_video_stream (OptionsContext *o, AVFormatContext *oc, int source_index)
 
static OutputStreamnew_audio_stream (OptionsContext *o, AVFormatContext *oc, int source_index)
 
static OutputStreamnew_data_stream (OptionsContext *o, AVFormatContext *oc, int source_index)
 
static OutputStreamnew_unknown_stream (OptionsContext *o, AVFormatContext *oc, int source_index)
 
static OutputStreamnew_attachment_stream (OptionsContext *o, AVFormatContext *oc, int source_index)
 
static OutputStreamnew_subtitle_stream (OptionsContext *o, AVFormatContext *oc, int source_index)
 
static int opt_streamid (void *optctx, const char *opt, const char *arg)
 
static int copy_chapters (InputFile *ifile, OutputFile *ofile, int copy_metadata)
 
static void init_output_filter (OutputFilter *ofilter, OptionsContext *o, AVFormatContext *oc)
 
static int init_complex_filters (void)
 
static int open_output_file (OptionsContext *o, const char *filename)
 
static int opt_target (void *optctx, const char *opt, const char *arg)
 
static int opt_vstats_file (void *optctx, const char *opt, const char *arg)
 
static int opt_vstats (void *optctx, const char *opt, const char *arg)
 
static int opt_video_frames (void *optctx, const char *opt, const char *arg)
 
static int opt_audio_frames (void *optctx, const char *opt, const char *arg)
 
static int opt_data_frames (void *optctx, const char *opt, const char *arg)
 
static int opt_default_new (OptionsContext *o, const char *opt, const char *arg)
 
static int opt_preset (void *optctx, const char *opt, const char *arg)
 
static int opt_old2new (void *optctx, const char *opt, const char *arg)
 
static int opt_bitrate (void *optctx, const char *opt, const char *arg)
 
static int opt_qscale (void *optctx, const char *opt, const char *arg)
 
static int opt_profile (void *optctx, const char *opt, const char *arg)
 
static int opt_video_filters (void *optctx, const char *opt, const char *arg)
 
static int opt_audio_filters (void *optctx, const char *opt, const char *arg)
 
static int opt_vsync (void *optctx, const char *opt, const char *arg)
 
static int opt_timecode (void *optctx, const char *opt, const char *arg)
 
static int opt_channel_layout (void *optctx, const char *opt, const char *arg)
 
static int opt_audio_qscale (void *optctx, const char *opt, const char *arg)
 
static int opt_filter_complex (void *optctx, const char *opt, const char *arg)
 
static int opt_filter_complex_script (void *optctx, const char *opt, const char *arg)
 
void show_help_default (const char *opt, const char *arg)
 Per-fftool specific help handler. More...
 
void show_usage (void)
 
static int open_files (OptionGroupList *l, const char *inout, int(*open_file)(OptionsContext *, const char *))
 
int ffmpeg_parse_options (int argc, char **argv)
 
static int opt_progress (void *optctx, const char *opt, const char *arg)
 

Variables

static const char * opt_name_codec_names [] = {"c", "codec", "acodec", "vcodec", "scodec", "dcodec", NULL}
 
static const char * opt_name_audio_channels [] = {"ac", NULL}
 
static const char * opt_name_audio_sample_rate [] = {"ar", NULL}
 
static const char * opt_name_frame_rates [] = {"r", NULL}
 
static const char * opt_name_frame_sizes [] = {"s", NULL}
 
static const char * opt_name_frame_pix_fmts [] = {"pix_fmt", NULL}
 
static const char * opt_name_ts_scale [] = {"itsscale", NULL}
 
static const char * opt_name_hwaccels [] = {"hwaccel", NULL}
 
static const char * opt_name_hwaccel_devices [] = {"hwaccel_device", NULL}
 
static const char * opt_name_hwaccel_output_formats [] = {"hwaccel_output_format", NULL}
 
static const char * opt_name_autorotate [] = {"autorotate", NULL}
 
static const char * opt_name_max_frames [] = {"frames", "aframes", "vframes", "dframes", NULL}
 
static const char * opt_name_bitstream_filters [] = {"bsf", "absf", "vbsf", NULL}
 
static const char * opt_name_codec_tags [] = {"tag", "atag", "vtag", "stag", NULL}
 
static const char * opt_name_sample_fmts [] = {"sample_fmt", NULL}
 
static const char * opt_name_qscale [] = {"q", "qscale", NULL}
 
static const char * opt_name_forced_key_frames [] = {"forced_key_frames", NULL}
 
static const char * opt_name_force_fps [] = {"force_fps", NULL}
 
static const char * opt_name_frame_aspect_ratios [] = {"aspect", NULL}
 
static const char * opt_name_rc_overrides [] = {"rc_override", NULL}
 
static const char * opt_name_intra_matrices [] = {"intra_matrix", NULL}
 
static const char * opt_name_inter_matrices [] = {"inter_matrix", NULL}
 
static const char * opt_name_chroma_intra_matrices [] = {"chroma_intra_matrix", NULL}
 
static const char * opt_name_top_field_first [] = {"top", NULL}
 
static const char * opt_name_presets [] = {"pre", "apre", "vpre", "spre", NULL}
 
static const char * opt_name_copy_initial_nonkeyframes [] = {"copyinkfr", NULL}
 
static const char * opt_name_copy_prior_start [] = {"copypriorss", NULL}
 
static const char * opt_name_filters [] = {"filter", "af", "vf", NULL}
 
static const char * opt_name_filter_scripts [] = {"filter_script", NULL}
 
static const char * opt_name_reinit_filters [] = {"reinit_filter", NULL}
 
static const char * opt_name_fix_sub_duration [] = {"fix_sub_duration", NULL}
 
static const char * opt_name_canvas_sizes [] = {"canvas_size", NULL}
 
static const char * opt_name_pass [] = {"pass", NULL}
 
static const char * opt_name_passlogfiles [] = {"passlogfile", NULL}
 
static const char * opt_name_max_muxing_queue_size [] = {"max_muxing_queue_size", NULL}
 
static const char * opt_name_guess_layout_max [] = {"guess_layout_max", NULL}
 
static const char * opt_name_apad [] = {"apad", NULL}
 
static const char * opt_name_discard [] = {"discard", NULL}
 
static const char * opt_name_disposition [] = {"disposition", NULL}
 
static const char * opt_name_time_bases [] = {"time_base", NULL}
 
static const char * opt_name_enc_time_bases [] = {"enc_time_base", NULL}
 
const HWAccel hwaccels []
 
HWDevicefilter_hw_device
 
char * vstats_filename
 
char * sdp_filename
 
float audio_drift_threshold = 0.1
 
float dts_delta_threshold = 10
 
float dts_error_threshold = 3600*30
 
int audio_volume = 256
 
int audio_sync_method = 0
 
int video_sync_method = VSYNC_AUTO
 
float frame_drop_threshold = 0
 
int do_deinterlace = 0
 
int do_benchmark = 0
 
int do_benchmark_all = 0
 
int do_hex_dump = 0
 
int do_pkt_dump = 0
 
int copy_ts = 0
 
int start_at_zero = 0
 
int copy_tb = -1
 
int debug_ts = 0
 
int exit_on_error = 0
 
int abort_on_flags = 0
 
int print_stats = -1
 
int qp_hist = 0
 
int stdin_interaction = 1
 
int frame_bits_per_raw_sample = 0
 
float max_error_rate = 2.0/3
 
int filter_nbthreads = 0
 
int filter_complex_nbthreads = 0
 
int vstats_version = 2
 
static int intra_only = 0
 
static int file_overwrite = 0
 
static int no_file_overwrite = 0
 
static int do_psnr = 0
 
static int input_sync
 
static int input_stream_potentially_available = 0
 
static int ignore_unknown_streams = 0
 
static int copy_unknown_streams = 0
 
static int find_stream_info = 1
 
static const OptionGroupDef groups []
 
const OptionDef options []
 

Macro Definition Documentation

◆ DEFAULT_PASS_LOGFILENAME_PREFIX

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"

Definition at line 45 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ SPECIFIER_OPT_FMT_str

#define SPECIFIER_OPT_FMT_str   "%s"

Definition at line 47 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_i

#define SPECIFIER_OPT_FMT_i   "%i"

Definition at line 48 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_i64

#define SPECIFIER_OPT_FMT_i64   "%"PRId64

Definition at line 49 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_ui64

#define SPECIFIER_OPT_FMT_ui64   "%"PRIu64

Definition at line 50 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_f

#define SPECIFIER_OPT_FMT_f   "%f"

Definition at line 51 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_dbl

#define SPECIFIER_OPT_FMT_dbl   "%lf"

Definition at line 52 of file ffmpeg_opt.c.

◆ WARN_MULTIPLE_OPT_USAGE

#define WARN_MULTIPLE_OPT_USAGE (   name,
  type,
  so,
  st 
)
Value:
{\
char namestr[128] = "";\
const char *spec = so->specifier && so->specifier[0] ? so->specifier : "";\
for (i = 0; opt_name_##name[i]; i++)\
av_strlcatf(namestr, sizeof(namestr), "-%s%s", opt_name_##name[i], opt_name_##name[i+1] ? (opt_name_##name[i+2] ? ", " : " or ") : "");\
av_log(NULL, AV_LOG_WARNING, "Multiple %s options specified for stream %d, only the last option '-%s%s%s "SPECIFIER_OPT_FMT_##type"' will be used.\n",\
namestr, st->index, opt_name_##name[0], spec[0] ? ":" : "", spec, so->u.type);\
}
#define NULL
Definition: coverity.c:32
#define AV_LOG_WARNING
Something somehow does not look correct.
Definition: log.h:182
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:269
const char * name
Definition: qsvenc.c:46
cl_device_type type
size_t av_strlcatf(char *dst, size_t size, const char *fmt,...)
Definition: avstring.c:101

Definition at line 96 of file ffmpeg_opt.c.

◆ MATCH_PER_STREAM_OPT

#define MATCH_PER_STREAM_OPT (   name,
  type,
  outvar,
  fmtctx,
  st 
)
Value:
{\
int i, ret, matches = 0;\
SpecifierOpt *so;\
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;\
so = &o->name[i];\
matches++;\
} else if (ret < 0)\
exit_program(1);\
}\
if (matches > 1)\
WARN_MULTIPLE_OPT_USAGE(name, type, so, st);\
}
int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
Check if the given stream matches a stream specifier.
Definition: cmdutils.c:2096
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:269
const char * name
Definition: qsvenc.c:46
cl_device_type type

Definition at line 106 of file ffmpeg_opt.c.

Referenced by add_input_streams(), choose_decoder(), choose_encoder(), new_audio_stream(), new_output_stream(), new_subtitle_stream(), and new_video_stream().

◆ MATCH_PER_TYPE_OPT

#define MATCH_PER_TYPE_OPT (   name,
  type,
  outvar,
  fmtctx,
  mediatype 
)
Value:
{\
int i;\
for (i = 0; i < o->nb_ ## name; i++) {\
char *spec = o->name[i].specifier;\
if (!strcmp(spec, mediatype))\
outvar = o->name[i].u.type;\
}\
}
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:269
const char * name
Definition: qsvenc.c:46

Definition at line 123 of file ffmpeg_opt.c.

Referenced by open_input_file(), open_output_file(), and opt_preset().

◆ METADATA_CHECK_INDEX

#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 NULL
Definition: coverity.c:32
const char * desc
Definition: nvenc.c:79
int index
Definition: gxfenc.c:89
#define AV_LOG_FATAL
Something went wrong and recovery is not possible.
Definition: log.h:170

◆ SET_DICT

#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;\
case 's':\
break; /* handled separately below */ \
default: av_assert0(0);\
}\
#define av_assert0(cond)
assert() equivalent, that is always enabled.
Definition: avassert.h:37
int index
Definition: gxfenc.c:89
cl_device_type type

Referenced by copy_metadata().

◆ OFFSET

#define OFFSET (   x)    offsetof(OptionsContext, x)

Definition at line 3387 of file ffmpeg_opt.c.

Referenced by decode_flush(), and set_spdif().

Enumeration Type Documentation

◆ OptGroup

enum OptGroup
Enumerator
GROUP_OUTFILE 
GROUP_INFILE 

Definition at line 3268 of file ffmpeg_opt.c.

Function Documentation

◆ uninit_options()

static void uninit_options ( OptionsContext o)
static

Definition at line 186 of file ffmpeg_opt.c.

Referenced by open_files().

◆ init_options()

static void init_options ( OptionsContext o)
static

Definition at line 218 of file ffmpeg_opt.c.

Referenced by open_files().

◆ show_hwaccels()

static int show_hwaccels ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 232 of file ffmpeg_opt.c.

◆ strip_specifiers()

static AVDictionary* strip_specifiers ( AVDictionary dict)
static

Definition at line 245 of file ffmpeg_opt.c.

Referenced by open_input_file(), and open_output_file().

◆ opt_abort_on()

static int opt_abort_on ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 262 of file ffmpeg_opt.c.

◆ opt_sameq()

static int opt_sameq ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 281 of file ffmpeg_opt.c.

◆ opt_video_channel()

static int opt_video_channel ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 290 of file ffmpeg_opt.c.

◆ opt_video_standard()

static int opt_video_standard ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 296 of file ffmpeg_opt.c.

◆ opt_audio_codec()

static int opt_audio_codec ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 302 of file ffmpeg_opt.c.

Referenced by opt_preset(), and opt_target().

◆ opt_video_codec()

static int opt_video_codec ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 308 of file ffmpeg_opt.c.

Referenced by opt_preset(), and opt_target().

◆ opt_subtitle_codec()

static int opt_subtitle_codec ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 314 of file ffmpeg_opt.c.

Referenced by opt_preset().

◆ opt_data_codec()

static int opt_data_codec ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 320 of file ffmpeg_opt.c.

Referenced by opt_preset().

◆ opt_map()

static int opt_map ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 326 of file ffmpeg_opt.c.

◆ opt_attach()

static int opt_attach ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 444 of file ffmpeg_opt.c.

◆ opt_map_channel()

static int opt_map_channel ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 452 of file ffmpeg_opt.c.

◆ opt_sdp_file()

static int opt_sdp_file ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 529 of file ffmpeg_opt.c.

◆ opt_init_hw_device()

static int opt_init_hw_device ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 551 of file ffmpeg_opt.c.

◆ opt_filter_hw_device()

static int opt_filter_hw_device ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 566 of file ffmpeg_opt.c.

◆ parse_meta_type()

static void parse_meta_type ( char *  arg,
char *  type,
int index,
const char **  stream_spec 
)
static

Parse a metadata specifier passed as 'arg' parameter.

Parameters
argmetadata string to parse
typemetadata type is written here – g(lobal)/s(tream)/c(hapter)/p(rogram)
indexfor type c/p, chapter/program index is written here
stream_specfor type s, the stream specifier is written here

Definition at line 587 of file ffmpeg_opt.c.

Referenced by copy_metadata(), and open_output_file().

◆ copy_metadata()

static int copy_metadata ( char *  outspec,
char *  inspec,
AVFormatContext oc,
AVFormatContext ic,
OptionsContext o 
)
static

Definition at line 614 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ opt_recording_timestamp()

static int opt_recording_timestamp ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 704 of file ffmpeg_opt.c.

◆ find_codec_or_die()

static AVCodec* find_codec_or_die ( const char *  name,
enum AVMediaType  type,
int  encoder 
)
static

Definition at line 719 of file ffmpeg_opt.c.

Referenced by choose_decoder(), choose_encoder(), and open_input_file().

◆ choose_decoder()

static AVCodec* choose_decoder ( OptionsContext o,
AVFormatContext s,
AVStream st 
)
static

Definition at line 748 of file ffmpeg_opt.c.

Referenced by add_input_streams(), and open_input_file().

◆ add_input_streams()

static void add_input_streams ( OptionsContext o,
AVFormatContext ic 
)
static

Definition at line 763 of file ffmpeg_opt.c.

Referenced by open_input_file().

◆ assert_file_overwrite()

static void assert_file_overwrite ( const char *  filename)
static

Definition at line 980 of file ffmpeg_opt.c.

Referenced by dump_attachment(), and open_output_file().

◆ dump_attachment()

static void dump_attachment ( AVStream st,
const char *  filename 
)
static

Definition at line 1023 of file ffmpeg_opt.c.

Referenced by open_input_file().

◆ open_input_file()

static int open_input_file ( OptionsContext o,
const char *  filename 
)
static

Definition at line 1055 of file ffmpeg_opt.c.

Referenced by ffmpeg_parse_options().

◆ get_line()

static uint8_t* get_line ( AVIOContext s)
static

Definition at line 1329 of file ffmpeg_opt.c.

Referenced by new_output_stream().

◆ get_preset_file_2()

static int get_preset_file_2 ( const char *  preset_name,
const char *  codec_name,
AVIOContext **  s 
)
static

Definition at line 1348 of file ffmpeg_opt.c.

Referenced by new_output_stream().

◆ choose_encoder()

static int choose_encoder ( OptionsContext o,
AVFormatContext s,
OutputStream ost 
)
static

Definition at line 1374 of file ffmpeg_opt.c.

Referenced by new_output_stream().

◆ new_output_stream()

static OutputStream* new_output_stream ( OptionsContext o,
AVFormatContext oc,
enum AVMediaType  type,
int  source_index 
)
static

◆ parse_matrix_coeffs()

static void parse_matrix_coeffs ( uint16_t *  dest,
const char *  str 
)
static

Definition at line 1588 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ read_file()

static uint8_t* read_file ( const char *  filename)
static

Definition at line 1606 of file ffmpeg_opt.c.

Referenced by get_ost_filters(), new_video_stream(), and opt_filter_complex_script().

◆ get_ost_filters()

static char* get_ost_filters ( OptionsContext o,
AVFormatContext oc,
OutputStream ost 
)
static

Definition at line 1634 of file ffmpeg_opt.c.

Referenced by new_audio_stream(), and new_video_stream().

◆ check_streamcopy_filters()

static void check_streamcopy_filters ( OptionsContext o,
AVFormatContext oc,
const OutputStream ost,
enum AVMediaType  type 
)
static

Definition at line 1654 of file ffmpeg_opt.c.

Referenced by new_audio_stream(), and new_video_stream().

◆ new_video_stream()

static OutputStream* new_video_stream ( OptionsContext o,
AVFormatContext oc,
int  source_index 
)
static

Definition at line 1668 of file ffmpeg_opt.c.

Referenced by init_output_filter(), and open_output_file().

◆ new_audio_stream()

static OutputStream* new_audio_stream ( OptionsContext o,
AVFormatContext oc,
int  source_index 
)
static

Definition at line 1866 of file ffmpeg_opt.c.

Referenced by init_output_filter(), and open_output_file().

◆ new_data_stream()

static OutputStream* new_data_stream ( OptionsContext o,
AVFormatContext oc,
int  source_index 
)
static

Definition at line 1939 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ new_unknown_stream()

static OutputStream* new_unknown_stream ( OptionsContext o,
AVFormatContext oc,
int  source_index 
)
static

Definition at line 1952 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ new_attachment_stream()

static OutputStream* new_attachment_stream ( OptionsContext o,
AVFormatContext oc,
int  source_index 
)
static

Definition at line 1965 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ new_subtitle_stream()

static OutputStream* new_subtitle_stream ( OptionsContext o,
AVFormatContext oc,
int  source_index 
)
static

Definition at line 1973 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ opt_streamid()

static int opt_streamid ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2001 of file ffmpeg_opt.c.

◆ copy_chapters()

static int copy_chapters ( InputFile ifile,
OutputFile ofile,
int  copy_metadata 
)
static

Definition at line 2023 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ init_output_filter()

static void init_output_filter ( OutputFilter ofilter,
OptionsContext o,
AVFormatContext oc 
)
static

Definition at line 2066 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ init_complex_filters()

static int init_complex_filters ( void  )
static

Definition at line 2108 of file ffmpeg_opt.c.

Referenced by ffmpeg_parse_options().

◆ open_output_file()

static int open_output_file ( OptionsContext o,
const char *  filename 
)
static

Definition at line 2120 of file ffmpeg_opt.c.

Referenced by ffmpeg_parse_options().

◆ opt_target()

static int opt_target ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2768 of file ffmpeg_opt.c.

◆ opt_vstats_file()

static int opt_vstats_file ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2911 of file ffmpeg_opt.c.

Referenced by opt_vstats().

◆ opt_vstats()

static int opt_vstats ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2918 of file ffmpeg_opt.c.

◆ opt_video_frames()

static int opt_video_frames ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2934 of file ffmpeg_opt.c.

◆ opt_audio_frames()

static int opt_audio_frames ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2940 of file ffmpeg_opt.c.

◆ opt_data_frames()

static int opt_data_frames ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2946 of file ffmpeg_opt.c.

◆ opt_default_new()

static int opt_default_new ( OptionsContext o,
const char *  opt,
const char *  arg 
)
static

Definition at line 2952 of file ffmpeg_opt.c.

Referenced by opt_channel_layout(), and opt_preset().

◆ opt_preset()

static int opt_preset ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 2972 of file ffmpeg_opt.c.

◆ opt_old2new()

static int opt_old2new ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3020 of file ffmpeg_opt.c.

◆ opt_bitrate()

static int opt_bitrate ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3032 of file ffmpeg_opt.c.

◆ opt_qscale()

static int opt_qscale ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3048 of file ffmpeg_opt.c.

◆ opt_profile()

static int opt_profile ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3065 of file ffmpeg_opt.c.

◆ opt_video_filters()

static int opt_video_filters ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3077 of file ffmpeg_opt.c.

◆ opt_audio_filters()

static int opt_audio_filters ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3083 of file ffmpeg_opt.c.

◆ opt_vsync()

static int opt_vsync ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3089 of file ffmpeg_opt.c.

◆ opt_timecode()

static int opt_timecode ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3101 of file ffmpeg_opt.c.

◆ opt_channel_layout()

static int opt_channel_layout ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3115 of file ffmpeg_opt.c.

◆ opt_audio_qscale()

static int opt_audio_qscale ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3151 of file ffmpeg_opt.c.

◆ opt_filter_complex()

static int opt_filter_complex ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3157 of file ffmpeg_opt.c.

◆ opt_filter_complex_script()

static int opt_filter_complex_script ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3172 of file ffmpeg_opt.c.

◆ show_help_default()

void show_help_default ( const char *  opt,
const char *  arg 
)

Per-fftool specific help handler.

Implemented in each fftool, called by show_help().

Definition at line 3189 of file ffmpeg_opt.c.

◆ show_usage()

void show_usage ( void  )

Definition at line 3261 of file ffmpeg_opt.c.

Referenced by main(), and show_help_default().

◆ open_files()

static int open_files ( OptionGroupList l,
const char *  inout,
int(*)(OptionsContext *, const char *)  open_file 
)
static

Definition at line 3278 of file ffmpeg_opt.c.

Referenced by ffmpeg_parse_options().

◆ ffmpeg_parse_options()

int ffmpeg_parse_options ( int  argc,
char **  argv 
)

Definition at line 3312 of file ffmpeg_opt.c.

Referenced by main().

◆ opt_progress()

static int opt_progress ( void optctx,
const char *  opt,
const char *  arg 
)
static

Definition at line 3370 of file ffmpeg_opt.c.

Variable Documentation

◆ opt_name_codec_names

const char* opt_name_codec_names[] = {"c", "codec", "acodec", "vcodec", "scodec", "dcodec", NULL}
static

Definition at line 54 of file ffmpeg_opt.c.

◆ opt_name_audio_channels

const char* opt_name_audio_channels[] = {"ac", NULL}
static

Definition at line 55 of file ffmpeg_opt.c.

◆ opt_name_audio_sample_rate

const char* opt_name_audio_sample_rate[] = {"ar", NULL}
static

Definition at line 56 of file ffmpeg_opt.c.

◆ opt_name_frame_rates

const char* opt_name_frame_rates[] = {"r", NULL}
static

Definition at line 57 of file ffmpeg_opt.c.

◆ opt_name_frame_sizes

const char* opt_name_frame_sizes[] = {"s", NULL}
static

Definition at line 58 of file ffmpeg_opt.c.

◆ opt_name_frame_pix_fmts

const char* opt_name_frame_pix_fmts[] = {"pix_fmt", NULL}
static

Definition at line 59 of file ffmpeg_opt.c.

◆ opt_name_ts_scale

const char* opt_name_ts_scale[] = {"itsscale", NULL}
static

Definition at line 60 of file ffmpeg_opt.c.

◆ opt_name_hwaccels

const char* opt_name_hwaccels[] = {"hwaccel", NULL}
static

Definition at line 61 of file ffmpeg_opt.c.

◆ opt_name_hwaccel_devices

const char* opt_name_hwaccel_devices[] = {"hwaccel_device", NULL}
static

Definition at line 62 of file ffmpeg_opt.c.

◆ opt_name_hwaccel_output_formats

const char* opt_name_hwaccel_output_formats[] = {"hwaccel_output_format", NULL}
static

Definition at line 63 of file ffmpeg_opt.c.

◆ opt_name_autorotate

const char* opt_name_autorotate[] = {"autorotate", NULL}
static

Definition at line 64 of file ffmpeg_opt.c.

◆ opt_name_max_frames

const char* opt_name_max_frames[] = {"frames", "aframes", "vframes", "dframes", NULL}
static

Definition at line 65 of file ffmpeg_opt.c.

◆ opt_name_bitstream_filters

const char* opt_name_bitstream_filters[] = {"bsf", "absf", "vbsf", NULL}
static

Definition at line 66 of file ffmpeg_opt.c.

◆ opt_name_codec_tags

const char* opt_name_codec_tags[] = {"tag", "atag", "vtag", "stag", NULL}
static

Definition at line 67 of file ffmpeg_opt.c.

◆ opt_name_sample_fmts

const char* opt_name_sample_fmts[] = {"sample_fmt", NULL}
static

Definition at line 68 of file ffmpeg_opt.c.

◆ opt_name_qscale

const char* opt_name_qscale[] = {"q", "qscale", NULL}
static

Definition at line 69 of file ffmpeg_opt.c.

◆ opt_name_forced_key_frames

const char* opt_name_forced_key_frames[] = {"forced_key_frames", NULL}
static

Definition at line 70 of file ffmpeg_opt.c.

◆ opt_name_force_fps

const char* opt_name_force_fps[] = {"force_fps", NULL}
static

Definition at line 71 of file ffmpeg_opt.c.

◆ opt_name_frame_aspect_ratios

const char* opt_name_frame_aspect_ratios[] = {"aspect", NULL}
static

Definition at line 72 of file ffmpeg_opt.c.

◆ opt_name_rc_overrides

const char* opt_name_rc_overrides[] = {"rc_override", NULL}
static

Definition at line 73 of file ffmpeg_opt.c.

◆ opt_name_intra_matrices

const char* opt_name_intra_matrices[] = {"intra_matrix", NULL}
static

Definition at line 74 of file ffmpeg_opt.c.

◆ opt_name_inter_matrices

const char* opt_name_inter_matrices[] = {"inter_matrix", NULL}
static

Definition at line 75 of file ffmpeg_opt.c.

◆ opt_name_chroma_intra_matrices

const char* opt_name_chroma_intra_matrices[] = {"chroma_intra_matrix", NULL}
static

Definition at line 76 of file ffmpeg_opt.c.

◆ opt_name_top_field_first

const char* opt_name_top_field_first[] = {"top", NULL}
static

Definition at line 77 of file ffmpeg_opt.c.

◆ opt_name_presets

const char* opt_name_presets[] = {"pre", "apre", "vpre", "spre", NULL}
static

Definition at line 78 of file ffmpeg_opt.c.

◆ opt_name_copy_initial_nonkeyframes

const char* opt_name_copy_initial_nonkeyframes[] = {"copyinkfr", NULL}
static

Definition at line 79 of file ffmpeg_opt.c.

◆ opt_name_copy_prior_start

const char* opt_name_copy_prior_start[] = {"copypriorss", NULL}
static

Definition at line 80 of file ffmpeg_opt.c.

◆ opt_name_filters

const char* opt_name_filters[] = {"filter", "af", "vf", NULL}
static

Definition at line 81 of file ffmpeg_opt.c.

◆ opt_name_filter_scripts

const char* opt_name_filter_scripts[] = {"filter_script", NULL}
static

Definition at line 82 of file ffmpeg_opt.c.

◆ opt_name_reinit_filters

const char* opt_name_reinit_filters[] = {"reinit_filter", NULL}
static

Definition at line 83 of file ffmpeg_opt.c.

◆ opt_name_fix_sub_duration

const char* opt_name_fix_sub_duration[] = {"fix_sub_duration", NULL}
static

Definition at line 84 of file ffmpeg_opt.c.

◆ opt_name_canvas_sizes

const char* opt_name_canvas_sizes[] = {"canvas_size", NULL}
static

Definition at line 85 of file ffmpeg_opt.c.

◆ opt_name_pass

const char* opt_name_pass[] = {"pass", NULL}
static

Definition at line 86 of file ffmpeg_opt.c.

◆ opt_name_passlogfiles

const char* opt_name_passlogfiles[] = {"passlogfile", NULL}
static

Definition at line 87 of file ffmpeg_opt.c.

◆ opt_name_max_muxing_queue_size

const char* opt_name_max_muxing_queue_size[] = {"max_muxing_queue_size", NULL}
static

Definition at line 88 of file ffmpeg_opt.c.

◆ opt_name_guess_layout_max

const char* opt_name_guess_layout_max[] = {"guess_layout_max", NULL}
static

Definition at line 89 of file ffmpeg_opt.c.

◆ opt_name_apad

const char* opt_name_apad[] = {"apad", NULL}
static

Definition at line 90 of file ffmpeg_opt.c.

◆ opt_name_discard

const char* opt_name_discard[] = {"discard", NULL}
static

Definition at line 91 of file ffmpeg_opt.c.

◆ opt_name_disposition

const char* opt_name_disposition[] = {"disposition", NULL}
static

Definition at line 92 of file ffmpeg_opt.c.

◆ opt_name_time_bases

const char* opt_name_time_bases[] = {"time_base", NULL}
static

Definition at line 93 of file ffmpeg_opt.c.

◆ opt_name_enc_time_bases

const char* opt_name_enc_time_bases[] = {"enc_time_base", NULL}
static

Definition at line 94 of file ffmpeg_opt.c.

◆ hwaccels

const HWAccel hwaccels[]
Initial value:
= {
{ 0 },
}

Definition at line 133 of file ffmpeg_opt.c.

Referenced by get_format().

◆ filter_hw_device

HWDevice* filter_hw_device

Definition at line 142 of file ffmpeg_opt.c.

Referenced by hw_device_setup_for_filter().

◆ vstats_filename

char* vstats_filename

◆ sdp_filename

char* sdp_filename

Definition at line 145 of file ffmpeg_opt.c.

Referenced by check_init_output_file(), opt_sdp_file(), and print_sdp().

◆ audio_drift_threshold

float audio_drift_threshold = 0.1

Definition at line 147 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter().

◆ dts_delta_threshold

float dts_delta_threshold = 10

Definition at line 148 of file ffmpeg_opt.c.

Referenced by process_input().

◆ dts_error_threshold

float dts_error_threshold = 3600*30

Definition at line 149 of file ffmpeg_opt.c.

Referenced by do_video_out(), and process_input().

◆ audio_volume

int audio_volume = 256

◆ audio_sync_method

int audio_sync_method = 0

Definition at line 152 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter(), do_audio_out(), and write_packet().

◆ video_sync_method

int video_sync_method = VSYNC_AUTO

◆ frame_drop_threshold

float frame_drop_threshold = 0

Definition at line 154 of file ffmpeg_opt.c.

Referenced by do_video_out().

◆ do_deinterlace

int do_deinterlace = 0

Definition at line 155 of file ffmpeg_opt.c.

Referenced by configure_input_video_filter().

◆ do_benchmark

int do_benchmark = 0

Definition at line 156 of file ffmpeg_opt.c.

Referenced by ffmpeg_cleanup(), and main().

◆ do_benchmark_all

int do_benchmark_all = 0

Definition at line 157 of file ffmpeg_opt.c.

Referenced by update_benchmark().

◆ do_hex_dump

int do_hex_dump = 0

Definition at line 158 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and process_input().

◆ do_pkt_dump

int do_pkt_dump = 0

Definition at line 159 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and process_input().

◆ copy_ts

int copy_ts = 0

◆ start_at_zero

int start_at_zero = 0

◆ copy_tb

int copy_tb = -1

Definition at line 162 of file ffmpeg_opt.c.

Referenced by init_output_stream_streamcopy().

◆ debug_ts

int debug_ts = 0

◆ exit_on_error

int exit_on_error = 0

◆ abort_on_flags

int abort_on_flags = 0

Definition at line 165 of file ffmpeg_opt.c.

Referenced by opt_abort_on(), and transcode().

◆ print_stats

int print_stats = -1

Definition at line 166 of file ffmpeg_opt.c.

Referenced by print_report().

◆ qp_hist

int qp_hist = 0

Definition at line 167 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and print_report().

◆ stdin_interaction

int stdin_interaction = 1

Definition at line 168 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite(), open_input_file(), term_init(), and transcode().

◆ frame_bits_per_raw_sample

int frame_bits_per_raw_sample = 0

Definition at line 169 of file ffmpeg_opt.c.

Referenced by init_output_stream_encode(), and new_video_stream().

◆ max_error_rate

float max_error_rate = 2.0/3

Definition at line 170 of file ffmpeg_opt.c.

Referenced by main().

◆ filter_nbthreads

int filter_nbthreads = 0

Definition at line 171 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ filter_complex_nbthreads

int filter_complex_nbthreads = 0

Definition at line 172 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ vstats_version

int vstats_version = 2

Definition at line 173 of file ffmpeg_opt.c.

Referenced by do_video_stats().

◆ intra_only

int intra_only = 0
static

Definition at line 176 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ file_overwrite

int file_overwrite = 0
static

Definition at line 177 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ no_file_overwrite

int no_file_overwrite = 0
static

Definition at line 178 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ do_psnr

int do_psnr = 0
static

Definition at line 179 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ input_sync

int input_sync
static

Definition at line 180 of file ffmpeg_opt.c.

◆ input_stream_potentially_available

int input_stream_potentially_available = 0
static

◆ ignore_unknown_streams

int ignore_unknown_streams = 0
static

Definition at line 182 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ copy_unknown_streams

int copy_unknown_streams = 0
static

Definition at line 183 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ find_stream_info

int find_stream_info = 1
static

Definition at line 184 of file ffmpeg_opt.c.

Referenced by open_input_file().

◆ groups

const OptionGroupDef groups[]
static
Initial value:
= {
[GROUP_OUTFILE] = { "output url", NULL, OPT_OUTPUT },
[GROUP_INFILE] = { "input url", "i", OPT_INPUT },
}
#define NULL
Definition: coverity.c:32
#define OPT_OUTPUT
Definition: cmdutils.h:182
#define OPT_INPUT
Definition: cmdutils.h:181

Definition at line 3273 of file ffmpeg_opt.c.

Referenced by decode_delta_j(), and read_coeffs_coarse().

◆ options

const OptionDef options[]