cmdutils.h File Reference

#include <stdint.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  SpecifierOpt
struct  OptionDef

Defines

#define HAS_ARG   0x0001
#define OPT_BOOL   0x0002
#define OPT_EXPERT   0x0004
#define OPT_STRING   0x0008
#define OPT_VIDEO   0x0010
#define OPT_AUDIO   0x0020
#define OPT_GRAB   0x0040
#define OPT_INT   0x0080
#define OPT_FLOAT   0x0100
#define OPT_SUBTITLE   0x0200
#define OPT_INT64   0x0400
#define OPT_EXIT   0x0800
#define OPT_DATA   0x1000
#define OPT_FUNC2   0x2000
#define OPT_OFFSET   0x4000
#define OPT_SPEC   0x8000
#define OPT_TIME   0x10000
#define OPT_DOUBLE   0x20000

Functions

void init_opts (void)
 Initialize the cmdutils option system, in particular allocate the *_opts contexts.
void uninit_opts (void)
 Uninitialize the cmdutils option system, in particular free the *_opts contexts and their contents.
void log_callback_help (void *ptr, int level, const char *fmt, va_list vl)
 Trivial log callback.
int opt_default (const char *opt, const char *arg)
 Fallback for options that are not explicitly handled, these will be parsed through AVOptions.
int opt_loglevel (const char *opt, const char *arg)
 Set the libav* libraries log level.
int opt_report (const char *opt)
int opt_max_alloc (const char *opt, const char *arg)
int opt_cpuflags (const char *opt, const char *arg)
int opt_codec_debug (const char *opt, const char *arg)
int opt_timelimit (const char *opt, const char *arg)
 Limit the execution time.
double parse_number_or_die (const char *context, const char *numstr, int type, double min, double max)
 Parse a string and return its corresponding value as a double.
int64_t parse_time_or_die (const char *context, const char *timestr, int is_duration)
 Parse a string specifying a time and return its corresponding value as a number of microseconds.
void show_help_options (const OptionDef *options, const char *msg, int mask, int value)
void show_help_children (const AVClass *class, int flags)
 Show help for all options with given flags in class and all its children.
void parse_options (void *optctx, int argc, char **argv, const OptionDef *options, void(*parse_arg_function)(void *optctx, const char *))
 Parse the command line arguments.
int parse_option (void *optctx, const char *opt, const char *arg, const OptionDef *options)
 Parse one given option.
void parse_loglevel (int argc, char **argv, const OptionDef *options)
 Find the '-loglevel' option in the command line args and apply it.
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.
int check_stream_specifier (AVFormatContext *s, AVStream *st, const char *spec)
 Check if the given stream matches a stream specifier.
AVDictionaryfilter_codec_opts (AVDictionary *opts, AVCodec *codec, AVFormatContext *s, AVStream *st)
 Filter out options for given codec.
AVDictionary ** setup_find_stream_info_opts (AVFormatContext *s, AVDictionary *codec_opts)
 Setup AVCodecContext options for avformat_find_stream_info().
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.
void show_banner (int argc, char **argv, const OptionDef *options)
 Print the program banner to stderr.
int opt_version (const char *opt, const char *arg)
 Print the version of the program to stdout.
int opt_license (const char *opt, const char *arg)
 Print the license of the program to stdout.
int opt_formats (const char *opt, const char *arg)
 Print a listing containing all the formats supported by the program.
int opt_codecs (const char *opt, const char *arg)
 Print a listing containing all the codecs supported by the program.
int opt_filters (const char *opt, const char *arg)
 Print a listing containing all the filters supported by the program.
int opt_bsfs (const char *opt, const char *arg)
 Print a listing containing all the bit stream filters supported by the program.
int opt_protocols (const char *opt, const char *arg)
 Print a listing containing all the protocols supported by the program.
int opt_pix_fmts (const char *opt, const char *arg)
 Print a listing containing all the pixel formats supported by the program.
