FFmpeg
Macros | Functions | Variables
ffmpeg_opt.c File Reference
#include "config.h"
#include <stdint.h>
#include "ffmpeg.h"
#include "ffmpeg_sched.h"
#include "cmdutils.h"
#include "opt_common.h"
#include "sync_queue.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/display.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 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)
 
AVDictionarystrip_specifiers (const AVDictionary *dict)
 
const char * opt_match_per_type_str (const SpecifierOptList *sol, char mediatype)
 
int parse_and_set_vsync (const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global)
 
static void correct_input_start_times (void)
 
static int apply_sync_offsets (void)
 
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_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 int opt_recording_timestamp (void *optctx, const char *opt, const char *arg)
 
int find_codec (void *logctx, const char *name, enum AVMediaType type, int encoder, const AVCodec **pcodec)
 
int assert_file_overwrite (const char *filename)
 
static int opt_streamid (void *optctx, const char *opt, const char *arg)
 
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_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

HWDevicefilter_hw_device
 
char * vstats_filename
 
float audio_drift_threshold = 0.1
 
float dts_delta_threshold = 10
 
float dts_error_threshold = 3600*30
 
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 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
 
int ignore_unknown_streams = 0
 
int copy_unknown_streams = 0
 
int recast_media = 0
 

Macro Definition Documentation

◆ OFFSET

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

Function Documentation

◆ uninit_options()

static void uninit_options ( OptionsContext o)
static

Definition at line 95 of file ffmpeg_opt.c.

◆ init_options()

static void init_options ( OptionsContext o)
static

Definition at line 131 of file ffmpeg_opt.c.

◆ show_hwaccels()

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

Definition at line 149 of file ffmpeg_opt.c.

◆ strip_specifiers()

AVDictionary* strip_specifiers ( const AVDictionary dict)

Definition at line 162 of file ffmpeg_opt.c.

Referenced by ifile_open(), and validate_enc_avopt().

◆ opt_match_per_type_str()

const char* opt_match_per_type_str ( const SpecifierOptList sol,
char  mediatype 
)

Definition at line 179 of file ffmpeg_opt.c.

Referenced by ifile_open(), map_auto_subtitle(), and opt_preset().

◆ parse_and_set_vsync()

int parse_and_set_vsync ( const char *  arg,
int vsync_var,
int  file_idx,
int  st_idx,
int  is_global 
)

Definition at line 192 of file ffmpeg_opt.c.

Referenced by new_stream_video(), and opt_vsync().

◆ correct_input_start_times()

static void correct_input_start_times ( void  )
static

Definition at line 228 of file ffmpeg_opt.c.

◆ apply_sync_offsets()

static int apply_sync_offsets ( void  )
static

Definition at line 265 of file ffmpeg_opt.c.

◆ opt_filter_threads()

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

Definition at line 317 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 324 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 343 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 361 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 367 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 373 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 379 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 385 of file ffmpeg_opt.c.

◆ opt_attach()

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

Definition at line 477 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 491 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 529 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 544 of file ffmpeg_opt.c.

◆ opt_recording_timestamp()

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

Definition at line 558 of file ffmpeg_opt.c.

◆ find_codec()

int find_codec ( void *  logctx,
const char *  name,
enum AVMediaType  type,
int  encoder,
const AVCodec **  pcodec 
)

Definition at line 581 of file ffmpeg_opt.c.

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

◆ assert_file_overwrite()

int assert_file_overwrite ( const char *  filename)

Definition at line 614 of file ffmpeg_opt.c.

Referenced by dump_attachment(), and of_open().

◆ opt_streamid()

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

Definition at line 660 of file ffmpeg_opt.c.

◆ opt_target()

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

Definition at line 679 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 822 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 829 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 845 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 851 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 857 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 863 of file ffmpeg_opt.c.

Referenced by opt_preset().

◆ opt_preset()

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

Definition at line 883 of file ffmpeg_opt.c.

◆ opt_old2new()

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

Definition at line 933 of file ffmpeg_opt.c.

◆ opt_bitrate()

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

Definition at line 945 of file ffmpeg_opt.c.

◆ opt_qscale()

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

Definition at line 961 of file ffmpeg_opt.c.

◆ opt_profile()

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

Definition at line 978 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 990 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 996 of file ffmpeg_opt.c.

◆ opt_vsync()

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

