cmdutils.c File Reference

#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <math.h>
#include "config.h"
#include "libavformat/avformat.h"
#include "libavfilter/avfilter.h"
#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
#include "libpostproc/postprocess.h"
#include "libavutil/avstring.h"
#include "libavutil/pixdesc.h"
#include "libavcodec/opt.h"
#include "cmdutils.h"
#include "version.h"

Go to the source code of this file.

Defines

#define PRINT_LIB_VERSION(outstream, libname, LIBNAME, indent)
#define PRINT_LIB_CONFIG(lib, tag, cfg)
#define sws_isSupportedInput(x)   0
#define sws_isSupportedOutput(x)   0

Functions

double parse_number_or_die (const char *context, const char *numstr, int type, double min, double max)
 Parses a string and returns its corresponding value as a double.
int64_t parse_time_or_die (const char *context, const char *timestr, int is_duration)
 Parses a string specifying a time and returns its corresponding value as a number of microseconds.
void show_help_options (const OptionDef *options, const char *msg, int mask, int value)
static const OptionDeffind_option (const OptionDef *po, const char *name)
void parse_options (int argc, char **argv, const OptionDef *options, void(*parse_arg_function)(const char *))
 Parses the command line arguments.
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)
 Sets the libav* libraries log level.
int opt_timelimit (const char *opt, const char *arg)
 Limit the execution time.
void set_context_opts (void *ctx, void *opts_ctx, int flags)
void print_error (const char *filename, int err)
 Prints an error message to stderr, indicating filename and a human readable description of the error code err.
static void print_all_lib_versions (FILE *outstream, int indent)
static void maybe_print_config (const char *lib, const char *cfg)
void show_banner (void)
 Prints the program banner to stderr.
void show_version (void)
 Prints the version of the program to stdout.
void show_license (void)
 Prints the license of the program to stdout.
void list_fmts (void(*get_fmt_string)(char *buf, int buf_size, int fmt), int nb_fmts)
void show_formats (void)
 Prints a listing containing all the formats supported by the program.
void show_codecs (void)
 Prints a listing containing all the codecs supported by the program.
void show_bsfs (void)
 Prints a listing containing all the bit stream filters supported by the program.
void show_protocols (void)
 Prints a listing containing all the protocols supported by the program.
void show_filters (void)
 Prints a listing containing all the filters supported by the program.
void show_pix_fmts (void)
 Prints a listing containing all the pixel formats supported by the program.
int read_yesno (void)
 Returns a positive value if reads from standard input a line starting with [yY], otherwise returns 0.
int read_file (const char *filename, char **bufptr, size_t *size)
 Reads the file with name filename, and puts its content in a newly allocated 0-terminated buffer.

Variables

const char ** opt_names
static int opt_name_count
AVCodecContextavcodec_opts [AVMEDIA_TYPE_NB]
AVFormatContextavformat_opts
struct SwsContextsws_opts
const int this_year = 2010


Define Documentation

#define PRINT_LIB_CONFIG ( lib,
tag,
cfg   ) 

Value:

do {    \
        if (CONFIG_##lib)                       \
            maybe_print_config(tag, cfg);       \
    } while (0)

Definition at line 337 of file cmdutils.c.

Referenced by show_banner().

#define PRINT_LIB_VERSION ( outstream,
libname,
LIBNAME,
indent   ) 

Value:

if (CONFIG_##LIBNAME) {                                             \
        unsigned int version = libname##_version();                     \
        fprintf(outstream, "%slib%-10s %2d.%2d.%2d / %2d.%2d.%2d\n",    \
                indent? "  " : "", #libname,                            \
                LIB##LIBNAME##_VERSION_MAJOR,                           \
                LIB##LIBNAME##_VERSION_MINOR,                           \
                LIB##LIBNAME##_VERSION_MICRO,                           \
                version >> 16, version >> 8 & 0xff, version & 0xff);    \
    }

Definition at line 302 of file cmdutils.c.

Referenced by print_all_lib_versions().

#define sws_isSupportedInput (  )     0

#define sws_isSupportedOutput (  )     0


Function Documentation

static const OptionDef* find_option ( const OptionDef po,
const char *  name 
) [static]

Definition at line 108 of file cmdutils.c.

