FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
cmdutils.h File Reference
#include <stdint.h>
#include "config.h"
#include "libavcodec/avcodec.h"
#include "libavfilter/avfilter.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"

Go to the source code of this file.

Data Structures

struct   StreamSpecifier
 
struct   SpecifierOpt
 
struct   SpecifierOptList
 
struct   OptionDef
 
struct   Option
  An option extracted from the commandline. More...
 
struct   OptionGroupDef
 
struct   OptionGroup
 
struct   OptionGroupList
  A list of option groups that all have the same group type (e.g. More...
 
struct   OptionParseContext
 

Macros

#define  OPT_FUNC_ARG   (1 << 0)
 
#define  OPT_EXIT   (1 << 1)
 
#define  OPT_EXPERT   (1 << 2)
 
#define  OPT_VIDEO   (1 << 3)
 
#define  OPT_AUDIO   (1 << 4)
 
#define  OPT_SUBTITLE   (1 << 5)
 
#define  OPT_DATA   (1 << 6)
 
#define  OPT_PERFILE   (1 << 7)
 
#define  OPT_FLAG_OFFSET   (1 << 8)
 
 
#define  OPT_FLAG_SPEC   (1 << 9)
 
#define  OPT_SPEC   (OPT_FLAG_SPEC | OPT_OFFSET)
 
#define  OPT_FLAG_PERSTREAM   (1 << 10)
 
 
#define  OPT_INPUT   (1 << 11)
 
#define  OPT_OUTPUT   (1 << 12)
 
#define  OPT_HAS_ALT   (1 << 13)
 
#define  OPT_HAS_CANON   (1 << 14)
 
#define  OPT_DECODER   (1 << 15)
 
#define  GROW_ARRAY(array, nb_elems)   grow_array((void**)&array, sizeof(*array), &nb_elems, nb_elems + 1)
 

Enumerations

 
 

Functions

void  init_dynload (void)
  Initialize dynamic library loading. More...
 
void  uninit_opts (void)
  Uninitialize the cmdutils option system, in particular free the *_opts contexts and their contents. More...
 
void  log_callback_help (void *ptr, int level, const char *fmt, va_list vl)
  Trivial log callback. More...
 
int  opt_default (void *optctx, const char *opt, const char *arg)
  Fallback for options that are not explicitly handled, these will be parsed through AVOptions. More...
 
int  opt_timelimit (void *optctx, const char *opt, const char *arg)
  Limit the execution time. More...
 
int  parse_number (const char *context, const char *numstr, enum OptionType type, double min, double max, double *dst)
  Parse a string and return its corresponding value as a double. More...
 
int  stream_specifier_parse (StreamSpecifier *ss, const char *spec, int allow_remainder, void *logctx)
  Parse a stream specifier string into a form suitable for matching. More...
 
unsigned  stream_specifier_match (const StreamSpecifier *ss, const AVFormatContext *s, const AVStream *st, void *logctx)
 
unsigned  stream_group_specifier_match (const StreamSpecifier *ss, const AVFormatContext *s, const AVStreamGroup *stg, void *logctx)
 
 
void  show_help_options (const OptionDef *options, const char *msg, int req_flags, int rej_flags)
  Print help for all options matching specified flags. More...
 
void  show_help_children (const AVClass *class, int flags)
  Show help for all options with given flags in class and all its children. More...
 
void  show_help_default (const char *opt, const char *arg)
  Per-fftool specific help handler. More...
 
int  parse_options (void *optctx, int argc, char **argv, const OptionDef *options, int(*parse_arg_function)(void *optctx, const char *))
  Parse the command line arguments. More...
 
int  parse_option (void *optctx, const char *opt, const char *arg, const OptionDef *options)
  Parse one given option. More...
 
int  parse_optgroup (void *optctx, OptionGroup *g, const OptionDef *defs)
  Parse an options group and write results into optctx. More...
 
int  split_commandline (OptionParseContext *octx, int argc, char *argv[], const OptionDef *options, const OptionGroupDef *groups, int nb_groups)
  Split the commandline into an intermediate form convenient for further processing. More...
 
  Free all allocated memory in an OptionParseContext. More...
 
void  parse_loglevel (int argc, char **argv, const OptionDef *options)
  Find the '-loglevel' option in the command line args and apply it. More...
 
int  locate_option (int argc, char **argv, const OptionDef *options, const char *optname)
  Return index of option opt in argv or 0 if not found. More...
 
int  check_stream_specifier (AVFormatContext *s, AVStream *st, const char *spec)
  Check if the given stream matches a stream specifier. More...
 
  Filter out options for given codec. More...
 
 
static void  print_error (const char *filename, int err)
  Print an error message to stderr, indicating filename and a human readable description of the error code err. More...
 
void  show_banner (int argc, char **argv, const OptionDef *options)
  Print the program banner to stderr. More...
 
int  read_yesno (void)
  Return a positive value if a line read from standard input starts with [yY], otherwise return 0. More...
 
FILE *  get_preset_file (char *filename, size_t filename_size, const char *preset_name, int is_path, const char *codec_name)
  Get a file corresponding to a preset file. More...
 
int  grow_array (void **array, int elem_size, int *size, int new_size)
  Realloc array to hold new_size elements of elem_size. More...
 
void *  allocate_array_elem (void *array, size_t elem_size, int *nb_elems)
  Atomically add a new element to an array of pointers, i.e. More...
 
double  get_rotation (const int32_t *displaymatrix)
 
char *  read_file_to_string (const char *filename)
 
 
 
int  cmdutils_isalnum (char c)
 

Variables

const char  program_name []
  program name, defined by the program for show_version(). More...
 
const int  program_birth_year
  program birth year, defined by the program for show_banner() More...
 
 
 
 
 
int  hide_banner
 

Macro Definition Documentation

OPT_FUNC_ARG

#define OPT_FUNC_ARG   (1 << 0)

Definition at line 205 of file cmdutils.h.

OPT_EXIT

#define OPT_EXIT   (1 << 1)

Definition at line 207 of file cmdutils.h.

OPT_EXPERT

#define OPT_EXPERT   (1 << 2)

Definition at line 211 of file cmdutils.h.

OPT_VIDEO

#define OPT_VIDEO   (1 << 3)

Definition at line 212 of file cmdutils.h.

OPT_AUDIO

#define OPT_AUDIO   (1 << 4)

Definition at line 213 of file cmdutils.h.

OPT_SUBTITLE

#define OPT_SUBTITLE   (1 << 5)

Definition at line 214 of file cmdutils.h.

OPT_DATA

#define OPT_DATA   (1 << 6)

Definition at line 215 of file cmdutils.h.

OPT_PERFILE

#define OPT_PERFILE   (1 << 7)

Definition at line 219 of file cmdutils.h.

OPT_FLAG_OFFSET

#define OPT_FLAG_OFFSET   (1 << 8)

Definition at line 223 of file cmdutils.h.

OPT_OFFSET

#define OPT_OFFSET   (OPT_FLAG_OFFSET | OPT_PERFILE)

Definition at line 224 of file cmdutils.h.

OPT_FLAG_SPEC

#define OPT_FLAG_SPEC   (1 << 9)

Definition at line 228 of file cmdutils.h.

OPT_SPEC

#define OPT_SPEC   (OPT_FLAG_SPEC | OPT_OFFSET)

Definition at line 229 of file cmdutils.h.

OPT_FLAG_PERSTREAM

#define OPT_FLAG_PERSTREAM   (1 << 10)

Definition at line 232 of file cmdutils.h.

OPT_PERSTREAM

#define OPT_PERSTREAM   (OPT_FLAG_PERSTREAM | OPT_SPEC)

Definition at line 233 of file cmdutils.h.

OPT_INPUT

#define OPT_INPUT   (1 << 11)

Definition at line 237 of file cmdutils.h.

OPT_OUTPUT

#define OPT_OUTPUT   (1 << 12)

Definition at line 238 of file cmdutils.h.

OPT_HAS_ALT

#define OPT_HAS_ALT   (1 << 13)

Definition at line 242 of file cmdutils.h.

OPT_HAS_CANON

#define OPT_HAS_CANON   (1 << 14)

Definition at line 245 of file cmdutils.h.

OPT_DECODER

#define OPT_DECODER   (1 << 15)

Definition at line 248 of file cmdutils.h.

GROW_ARRAY

#define GROW_ARRAY (   array,
  nb_elems 
)    grow_array((void**)&array, sizeof(*array), &nb_elems, nb_elems + 1)

