#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 OptionDef * | find_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 |
AVCodecContext * | avcodec_opts [AVMEDIA_TYPE_NB] |
AVFormatContext * | avformat_opts |
struct SwsContext * | sws_opts |
const int | this_year = 2010 |
#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 | ( | x | ) | 0 |
Referenced by query_formats(), selfTest(), show_pix_fmts(), and sws_isSupportedInput().
#define sws_isSupportedOutput | ( | x | ) | 0 |
Referenced by query_formats(), selfTest(), show_pix_fmts(), and sws_isSupportedOutput().
void list_fmts | ( | void(*)(char *buf, int buf_size, int fmt) | get_fmt_string, | |
int | nb_fmts | |||
) |
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 | |||
) |
int opt_timelimit | ( | const char * | opt, | |
const char * | arg | |||
) |
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.
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.
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.
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 |
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] |
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.
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.
bufptr | puts here the pointer to the newly allocated buffer | |
size | puts here the size of the newly allocated buffer |
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 | |||
) |
Definition at line 279 of file cmdutils.c.
Referenced by decode_thread(), new_audio_stream(), new_subtitle_stream(), new_video_stream(), opt_input_file(), opt_output_file(), and stream_component_open().
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 | |||
) |
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.
AVCodecContext* avcodec_opts[AVMEDIA_TYPE_NB] |
Definition at line 51 of file cmdutils.c.
Referenced by av_exit(), do_exit(), do_video_out(), main(), new_audio_stream(), new_subtitle_stream(), new_video_stream(), opt_bitrate(), opt_input_file(), show_help(), and stream_component_open().
Definition at line 52 of file cmdutils.c.
Referenced by av_exit(), decode_thread(), do_exit(), main(), opt_input_file(), opt_output_file(), and show_help().
int opt_name_count [static] |
const char** opt_names |
Definition at line 49 of file cmdutils.c.
Referenced by av_exit(), opt_default(), and set_context_opts().
struct SwsContext* sws_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 |