Referenced by parse_options().

void list_fmts ( void(*)(char *buf, int buf_size, int fmt)  get_fmt_string,
int  nb_fmts 
)

Definition at line 433 of file cmdutils.c.

Referenced by opt_audio_sample_fmt().

static void maybe_print_config ( const char *  lib,
const char *  cfg 
) [static]

Definition at line 324 of file cmdutils.c.

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

Referenced by opt_bitrate(), opt_preset(), and opt_target().

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

Sets the libav* libraries log level.

Definition at line 231 of file cmdutils.c.

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

Limit the execution time.

Definition at line 266 of file cmdutils.c.

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

Parses a string and returns its corresponding value as a double.

Exits 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 commandline 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 57 of file cmdutils.c.

Referenced by opt_audio_channels(), opt_audio_rate(), opt_debug(), opt_height(), opt_me_threshold(), opt_thread_count(), opt_timelimit(), opt_verbose(), opt_vismv(), opt_width(), and parse_options().

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

Parses the command line arguments.

Parameters:
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.

Definition at line 117 of file cmdutils.c.

Referenced by main().

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

Parses a string specifying a time and returns its corresponding value as a number of microseconds.

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

Parameters:
context the context of the value to be set (e.g. the corresponding commandline 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 74 of file cmdutils.c.

Referenced by opt_duration(), opt_input_ts_offset(), opt_rec_timestamp(), opt_recording_time(), opt_seek(), and opt_start_time().

static void print_all_lib_versions ( FILE *  outstream,
int  indent 
) [static]

Definition at line 313 of file cmdutils.c.

Referenced by show_banner(), and show_version().

void print_error ( const char *  filename,
int  err 
)

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

Referenced by decode_thread(), open_input_file(), opt_input_file(), opt_output_file(), read_ffserver_streams(), and write_frame().

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

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

Parameters:
bufptr puts here the pointer to the newly allocated buffer
size puts here the size of the newly allocated buffer
Returns:
0 in case of success, a negative value corresponding to an AVERROR error code in case of failure.

Definition at line 642 of file cmdutils.c.

Referenced by av_transcode().

int read_yesno ( void   ) 

Returns a positive value if reads from standard input a line starting with [yY], otherwise returns 0.

Definition at line 631 of file cmdutils.c.

Referenced by opt_output_file().

void set_context_opts ( void *  ctx,
void *  opts_ctx,
int  flags 
)

void show_banner ( void   ) 

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

Referenced by main().

void show_bsfs ( void   ) 

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

Definition at line 568 of file cmdutils.c.

void show_codecs ( void   ) 

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

Definition at line 492 of file cmdutils.c.

void show_filters ( void   ) 

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

Definition at line 587 of file cmdutils.c.

void show_formats ( void   ) 

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

Definition at line 443 of file cmdutils.c.

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

Definition at line 85 of file cmdutils.c.

Referenced by show_help().

void show_license ( void   ) 

Prints the license of the program to stdout.

The license depends on the license of the libraries compiled into the program.

Definition at line 364 of file cmdutils.c.

void show_pix_fmts ( void   ) 

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

Definition at line 598 of file cmdutils.c.

Referenced by opt_frame_pix_fmt().

void show_protocols ( void   ) 

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

Definition at line 578 of file cmdutils.c.

void show_version ( void   ) 

Prints the version of the program to stdout.

The version message depends on the current versions of the repository and of the libav* libraries.

Definition at line 359 of file cmdutils.c.


Variable Documentation

AVCodecContext* avcodec_opts[AVMEDIA_TYPE_NB]

int opt_name_count [static]

Definition at line 50 of file cmdutils.c.

Referenced by opt_default(), and set_context_opts().

const char** opt_names

Definition at line 49 of file cmdutils.c.

Referenced by av_exit(), opt_default(), and set_context_opts().

Definition at line 53 of file cmdutils.c.

Referenced by av_exit(), av_transcode(), do_exit(), do_video_out(), main(), queue_picture(), and show_help().

const int this_year = 2010

Definition at line 55 of file cmdutils.c.

Referenced by show_banner().


Generated on Fri Oct 26 02:36:50 2012 for FFmpeg by  doxygen 1.5.8