Definition at line 536 of file cmdutils.h.

Enumeration Type Documentation

OptionType

enum OptionType
Enumerator
OPT_TYPE_FUNC 
OPT_TYPE_BOOL 
OPT_TYPE_STRING 
OPT_TYPE_INT 
OPT_TYPE_INT64 
OPT_TYPE_FLOAT 
OPT_TYPE_DOUBLE 
OPT_TYPE_TIME 

Definition at line 80 of file cmdutils.h.

StreamList

enum StreamList
Enumerator
STREAM_LIST_ALL 
STREAM_LIST_STREAM_ID 
STREAM_LIST_PROGRAM 
STREAM_LIST_GROUP_ID 
STREAM_LIST_GROUP_IDX 

Definition at line 105 of file cmdutils.h.

Function Documentation

init_dynload()

void init_dynload ( void  )

Initialize dynamic library loading.

Definition at line 75 of file cmdutils.c.

Referenced by main().

uninit_opts()

void uninit_opts ( void  )

Uninitialize the cmdutils option system, in particular free the *_opts contexts and their contents.

Definition at line 62 of file cmdutils.c.

Referenced by do_exit(), ffmpeg_cleanup(), main(), and uninit_parse_context().

log_callback_help()

void log_callback_help ( void *  ptr,
int  level,
const char *  fmt,
va_list  vl 
)

