FFmpeg
Macros | 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)
 

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_stats_period (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 const 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)
 

Variables

static const char *const opt_name_codec_names [] = {"c", "codec", "acodec", "vcodec", "scodec", "dcodec", NULL}
 
static const char *const opt_name_audio_channels [] = {"ac", NULL}
 
static const char *const opt_name_audio_sample_rate [] = {"ar", NULL}
 
static const char *const opt_name_frame_rates [] = {"r", NULL}
 
static const char *const opt_name_max_frame_rates [] = {"fpsmax", NULL}
 
static const char *const opt_name_frame_sizes [] = {"s", NULL}
 
static const char *const opt_name_frame_pix_fmts [] = {"pix_fmt", NULL}
 
static const char *const opt_name_ts_scale [] = {"itsscale", NULL}
 
static const char *const opt_name_hwaccels [] = {"hwaccel", NULL}
 
static const char *const opt_name_hwaccel_devices [] = {"hwaccel_device", NULL}
 
static const char *const opt_name_hwaccel_output_formats [] = {"hwaccel_output_format", NULL}
 
static const char *const opt_name_autorotate [] = {"autorotate", NULL}
 
static const char *const opt_name_autoscale [] = {"autoscale", NULL}
 
static const char *const opt_name_max_frames [] = {"frames", "aframes", "vframes", "dframes", NULL}
 
static const char *const opt_name_bitstream_filters [] = {"bsf", "absf", "vbsf", NULL}
 
static const char *const opt_name_codec_tags [] = {"tag", "atag", "vtag", "stag", NULL}
 
static const char *const opt_name_sample_fmts [] = {"sample_fmt", NULL}
 
static const char *const opt_name_qscale [] = {"q", "qscale", NULL}
 
static const char *const opt_name_forced_key_frames [] = {"forced_key_frames", NULL}
 
static const char *const opt_name_force_fps [] = {"force_fps", NULL}
 
static const char *const opt_name_frame_aspect_ratios [] = {"aspect", NULL}
 
static const char *const opt_name_rc_overrides [] = {"rc_override", NULL}
 
static const char *const opt_name_intra_matrices [] = {"intra_matrix", NULL}
 
static const char *const opt_name_inter_matrices [] = {"inter_matrix", NULL}
 
static const char *const opt_name_chroma_intra_matrices [] = {"chroma_intra_matrix", NULL}
 
static const char *const opt_name_top_field_first [] = {"top", NULL}
 
static const char *const opt_name_presets [] = {"pre", "apre", "vpre", "spre", NULL}
 
static const char *const opt_name_copy_initial_nonkeyframes [] = {"copyinkfr", NULL}
 
static const char *const opt_name_copy_prior_start [] = {"copypriorss", NULL}
 
static const char *const opt_name_filters [] = {"filter", "af", "vf", NULL}
 
static const char *const opt_name_filter_scripts [] = {"filter_script", NULL}
 
static const char *const opt_name_reinit_filters [] = {"reinit_filter", NULL}
 
static const char *const opt_name_fix_sub_duration [] = {"fix_sub_duration", NULL}
 
static const char *const opt_name_canvas_sizes [] = {"canvas_size", NULL}
 
static const char *const opt_name_pass [] = {"pass", NULL}
 
static const char *const opt_name_passlogfiles [] = {"passlogfile", NULL}
 
static const char *const opt_name_max_muxing_queue_size [] = {"max_muxing_queue_size", NULL}
 
static const char *const opt_name_muxing_queue_data_threshold [] = {"muxing_queue_data_threshold", NULL}
 
static const char *const opt_name_guess_layout_max [] = {"guess_layout_max", NULL}
 
static const char *const opt_name_apad [] = {"apad", NULL}
 
static const char *const opt_name_discard [] = {"discard", NULL}
 
static const char *const opt_name_disposition [] = {"disposition", NULL}
 
static const char *const opt_name_time_bases [] = {"time_base", NULL}
 
static const char *const 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
 
int auto_conversion_filters = 1
 
int64_t stats_period = 500000
 
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
 

Macro Definition Documentation

◆ DEFAULT_PASS_LOGFILENAME_PREFIX

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"

