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 "libavcodec/bsf.h"
#include "libavfilter/avfilter.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/avutil.h"
#include "libavutil/bprint.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_filter_threads (void *optctx, const char *opt, const char *arg)
 
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_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 const 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 char * get_line (AVIOContext *s, AVBPrint *bprint)
 
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 char * read_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 int set_dispositions (OutputFile *of)
 
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 [] = {"copyinkf", 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}
 
static const char *const opt_name_bits_per_raw_sample [] = {"bits_per_raw_sample", NULL}
 
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
 
enum VideoSyncMethod video_sync_method = VSYNC_AUTO
 
float frame_drop_threshold = 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
 
float max_error_rate = 2.0/3
 
char * filter_nbthreads
 
int filter_complex_nbthreads = 0
 
int vstats_version = 2
 
int auto_conversion_filters = 1
 
int64_t stats_period = 500000
 
static int file_overwrite = 0
 
static int no_file_overwrite = 0
 
static int do_psnr = 0
 
static int input_stream_potentially_available = 0
 
static int ignore_unknown_streams = 0
 
static int copy_unknown_streams = 0
 
static int recast_media = 0
 
static int find_stream_info = 1
 

Macro Definition Documentation

◆ DEFAULT_PASS_LOGFILENAME_PREFIX

#define DEFAULT_PASS_LOGFILENAME_PREFIX   "ffmpeg2pass"

Definition at line 47 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_str

#define SPECIFIER_OPT_FMT_str   "%s"

Definition at line 49 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_i

#define SPECIFIER_OPT_FMT_i   "%i"

Definition at line 50 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_i64

#define SPECIFIER_OPT_FMT_i64   "%"PRId64

Definition at line 51 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_ui64

#define SPECIFIER_OPT_FMT_ui64   "%"PRIu64

Definition at line 52 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_f

#define SPECIFIER_OPT_FMT_f   "%f"

Definition at line 53 of file ffmpeg_opt.c.

◆ SPECIFIER_OPT_FMT_dbl

#define SPECIFIER_OPT_FMT_dbl   "%lf"

Definition at line 54 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 102 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 112 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 129 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 182 of file ffmpeg_opt.c.

◆ init_options()

static void init_options ( OptionsContext o)
static

Definition at line 214 of file ffmpeg_opt.c.

◆ show_hwaccels()

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

Definition at line 229 of file ffmpeg_opt.c.

◆ strip_specifiers()

static AVDictionary* strip_specifiers ( AVDictionary dict)
static

Definition at line 242 of file ffmpeg_opt.c.

Referenced by open_input_file(), and open_output_file().

◆ opt_filter_threads()

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

Definition at line 259 of file ffmpeg_opt.c.

◆ opt_abort_on()

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

Definition at line 266 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 285 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 300 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 306 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 312 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 318 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 324 of file ffmpeg_opt.c.

◆ opt_attach()

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

Definition at line 442 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 450 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 527 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 566 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 581 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 602 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 629 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 719 of file ffmpeg_opt.c.

◆ find_codec_or_die()

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

Definition at line 734 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 763 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 780 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 994 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 1037 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 1069 of file ffmpeg_opt.c.

◆ get_line()

static char* get_line ( AVIOContext s,
AVBPrint *  bprint 
)
static

Definition at line 1355 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 1369 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 1395 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 1627 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ read_file()

static char* read_file ( const char *  filename)
static

Definition at line 1645 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 1670 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 1690 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 1704 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 1940 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 2013 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 2026 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 2039 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 2047 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 2075 of file ffmpeg_opt.c.

◆ copy_chapters()

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

Definition at line 2097 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ set_dispositions()

static int set_dispositions ( OutputFile of)
static

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

Referenced by open_output_file().

◆ init_complex_filters()

static int init_complex_filters ( void  )
static

Definition at line 2247 of file ffmpeg_opt.c.

◆ open_output_file()

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