Trivial log callback.

Only suitable for opt_help and similar since it lacks prefix handling.

Definition at line 70 of file cmdutils.c.

Referenced by show_buildconf(), show_help(), show_help_default(), and show_version().

opt_default()

int opt_default ( void *  optctx,
const char *  opt,
const char *  arg 
)

Fallback for options that are not explicitly handled, these will be parsed through AVOptions.

Definition at line 599 of file cmdutils.c.

Referenced by opt_default_new(), opt_target(), parse_option(), and split_commandline().

opt_timelimit()

int opt_timelimit ( void *  optctx,
const char *  opt,
const char *  arg 
)

Limit the execution time.

parse_number()

int parse_number ( const char *  context,
const char *  numstr,
enum OptionType  type,
double  min,
double  max,
doubledst 
)

Parse a string and return its corresponding value as a double.

Parameters
context the context of the value to be set (e.g. the corresponding command line option name)
numstr the string to be parsed
type the type (OPT_INT64 or OPT_FLOAT) as which the string should be parsed
min the minimum valid accepted value
max the maximum valid accepted value

Definition at line 84 of file cmdutils.c.

Referenced by opt_height(), opt_show_mode(), opt_show_optional_fields(), opt_width(), parse_and_set_vsync(), and write_option().

stream_specifier_parse()

int stream_specifier_parse ( StreamSpecifierss,
const char *  spec,
int  allow_remainder,
void *  logctx 
)

Parse a stream specifier string into a form suitable for matching.

Parameters
ss Parsed specifier will be stored here; must be uninitialized with stream_specifier_uninit() when no longer needed.
spec String containing the stream specifier to be parsed.
allow_remainder When 1, the part of spec that is left after parsing the stream specifier is stored into ss->remainder. When 0, any remainder will cause parsing to fail.

Definition at line 1012 of file cmdutils.c.

Referenced by check_stream_specifier(), fg_complex_bind_input(), opt_map(), and write_option().

stream_specifier_match()