Definition at line 45 of file ffmpeg_opt.c.

◆ 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);\
}

Definition at line 99 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);\
}

Definition at line 109 of file ffmpeg_opt.c.

◆ 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;\
}\
}

Definition at line 126 of file ffmpeg_opt.c.

◆ 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);\
}

◆ 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);\
}\

◆ OFFSET

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

Function Documentation

◆ uninit_options()

static void uninit_options ( OptionsContext o)
static

Definition at line 191 of file ffmpeg_opt.c.

◆ init_options()

static void init_options ( OptionsContext o)
static

Definition at line 223 of file ffmpeg_opt.c.

◆ show_hwaccels()

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

Definition at line 238 of file ffmpeg_opt.c.

◆ strip_specifiers()

static AVDictionary* strip_specifiers ( AVDictionary dict)
static

Definition at line 251 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 268 of file ffmpeg_opt.c.

◆ opt_stats_period()

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

Definition at line 287 of file ffmpeg_opt.c.

◆ opt_sameq()

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

Definition at line 302 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 311 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 317 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 323 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 329 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 335 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 341 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 347 of file ffmpeg_opt.c.

◆ opt_attach()

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

Definition at line 465 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 473 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 550 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 572 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 587 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 608 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 635 of file ffmpeg_opt.c.

Referenced by copy_chapters(), and open_output_file().

◆ opt_recording_timestamp()

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

Definition at line 725 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 740 of file ffmpeg_opt.c.

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

◆ choose_decoder()

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

Definition at line 769 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 784 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 992 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 1035 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 1067 of file ffmpeg_opt.c.

◆ get_line()

static uint8_t* get_line ( AVIOContext s)
static

Definition at line 1344 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 1363 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 1389 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 1610 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ read_file()

static uint8_t* read_file ( const char *  filename)
static

Definition at line 1628 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 1656 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 1676 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 1690 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 1901 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 1974 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 1987 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 2000 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 2008 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 2036 of file ffmpeg_opt.c.

◆ copy_chapters()

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

Definition at line 2058 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 2101 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ init_complex_filters()

static int init_complex_filters ( void  )
static

Definition at line 2143 of file ffmpeg_opt.c.

◆ open_output_file()

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

Definition at line 2155 of file ffmpeg_opt.c.

◆ opt_target()

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

Definition at line 2807 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 2950 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 2957 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 2973 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 2979 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 2985 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 2991 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 3011 of file ffmpeg_opt.c.

◆ opt_old2new()

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

Definition at line 3059 of file ffmpeg_opt.c.

◆ opt_bitrate()

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

Definition at line 3071 of file ffmpeg_opt.c.

◆ opt_qscale()

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

Definition at line 3087 of file ffmpeg_opt.c.

◆ opt_profile()

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

Definition at line 3104 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 3116 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 3122 of file ffmpeg_opt.c.

◆ opt_vsync()

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

Definition at line 3128 of file ffmpeg_opt.c.

◆ opt_timecode()

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

Definition at line 3140 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 3154 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 3190 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 3196 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 3211 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 3228 of file ffmpeg_opt.c.

◆ show_usage()

void show_usage ( void  )

Definition at line 3300 of file ffmpeg_opt.c.

Referenced by main(), and show_help_default().

Variable Documentation

◆ opt_name_codec_names

const char* const 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* const opt_name_audio_channels[] = {"ac", NULL}
static

Definition at line 55 of file ffmpeg_opt.c.

◆ opt_name_audio_sample_rate

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

Definition at line 56 of file ffmpeg_opt.c.

◆ opt_name_frame_rates

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

Definition at line 57 of file ffmpeg_opt.c.

◆ opt_name_max_frame_rates

const char* const opt_name_max_frame_rates[] = {"fpsmax", NULL}
static

Definition at line 58 of file ffmpeg_opt.c.

◆ opt_name_frame_sizes

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

Definition at line 59 of file ffmpeg_opt.c.

◆ opt_name_frame_pix_fmts

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

Definition at line 60 of file ffmpeg_opt.c.

◆ opt_name_ts_scale

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

