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_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)
 

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
 

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

Definition at line 106 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 123 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 186 of file ffmpeg_opt.c.

◆ init_options()

static void init_options ( OptionsContext o)
static

Definition at line 218 of file ffmpeg_opt.c.

◆ 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 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 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.

◆ 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.

◆ open_output_file()

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

Definition at line 2120 of file ffmpeg_opt.c.

◆ 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().

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 add_input_streams(), and 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(), and opt_filter_hw_device().

◆ 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

◆ 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().

AV_LOG_WARNING
#define AV_LOG_WARNING
Something somehow does not look correct.
Definition: log.h:182
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:2096
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
desc
const char * desc
Definition: nvenc.c:79
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:269
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:170