Definition at line 2259 of file ffmpeg_opt.c.

◆ opt_target()

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

Definition at line 2890 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 3033 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 3040 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 3056 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 3062 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 3068 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 3074 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 3094 of file ffmpeg_opt.c.

◆ opt_old2new()

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

Definition at line 3142 of file ffmpeg_opt.c.

◆ opt_bitrate()

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

Definition at line 3154 of file ffmpeg_opt.c.

◆ opt_qscale()

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

Definition at line 3170 of file ffmpeg_opt.c.

◆ opt_profile()

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

Definition at line 3187 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 3199 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 3205 of file ffmpeg_opt.c.

◆ opt_vsync()

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

Definition at line 3211 of file ffmpeg_opt.c.

◆ opt_timecode()

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

Definition at line 3226 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 3240 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 3276 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 3282 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 3297 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 3313 of file ffmpeg_opt.c.

◆ show_usage()

void show_usage ( void  )

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

◆ opt_name_audio_channels

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

Definition at line 57 of file ffmpeg_opt.c.

◆ opt_name_audio_sample_rate

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

Definition at line 58 of file ffmpeg_opt.c.

◆ opt_name_frame_rates

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

Definition at line 59 of file ffmpeg_opt.c.

◆ opt_name_max_frame_rates

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

Definition at line 60 of file ffmpeg_opt.c.

◆ opt_name_frame_sizes

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

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

◆ opt_name_ts_scale

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

Definition at line 63 of file ffmpeg_opt.c.

◆ opt_name_hwaccels

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

Definition at line 64 of file ffmpeg_opt.c.

◆ opt_name_hwaccel_devices

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

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

◆ opt_name_autorotate

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

Definition at line 67 of file ffmpeg_opt.c.

◆ opt_name_autoscale

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

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

◆ opt_name_bitstream_filters

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

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

◆ opt_name_sample_fmts

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

Definition at line 72 of file ffmpeg_opt.c.

◆ opt_name_qscale

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

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

◆ opt_name_force_fps

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

Definition at line 75 of file ffmpeg_opt.c.

◆ opt_name_frame_aspect_ratios

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

Definition at line 76 of file ffmpeg_opt.c.

◆ opt_name_rc_overrides

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

Definition at line 77 of file ffmpeg_opt.c.

◆ opt_name_intra_matrices

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

Definition at line 78 of file ffmpeg_opt.c.

◆ opt_name_inter_matrices

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

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

◆ opt_name_top_field_first

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

Definition at line 81 of file ffmpeg_opt.c.

◆ opt_name_presets

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

Definition at line 82 of file ffmpeg_opt.c.

◆ opt_name_copy_initial_nonkeyframes

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

Definition at line 83 of file ffmpeg_opt.c.

◆ opt_name_copy_prior_start

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

Definition at line 84 of file ffmpeg_opt.c.

◆ opt_name_filters

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

Definition at line 85 of file ffmpeg_opt.c.

◆ opt_name_filter_scripts

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

Definition at line 86 of file ffmpeg_opt.c.

◆ opt_name_reinit_filters

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

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

◆ opt_name_canvas_sizes

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

Definition at line 89 of file ffmpeg_opt.c.

◆ opt_name_pass

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

Definition at line 90 of file ffmpeg_opt.c.

◆ opt_name_passlogfiles

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

Definition at line 91 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 92 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 93 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 94 of file ffmpeg_opt.c.

◆ opt_name_apad

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

Definition at line 95 of file ffmpeg_opt.c.

◆ opt_name_discard

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

Definition at line 96 of file ffmpeg_opt.c.

◆ opt_name_disposition

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

Definition at line 97 of file ffmpeg_opt.c.

◆ opt_name_time_bases

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

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

◆ opt_name_bits_per_raw_sample

const char* const opt_name_bits_per_raw_sample[] = {"bits_per_raw_sample", NULL}
static

Definition at line 100 of file ffmpeg_opt.c.