Definition at line 61 of file ffmpeg_opt.c.

◆ opt_name_hwaccels

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

Definition at line 62 of file ffmpeg_opt.c.

◆ opt_name_hwaccel_devices

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

Definition at line 63 of file ffmpeg_opt.c.

◆ opt_name_hwaccel_output_formats

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

Definition at line 64 of file ffmpeg_opt.c.

◆ opt_name_autorotate

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

Definition at line 65 of file ffmpeg_opt.c.

◆ opt_name_autoscale

const char* const opt_name_autoscale[] = {"autoscale", NULL}
static

Definition at line 66 of file ffmpeg_opt.c.

◆ opt_name_max_frames

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

Definition at line 67 of file ffmpeg_opt.c.

◆ opt_name_bitstream_filters

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

Definition at line 68 of file ffmpeg_opt.c.

◆ opt_name_codec_tags

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

Definition at line 69 of file ffmpeg_opt.c.

◆ opt_name_sample_fmts

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

Definition at line 70 of file ffmpeg_opt.c.

◆ opt_name_qscale

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

Definition at line 71 of file ffmpeg_opt.c.

◆ opt_name_forced_key_frames

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

Definition at line 72 of file ffmpeg_opt.c.

◆ opt_name_force_fps

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

Definition at line 73 of file ffmpeg_opt.c.

◆ opt_name_frame_aspect_ratios

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

Definition at line 74 of file ffmpeg_opt.c.

◆ opt_name_rc_overrides

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

Definition at line 75 of file ffmpeg_opt.c.

◆ opt_name_intra_matrices

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

Definition at line 76 of file ffmpeg_opt.c.

◆ opt_name_inter_matrices

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

Definition at line 77 of file ffmpeg_opt.c.

◆ opt_name_chroma_intra_matrices

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

Definition at line 78 of file ffmpeg_opt.c.

◆ opt_name_top_field_first

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

Definition at line 79 of file ffmpeg_opt.c.

◆ opt_name_presets

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

Definition at line 80 of file ffmpeg_opt.c.

◆ opt_name_copy_initial_nonkeyframes

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

Definition at line 81 of file ffmpeg_opt.c.

◆ opt_name_copy_prior_start

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

Definition at line 82 of file ffmpeg_opt.c.

◆ opt_name_filters

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

Definition at line 83 of file ffmpeg_opt.c.

◆ opt_name_filter_scripts

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

Definition at line 84 of file ffmpeg_opt.c.

◆ opt_name_reinit_filters

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

Definition at line 85 of file ffmpeg_opt.c.

◆ opt_name_fix_sub_duration

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

Definition at line 86 of file ffmpeg_opt.c.

◆ opt_name_canvas_sizes

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

Definition at line 87 of file ffmpeg_opt.c.

◆ opt_name_pass

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

Definition at line 88 of file ffmpeg_opt.c.

◆ opt_name_passlogfiles

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

Definition at line 89 of file ffmpeg_opt.c.

◆ opt_name_max_muxing_queue_size

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

Definition at line 90 of file ffmpeg_opt.c.

◆ opt_name_muxing_queue_data_threshold

const char* const opt_name_muxing_queue_data_threshold[] = {"muxing_queue_data_threshold", NULL}
static

Definition at line 91 of file ffmpeg_opt.c.

◆ opt_name_guess_layout_max

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

Definition at line 92 of file ffmpeg_opt.c.

◆ opt_name_apad

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

Definition at line 93 of file ffmpeg_opt.c.

◆ opt_name_discard

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

Definition at line 94 of file ffmpeg_opt.c.

◆ opt_name_disposition

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

Definition at line 95 of file ffmpeg_opt.c.

◆ opt_name_time_bases

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

Definition at line 96 of file ffmpeg_opt.c.

◆ opt_name_enc_time_bases

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

Definition at line 97 of file ffmpeg_opt.c.

◆ hwaccels

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

Definition at line 136 of file ffmpeg_opt.c.

Referenced by add_input_streams(), and get_format().

◆ filter_hw_device

HWDevice* filter_hw_device

Definition at line 145 of file ffmpeg_opt.c.