unsigned stream_specifier_match ( const StreamSpecifierss,
const AVFormatContexts,
const AVStreamst,
void *  logctx 
)
Returns
1 if st matches the parsed specifier, 0 if it does not

Definition at line 1227 of file cmdutils.c.

Referenced by check_stream_specifier(), fg_complex_bind_input(), opt_map(), and opt_match_per_stream().

stream_group_specifier_match()

unsigned stream_group_specifier_match ( const StreamSpecifierss,
const AVFormatContexts,
const AVStreamGroupstg,
void *  logctx 
)

Definition at line 1353 of file cmdutils.c.

Referenced by opt_match_per_stream_group().

stream_specifier_uninit()

void stream_specifier_uninit ( StreamSpecifierss )

Definition at line 1003 of file cmdutils.c.

Referenced by check_stream_specifier(), fg_complex_bind_input(), opt_map(), stream_specifier_parse(), and uninit_options().

show_help_options()

void show_help_options ( const OptionDefoptions,
const char *  msg,
int  req_flags,
int  rej_flags 
)

Print help for all options matching specified flags.

Parameters
options a list of options
msg title of this group. Only printed if at least one option matches.
req_flags print only options which have all those flags set.
rej_flags don't print options which have any of those flags set.

Definition at line 107 of file cmdutils.c.

Referenced by show_help_default().

show_help_children()

void show_help_children ( const AVClassclass,
int  flags 
)

Show help for all options with given flags in class and all its children.

Definition at line 140 of file cmdutils.c.

Referenced by print_codec(), show_help_bsf(), show_help_children(), show_help_default(), show_help_demuxer(), show_help_muxer(), and show_help_protocol().

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

Referenced by show_help().

parse_options()

int parse_options ( void *  optctx,
int  argc,
char **  argv,
const OptionDefoptions,
int(*)(void *optctx, const char *)  parse_arg_function 
)

Parse the command line arguments.

Parameters
optctx an opaque options context
argc number of command line arguments
argv values of command line arguments
options Array with the definitions required to interpret every option of the form: -option_name [argument]
parse_arg_function Name of the function called to process every argument without a leading option name flag. NULL if such arguments do not have to be processed.

parse_option()

int parse_option ( void *  optctx,
const char *  opt,
const char *  arg,
const OptionDefoptions 
)

Parse one given option.

Returns
on success 1 if arg was consumed, 0 otherwise; negative number on error

Definition at line 380 of file cmdutils.c.

Referenced by opt_audio_codec(), opt_audio_filters(), opt_audio_frames(), opt_audio_qscale(), opt_data_codec(), opt_data_frames(), opt_old2new(), opt_preset(), opt_qscale(), opt_recording_timestamp(), opt_subtitle_codec(), opt_target(), opt_timecode(), opt_video_codec(), opt_video_filters(), opt_video_frames(), and parse_options().

parse_optgroup()

int parse_optgroup ( void *  optctx,
OptionGroupg,
const OptionDefdefs 
)

Parse an options group and write results into optctx.

Parameters
optctx an app-specific options context. NULL for global options group

Definition at line 456 of file cmdutils.c.

split_commandline()

int split_commandline ( OptionParseContextoctx,
int  argc,
char *  argv[],
const OptionDefoptions,
const OptionGroupDefgroups,
int  nb_groups 
)

Split the commandline into an intermediate form convenient for further processing.

The commandline is assumed to be composed of options which either belong to a group (those with OPT_SPEC, OPT_OFFSET or OPT_PERFILE) or are global (everything else).