int show_sample_fmts (const char *opt, const char *arg)
 Print a listing containing all the sample formats supported by the program.
int read_yesno (void)
 Return a positive value if a line read from standard input starts with [yY], otherwise return 0.
int cmdutils_read_file (const char *filename, char **bufptr, size_t *size)
 Read the file with name filename, and put its content in a newly allocated 0-terminated buffer.
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.
void exit_program (int ret)
 Do all the necessary cleanup and abort.
void * grow_array (void *array, int elem_size, int *size, int new_size)
 Realloc array to hold new_size elements of elem_size.

Variables

const char program_name []
 program name, defined by the program for show_version().
const int program_birth_year
 program birth year, defined by the program for show_banner()
const int this_year
 this year, defined by the program for show_banner()
AVCodecContextavcodec_opts [AVMEDIA_TYPE_NB]
AVFormatContextavformat_opts
struct SwsContextsws_opts
struct SwrContextswr_opts
AVDictionaryformat_opts
AVDictionarycodec_opts


Define Documentation

#define HAS_ARG   0x0001

Definition at line 145 of file cmdutils.h.

Referenced by locate_option(), parse_option(), and show_help_options().

#define OPT_AUDIO   0x0020

Definition at line 150 of file cmdutils.h.

Referenced by opt_help().

#define OPT_BOOL   0x0002

Definition at line 146 of file cmdutils.h.

Referenced by parse_option().

#define OPT_DATA   0x1000

Definition at line 157 of file cmdutils.h.

#define OPT_DOUBLE   0x20000

Definition at line 164 of file cmdutils.h.

Referenced by parse_option().

#define OPT_EXIT   0x0800

Definition at line 156 of file cmdutils.h.

Referenced by parse_option().

#define OPT_EXPERT   0x0004

Definition at line 147 of file cmdutils.h.

Referenced by opt_help().

#define OPT_FLOAT   0x0100

Definition at line 153 of file cmdutils.h.

Referenced by parse_option().

#define OPT_FUNC2   0x2000

Definition at line 158 of file cmdutils.h.

Referenced by parse_option().

#define OPT_GRAB   0x0040

Definition at line 151 of file cmdutils.h.

Referenced by opt_help().

#define OPT_INT   0x0080

#define OPT_INT64   0x0400

Definition at line 155 of file cmdutils.h.

Referenced by opt_height(), opt_timelimit(), opt_width(), parse_number_or_die(), and parse_option().

#define OPT_OFFSET   0x4000

Definition at line 159 of file cmdutils.h.

Referenced by parse_option(), and reset_options().

#define OPT_SPEC   0x8000

Definition at line 160 of file cmdutils.h.

Referenced by parse_option(), and reset_options().

#define OPT_STRING   0x0008

Definition at line 148 of file cmdutils.h.

Referenced by parse_option(), and reset_options().

#define OPT_SUBTITLE   0x0200

Definition at line 154 of file cmdutils.h.

Referenced by opt_help().

#define OPT_TIME   0x10000

Definition at line 163 of file cmdutils.h.

Referenced by parse_option().

#define OPT_VIDEO   0x0010

Definition at line 149 of file cmdutils.h.

Referenced by opt_help().


Function Documentation