Referenced by hw_device_setup_for_filter(), and opt_filter_hw_device().

◆ vstats_filename

char* vstats_filename

◆ sdp_filename

char* sdp_filename

Definition at line 148 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 150 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter().

◆ dts_delta_threshold

float dts_delta_threshold = 10

Definition at line 151 of file ffmpeg_opt.c.

Referenced by process_input().

◆ dts_error_threshold

float dts_error_threshold = 3600*30

Definition at line 152 of file ffmpeg_opt.c.

Referenced by do_video_out(), and process_input().

◆ audio_volume

int audio_volume = 256

Definition at line 154 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter(), and init_output_stream_streamcopy().

◆ audio_sync_method

int audio_sync_method = 0

Definition at line 155 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 157 of file ffmpeg_opt.c.

Referenced by do_video_out().

◆ do_deinterlace

int do_deinterlace = 0

Definition at line 158 of file ffmpeg_opt.c.

Referenced by configure_input_video_filter().

◆ do_benchmark

int do_benchmark = 0

Definition at line 159 of file ffmpeg_opt.c.

Referenced by ffmpeg_cleanup(), and main().

◆ do_benchmark_all

int do_benchmark_all = 0

Definition at line 160 of file ffmpeg_opt.c.

Referenced by update_benchmark().

◆ do_hex_dump

int do_hex_dump = 0

Definition at line 161 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and process_input().

◆ do_pkt_dump

int do_pkt_dump = 0

Definition at line 162 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

◆ 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 168 of file ffmpeg_opt.c.

Referenced by opt_abort_on(), and transcode().

◆ print_stats

int print_stats = -1

Definition at line 169 of file ffmpeg_opt.c.

Referenced by print_report().

◆ qp_hist

int qp_hist = 0

Definition at line 170 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and print_report().

◆ stdin_interaction

int stdin_interaction = 1

Definition at line 171 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 172 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 173 of file ffmpeg_opt.c.

Referenced by main().

◆ filter_nbthreads

int filter_nbthreads = 0

Definition at line 174 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ filter_complex_nbthreads

int filter_complex_nbthreads = 0

Definition at line 175 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ vstats_version

int vstats_version = 2

Definition at line 176 of file ffmpeg_opt.c.

Referenced by do_video_stats().

◆ auto_conversion_filters

int auto_conversion_filters = 1

Definition at line 177 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ stats_period

int64_t stats_period = 500000

Definition at line 178 of file ffmpeg_opt.c.

Referenced by opt_stats_period(), and print_report().

◆ intra_only

int intra_only = 0
static

Definition at line 181 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ file_overwrite

int file_overwrite = 0
static

Definition at line 182 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ no_file_overwrite

int no_file_overwrite = 0
static

Definition at line 183 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ do_psnr

int do_psnr = 0
static

Definition at line 184 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ input_sync

int input_sync
static

Definition at line 185 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 187 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ copy_unknown_streams

int copy_unknown_streams = 0
static

Definition at line 188 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ find_stream_info

int find_stream_info = 1
static

Definition at line 189 of file ffmpeg_opt.c.

Referenced by open_input_file().

AV_LOG_WARNING
#define AV_LOG_WARNING
Something somehow does not look correct.
Definition: log.h:200
name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
av_strlcatf
size_t av_strlcatf(char *dst, size_t size, const char *fmt,...)
Definition: avstring.c:101
type
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
Definition: writing_filters.txt:86
check_stream_specifier
int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
Check if the given stream matches a stream specifier.
Definition: cmdutils.c:2095
av_assert0
#define av_assert0(cond)
assert() equivalent, that is always enabled.
Definition: avassert.h:37
context
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without and describe what they for example set the foo of the bar offset is the offset of the field in your context
Definition: writing_filters.txt:91
NULL
#define NULL
Definition: coverity.c:32
index
int index
Definition: gxfenc.c:89
i
int i
Definition: input.c:407
ret
ret
Definition: filter_design.txt:187
AV_LOG_FATAL
#define AV_LOG_FATAL
Something went wrong and recovery is not possible.
Definition: log.h:188
desc
const char * desc
Definition: libsvtav1.c:79