◆ filter_hw_device

HWDevice* filter_hw_device

Definition at line 139 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 142 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 144 of file ffmpeg_opt.c.

Referenced by configure_input_audio_filter().

◆ dts_delta_threshold

float dts_delta_threshold = 10

Definition at line 145 of file ffmpeg_opt.c.

Referenced by process_input().

◆ dts_error_threshold

float dts_error_threshold = 3600*30

Definition at line 146 of file ffmpeg_opt.c.

Referenced by do_video_out(), and process_input().

◆ audio_volume

int audio_volume = 256

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

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

◆ video_sync_method

enum VideoSyncMethod video_sync_method = VSYNC_AUTO

Definition at line 150 of file ffmpeg_opt.c.

Referenced by init_output_stream_encode(), new_video_stream(), opt_vsync(), and write_packet().

◆ frame_drop_threshold

float frame_drop_threshold = 0

Definition at line 151 of file ffmpeg_opt.c.

Referenced by do_video_out().

◆ do_benchmark

int do_benchmark = 0

Definition at line 152 of file ffmpeg_opt.c.

Referenced by ffmpeg_cleanup(), and main().

◆ do_benchmark_all

int do_benchmark_all = 0

Definition at line 153 of file ffmpeg_opt.c.

Referenced by update_benchmark().

◆ do_hex_dump

int do_hex_dump = 0

Definition at line 154 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and process_input().

◆ do_pkt_dump

int do_pkt_dump = 0

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

Referenced by opt_abort_on(), and transcode().

◆ print_stats

int print_stats = -1

Definition at line 162 of file ffmpeg_opt.c.

Referenced by print_report().

◆ qp_hist

int qp_hist = 0

Definition at line 163 of file ffmpeg_opt.c.

Referenced by check_keyboard_interaction(), and print_report().

◆ stdin_interaction

int stdin_interaction = 1

Definition at line 164 of file ffmpeg_opt.c.

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

◆ max_error_rate

float max_error_rate = 2.0/3

Definition at line 165 of file ffmpeg_opt.c.

Referenced by main().

◆ filter_nbthreads

char* filter_nbthreads

Definition at line 166 of file ffmpeg_opt.c.

Referenced by configure_filtergraph(), ffmpeg_cleanup(), and opt_filter_threads().

◆ filter_complex_nbthreads

int filter_complex_nbthreads = 0

Definition at line 167 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ vstats_version

int vstats_version = 2

Definition at line 168 of file ffmpeg_opt.c.

Referenced by do_video_stats().

◆ auto_conversion_filters

int auto_conversion_filters = 1

Definition at line 169 of file ffmpeg_opt.c.

Referenced by configure_filtergraph().

◆ stats_period

int64_t stats_period = 500000

Definition at line 170 of file ffmpeg_opt.c.

Referenced by opt_stats_period(), and print_report().

◆ file_overwrite

int file_overwrite = 0
static

Definition at line 173 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ no_file_overwrite

int no_file_overwrite = 0
static

Definition at line 174 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ do_psnr

int do_psnr = 0
static

Definition at line 175 of file ffmpeg_opt.c.

Referenced by new_video_stream().

◆ input_stream_potentially_available

int input_stream_potentially_available = 0
static

◆ ignore_unknown_streams

int ignore_unknown_streams = 0
static

Definition at line 177 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ copy_unknown_streams

int copy_unknown_streams = 0
static

Definition at line 178 of file ffmpeg_opt.c.

Referenced by open_output_file().

◆ recast_media

int recast_media = 0
static

Definition at line 179 of file ffmpeg_opt.c.

Referenced by choose_decoder(), and find_codec_or_die().

◆ find_stream_info

int find_stream_info = 1
static

Definition at line 180 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:186
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
index
fg index
Definition: ffmpeg_filter.c:167
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:2112
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
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:271
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:174
desc
const char * desc
Definition: libsvtav1.c:79