Definition at line 1003 of file ffmpeg_opt.c.

◆ opt_timecode()

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

Definition at line 1010 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 1024 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 1030 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 1041 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 1055 of file ffmpeg_opt.c.

◆ show_usage()

void show_usage ( void  )

Definition at line 1172 of file ffmpeg_opt.c.

Referenced by main(), and show_help_default().

Variable Documentation

◆ filter_hw_device

HWDevice* filter_hw_device

Definition at line 57 of file ffmpeg_opt.c.

Referenced by hw_device_for_filter(), and opt_filter_hw_device().

◆ vstats_filename

char* vstats_filename

Definition at line 59 of file ffmpeg_opt.c.

Referenced by encode_frame(), ffmpeg_cleanup(), opt_vstats_file(), and update_video_stats().

◆ audio_drift_threshold

float audio_drift_threshold = 0.1

Definition at line 61 of file ffmpeg_opt.c.

◆ dts_delta_threshold

float dts_delta_threshold = 10

Definition at line 62 of file ffmpeg_opt.c.

Referenced by ts_discontinuity_detect().

◆ dts_error_threshold

float dts_error_threshold = 3600*30

Definition at line 63 of file ffmpeg_opt.c.

Referenced by ts_discontinuity_detect(), and video_sync_process().

◆ video_sync_method

enum VideoSyncMethod video_sync_method = VSYNC_AUTO

Definition at line 66 of file ffmpeg_opt.c.

Referenced by new_stream_video(), opt_vsync(), and parse_and_set_vsync().

◆ frame_drop_threshold

float frame_drop_threshold = 0

Definition at line 68 of file ffmpeg_opt.c.

Referenced by video_sync_process().

◆ do_benchmark

int do_benchmark = 0

Definition at line 69 of file ffmpeg_opt.c.

Referenced by ffmpeg_cleanup(), and main().

◆ do_benchmark_all

int do_benchmark_all = 0

Definition at line 70 of file ffmpeg_opt.c.

Referenced by update_benchmark().

◆ do_hex_dump

int do_hex_dump = 0

Definition at line 71 of file ffmpeg_opt.c.

Referenced by input_thread().

◆ do_pkt_dump

int do_pkt_dump = 0

Definition at line 72 of file ffmpeg_opt.c.

Referenced by input_thread().

◆ copy_ts

int copy_ts = 0

◆ start_at_zero

int start_at_zero = 0

◆ copy_tb

int copy_tb = -1

Definition at line 75 of file ffmpeg_opt.c.

Referenced by avformat_transfer_internal_stream_timing_info(), and streamcopy_init().

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

Referenced by check_written(), and opt_abort_on().

◆ print_stats

int print_stats = -1

Definition at line 79 of file ffmpeg_opt.c.

Referenced by print_report().

◆ stdin_interaction

int stdin_interaction = 1

Definition at line 80 of file ffmpeg_opt.c.

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

◆ max_error_rate

float max_error_rate = 2.0/3

Definition at line 81 of file ffmpeg_opt.c.

Referenced by decoder_thread().

◆ filter_nbthreads

char* filter_nbthreads

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

Referenced by configure_filtergraph().

◆ vstats_version

int vstats_version = 2

Definition at line 84 of file ffmpeg_opt.c.

Referenced by update_video_stats().

◆ auto_conversion_filters

int auto_conversion_filters = 1

Definition at line 85 of file ffmpeg_opt.c.

Referenced by fg_create().

◆ stats_period

int64_t stats_period = 500000

Definition at line 86 of file ffmpeg_opt.c.

Referenced by opt_stats_period(), print_report(), and transcode().

◆ file_overwrite

int file_overwrite = 0
static

Definition at line 89 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ no_file_overwrite

int no_file_overwrite = 0
static

Definition at line 90 of file ffmpeg_opt.c.

Referenced by assert_file_overwrite().

◆ ignore_unknown_streams

int ignore_unknown_streams = 0

Definition at line 91 of file ffmpeg_opt.c.

Referenced by map_manual().

◆ copy_unknown_streams

int copy_unknown_streams = 0

Definition at line 92 of file ffmpeg_opt.c.

Referenced by map_manual().

◆ recast_media

int recast_media = 0

Definition at line 93 of file ffmpeg_opt.c.

Referenced by choose_decoder(), and find_codec().