int check_stream_specifier ( AVFormatContext s,
AVStream st,
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 1065 of file cmdutils.c.

Referenced by copy_metadata(), filter_codec_opts(), init_input_filter(), opt_input_file(), opt_map(), and opt_output_file().

int cmdutils_read_file ( const char *  filename,
char **  bufptr,
size_t *  size 
)

Read the file with name filename, and put its content in a newly allocated 0-terminated buffer.

Parameters:
bufptr location where pointer to buffer is returned
size location where size of buffer is returned
Returns:
0 in case of success, a negative value corresponding to an AVERROR error code in case of failure.

Definition at line 978 of file cmdutils.c.

Referenced by transcode_init().

void exit_program ( int  ret  ) 

AVDictionary* filter_codec_opts ( AVDictionary opts,
AVCodec codec,
AVFormatContext s,
AVStream st 
)

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:
s Corresponding format context.
st A stream from s for which the options should be filtered.
Returns:
a pointer to the created dictionary

Definition at line 1125 of file cmdutils.c.

Referenced by add_input_streams(), new_output_stream(), setup_find_stream_info_opts(), and stream_component_open().

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 1015 of file cmdutils.c.

Referenced by ffserver_opt_preset(), and opt_preset().

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

Realloc array to hold new_size elements of elem_size.

Calls exit_program() on failure.

Parameters:
elem_size size in bytes of each element
size new element count will be written here
Returns:
reallocated array

Definition at line 1200 of file cmdutils.c.

Referenced by add_input_streams(), configure_complex_filter(), init_input_filter(), init_simple_filtergraph(), new_output_stream(), opt_attach(), opt_filter_complex(), opt_input_file(), opt_map(), opt_map_channel(), opt_output_file(), opt_streamid(), and parse_option().

void init_opts ( void   ) 

Initialize the cmdutils option system, in particular allocate the *_opts contexts.

Definition at line 66 of file cmdutils.c.

Referenced by main(), and reset_options().

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.

Definition at line 348 of file cmdutils.c.

Referenced by parse_cpuflags(), parse_loglevel(), and show_banner().

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 86 of file cmdutils.c.

Referenced by opt_help(), and opt_version().

int opt_bsfs ( const char *  opt,
const char *  arg 
)

Print a listing containing all the bit stream filters supported by the program.

This option processing function does not utilize the arguments.

Definition at line 865 of file cmdutils.c.

int opt_codec_debug ( const char *  opt,
const char *  arg 
)

Definition at line 561 of file cmdutils.c.

int opt_codecs ( const char *  opt,
const char *  arg 
)

Print a listing containing all the codecs supported by the program.

This option processing function does not utilize the arguments.

Definition at line 802 of file cmdutils.c.

int opt_cpuflags ( const char *  opt,
const char *  arg 
)

Definition at line 549 of file cmdutils.c.

Referenced by parse_cpuflags().

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

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

Definition at line 421 of file cmdutils.c.

Referenced by opt_bitrate(), opt_channel_layout(), opt_codec_debug(), opt_frame_pix_fmt(), opt_frame_size(), opt_passlogfile(), opt_preset(), opt_profile(), opt_target(), opt_video_channel(), and opt_video_standard().

int opt_filters ( const char *  opt,
const char *  arg 
)

Print a listing containing all the filters supported by the program.

This option processing function does not utilize the arguments.

Definition at line 891 of file cmdutils.c.

int opt_formats ( const char *  opt,
const char *  arg 
)

Print a listing containing all the formats supported by the program.

This option processing function does not utilize the arguments.

Definition at line 742 of file cmdutils.c.

int opt_license ( const char *  opt,
const char *  arg 
)

Print the license of the program to stdout.

The license depends on the license of the libraries compiled into the program. This option processing function does not utilize the arguments.

Definition at line 672 of file cmdutils.c.

int opt_loglevel ( const char *  opt,
const char *  arg 
)

Set the libav* libraries log level.

Definition at line 468 of file cmdutils.c.

Referenced by parse_loglevel().

int opt_max_alloc ( const char *  opt,
const char *  arg 
)

Definition at line 535 of file cmdutils.c.

int opt_pix_fmts ( const char *  opt,
const char *  arg 
)

Print a listing containing all the pixel formats supported by the program.

This option processing function does not utilize the arguments.

Definition at line 923 of file cmdutils.c.

int opt_protocols ( const char *  opt,
const char *  arg 
)

Print a listing containing all the protocols supported by the program.

This option processing function does not utilize the arguments.

Definition at line 876 of file cmdutils.c.

int opt_report ( const char *  opt  ) 

Definition at line 503 of file cmdutils.c.

Referenced by parse_loglevel().

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

Limit the execution time.

Definition at line 567 of file cmdutils.c.

int opt_version ( const char *  opt,
const char *  arg 
)

Print the version of the program to stdout.

The version message depends on the current versions of the repository and of the libav* libraries. This option processing function does not utilize the arguments.

Definition at line 665 of file cmdutils.c.

void parse_loglevel ( int  argc,
char **  argv,
const OptionDef options 
)

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

Definition at line 398 of file cmdutils.c.

Referenced by main().

double parse_number_or_die ( const char *  context,
const char *  numstr,
int  type,
double  min,
double  max 
)

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

Exit from the application if the string cannot be correctly parsed or the corresponding value is invalid.

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 105 of file cmdutils.c.

Referenced by opt_height(), opt_pass(), opt_show_mode(), opt_streamid(), opt_timelimit(), opt_vsync(), opt_width(), and parse_option().

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

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

Parse the command line arguments.

Parameters:
optctx an opaque options context
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.

int64_t parse_time_or_die ( const char *  context,
const char *  timestr,
int  is_duration 
)

Parse a string specifying a time and return its corresponding value as a number of microseconds.

Exit from the application if the string cannot be correctly parsed.

Parameters:
context the context of the value to be set (e.g. the corresponding command line option name)
timestr the string to be parsed
is_duration a flag which tells how to interpret timestr, if not zero timestr is interpreted as a duration, otherwise as a date
See also:
parse_date()

Definition at line 126 of file cmdutils.c.

Referenced by opt_duration(), opt_recording_timestamp(), opt_seek(), parse_forced_key_frames(), and parse_option().

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.

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 580 of file cmdutils.c.

Referenced by open_input_file(), opt_input_file(), opt_output_file(), read_thread(), and write_frame().

int read_yesno ( void   ) 

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

Definition at line 967 of file cmdutils.c.

Referenced by assert_file_overwrite().

AVDictionary** setup_find_stream_info_opts ( AVFormatContext s,
AVDictionary codec_opts 
)

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.

Returns:
pointer to the created array of dictionaries, NULL if it cannot be created

Definition at line 1180 of file cmdutils.c.

Referenced by opt_input_file(), and read_thread().

void show_banner ( int  argc,
char **  argv,
const OptionDef options 
)

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 654 of file cmdutils.c.

Referenced by main().

void show_help_children ( const AVClass class,
int  flags 
)

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

Definition at line 162 of file cmdutils.c.

Referenced by opt_help(), and show_help_children().

void show_help_options ( const OptionDef options,
const char *  msg,
int  mask,
int  value 
)

Definition at line 138 of file cmdutils.c.

Referenced by opt_help().

int show_sample_fmts ( const char *  opt,
const char *  arg 
)

Print a listing containing all the sample formats supported by the program.

Definition at line 958 of file cmdutils.c.

void uninit_opts ( void   ) 

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

Definition at line 75 of file cmdutils.c.

Referenced by do_exit(), exit_program(), main(), and reset_options().


Variable Documentation

AVCodecContext* avcodec_opts[AVMEDIA_TYPE_NB]

Definition at line 60 of file cmdutils.c.

Referenced by main(), open_input_file(), opt_input_file(), opt_output_file(), and read_thread().

const int program_birth_year

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

Definition at line 103 of file ffmpeg.c.

Referenced by ffprobe_show_program_version(), and print_program_info().

const char program_name[]

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

Definition at line 102 of file ffmpeg.c.

Referenced by compute_status(), main(), opt_license(), opt_report(), print_program_info(), and show_usage().

Definition at line 59 of file cmdutils.c.

Referenced by new_output_stream().

Definition at line 58 of file cmdutils.c.

Referenced by new_output_stream(), and queue_picture().

const int this_year

this year, defined by the program for show_banner()

Definition at line 62 of file cmdutils.c.

Referenced by ffprobe_show_program_version(), and print_program_info().


Generated on Fri Oct 26 02:47:54 2012 for FFmpeg by  doxygen 1.5.8