A group (defined by an OptionGroupDef struct) is a sequence of options terminated by either a group separator option (e.g. -i) or a parameter that is not an option (doesn't start with -). A group without a separator option must always be first in the supplied groups list.

All options within the same group are stored in one OptionGroup struct in an OptionGroupList, all groups with the same group definition are stored in one OptionGroupList in OptionParseContext.groups. The order of group lists is the same as the order of group definitions.

Definition at line 790 of file cmdutils.c.

uninit_parse_context()

void uninit_parse_context ( OptionParseContextoctx )

Free all allocated memory in an OptionParseContext.

Definition at line 765 of file cmdutils.c.

parse_loglevel()

void parse_loglevel ( int  argc,
char **  argv,
const OptionDefoptions 
)

Find the '-loglevel' option in the command line args and apply it.

Definition at line 556 of file cmdutils.c.

Referenced by main().

locate_option()

int locate_option ( int  argc,
char **  argv,
const OptionDefoptions,
const char *  optname 
)

Return index of option opt in argv or 0 if not found.

Definition at line 489 of file cmdutils.c.

Referenced by parse_loglevel(), and show_banner().

check_stream_specifier()

int check_stream_specifier ( AVFormatContexts,
AVStreamst,
const char *  spec 
)

Check if the given stream matches a stream specifier.

Parameters
s Corresponding format context.
st Stream from s to be checked.
spec A stream specifier of the [v|a|s|d]:[<stream index>] form.
Returns
1 if the stream matches, 0 if it doesn't, <0 on error

Definition at line 1339 of file cmdutils.c.

Referenced by copy_metadata(), filter_codec_opts(), ifile_open(), and of_add_metadata().

filter_codec_opts()

int filter_codec_opts ( const AVDictionaryopts,
enum AVCodecID  codec_id,
AVStreamst,
const AVCodeccodec,
AVDictionary **  dst,
AVDictionary **  opts_used 
)

Filter out options for given codec.

Create a new options dictionary containing only the options from opts which apply to the codec with ID codec_id.

Parameters
opts dictionary to place options in
codec_id ID of the codec that should be filtered for
s Corresponding format context.
st A stream from s for which the options should be filtered.
codec The particular codec for which the options should be filtered. If null, the default one is looked up according to the codec id.
dst a pointer to the created dictionary
opts_used if non-NULL, every option stored in dst is also stored here, with specifiers preserved
Returns
a non-negative number on success, a negative error code on failure

Definition at line 1424 of file cmdutils.c.

Referenced by ist_add(), open_input_file(), ost_add(), setup_find_stream_info_opts(), and stream_component_open().

setup_find_stream_info_opts()

int setup_find_stream_info_opts ( AVFormatContexts,
AVDictionarycodec_opts,
AVDictionary ***  dst 
)

Setup AVCodecContext options for avformat_find_stream_info().

Create an array of dictionaries, one dictionary for each stream contained in s. Each dictionary will contain the options from codec_opts which can be applied to the corresponding stream codec context.

Definition at line 1492 of file cmdutils.c.

Referenced by ifile_open(), open_input_file(), and read_thread().

print_error()

static void print_error ( const char *  filename,
int  err 
)
inlinestatic

Print an error message to stderr, indicating filename and a human readable description of the error code err.

If strerror_r() is not available the use of this function in a multithreaded application may be unsafe.

See also
av_strerror()

Definition at line 472 of file cmdutils.h.

Referenced by open_input_file(), and read_thread().

show_banner()

void show_banner ( int  argc,
char **  argv,
const OptionDefoptions 
)

Print the program banner to stderr.

The banner contents depend on the current version of the repository and of the libav* libraries used by the program.

Definition at line 235 of file opt_common.c.

Referenced by main().

read_yesno()

int read_yesno ( void  )

Return a positive value if a line read from standard input starts with [yY], otherwise return 0.

Definition at line 913 of file cmdutils.c.

Referenced by assert_file_overwrite().

get_preset_file()

FILE* get_preset_file ( char *  filename,
size_t  filename_size,
const char *  preset_name,
int  is_path,
const char *  codec_name 
)

Get a file corresponding to a preset file.

If is_path is non-zero, look for the file in the path preset_name. Otherwise search for a file named arg.ffpreset in the directories $FFMPEG_DATADIR (if set), $HOME/.ffmpeg, and in the datadir defined at configuration time or in a "ffpresets" folder along the executable on win32, in that order. If no such file is found and codec_name is defined, then search for a file named codec_name-preset_name.avpreset in the above-mentioned directories.

Parameters
filename buffer where the name of the found filename is written
filename_size size in bytes of the filename buffer
preset_name name of the preset to search
is_path tell if preset_name is a filename path
codec_name name of the codec for which to look for the preset, may be NULL

Definition at line 924 of file cmdutils.c.

Referenced by opt_preset().

grow_array()

int grow_array ( void **  array,
int  elem_size,
int *  size,
int  new_size 
)

Realloc array to hold new_size elements of elem_size.

Parameters
array pointer to the array to reallocate, will be updated with a new pointer on success
elem_size size in bytes of each element
size new element count will be written here
new_size number of elements to place in reallocated array
Returns
a non-negative number on success, a negative error code on failure

Definition at line 1523 of file cmdutils.c.

allocate_array_elem()

void* allocate_array_elem ( void *  array,
size_t  elem_size,
int *  nb_elems 
)

Atomically add a new element to an array of pointers, i.e.

allocate a new entry, reallocate the array of pointers and make the new last member of this array point to the newly allocated buffer.

Parameters
array array of pointers to reallocate
elem_size size of the new element to allocate
nb_elems pointer to the number of elements of the array array; *nb_elems will be incremented by one by this function.
Returns
pointer to the newly allocated entry or NULL on failure

Definition at line 1541 of file cmdutils.c.

Referenced by demux_alloc(), demux_stream_alloc(), demux_stream_group_alloc(), ifilter_alloc(), mux_alloc(), mux_stream_alloc(), and ofilter_alloc().

get_rotation()

double get_rotation ( const int32_tdisplaymatrix )

Definition at line 1554 of file cmdutils.c.

Referenced by configure_input_video_filter(), configure_output_video_filter(), and configure_video_filters().

read_file_to_string()

char* read_file_to_string ( const char *  filename )

Definition at line 1572 of file cmdutils.c.

Referenced by filter_opt_apply(), new_stream_video(), opt_filter_complex_script(), ost_get_filters(), and write_option().

remove_avoptions()

void remove_avoptions ( AVDictionary **  a,
AVDictionaryb 
)

Definition at line 1597 of file cmdutils.c.

Referenced by ifile_open(), and read_thread().

check_avoptions()

int check_avoptions ( AVDictionarym )

Definition at line 1606 of file cmdutils.c.

Referenced by dec_open(), ifile_open(), ost_add(), read_thread(), and stream_component_open().

cmdutils_isalnum()

int cmdutils_isalnum ( char  c )

Definition at line 996 of file cmdutils.c.

Referenced by stream_specifier_parse(), and view_specifier_parse().

Variable Documentation

program_name

const char program_name[]

program name, defined by the program for show_version().

Examples
avio_list_dir.c.

Definition at line 86 of file ffmpeg.c.

Referenced by expand_filename_template(), init_report(), main(), print_program_info(), show_help_default(), show_license(), show_usage(), and usage().

program_birth_year

const int program_birth_year

program birth year, defined by the program for show_banner()

Definition at line 87 of file ffmpeg.c.

Referenced by ffprobe_show_program_version(), and print_program_info().

sws_dict

AVDictionary* sws_dict

Definition at line 56 of file cmdutils.c.

Referenced by configure_video_filters(), finish_group(), opt_default(), and uninit_opts().

swr_opts

AVDictionary* swr_opts

Definition at line 57 of file cmdutils.c.

Referenced by configure_audio_filters(), finish_group(), opt_default(), and uninit_opts().

format_opts

AVDictionary* format_opts

Definition at line 58 of file cmdutils.c.

Referenced by finish_group(), main(), open_input_file(), opt_default(), opt_default_new(), opt_target(), read_thread(), split_commandline(), and uninit_opts().

codec_opts

AVDictionary * codec_opts

Definition at line 49 of file cmdutils.h.

hide_banner

int hide_banner

Definition at line 60 of file cmdutils.c.

Referenced by parse_loglevel(), and show_banner().


Generated on Tue Nov 18 2025 19:23:48 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /