FFmpeg
Macros | Functions | Variables
cmdutils.c File Reference
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <math.h>
#include "config.h"
#include "compat/va_copy.h"
#include "libavformat/avformat.h"
#include "libavfilter/avfilter.h"
#include "libavdevice/avdevice.h"
#include "libavresample/avresample.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/mathematics.h"
#include "libavutil/imgutils.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/eval.h"
#include "libavutil/dict.h"
#include "libavutil/opt.h"
#include "cmdutils.h"
#include "version.h"

Go to the source code of this file.

Macros

#define  FLAGS   (o->type == AV_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0
 
#define  GET_ARG(arg)
 
#define  INDENT   1
 
#define  SHOW_VERSION   2
 
#define  SHOW_CONFIG   4
 
#define  SHOW_COPYRIGHT   8
 
#define  PRINT_LIB_INFO(libname, LIBNAME, flags, level)
 
#define  PRINT_CODEC_SUPPORTED(codec, field, type, list_name, term, get_name)
 
#define  sws_isSupportedInput(x)   0
 
#define  sws_isSupportedOutput(x)   0
 

Functions

static int  init_report (const char *env)
 
  Initialize the cmdutils option system, in particular allocate the *_opts contexts.
 
  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.
 
static void  log_callback_report (void *ptr, int level, const char *fmt, va_list vl)
 
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 req_flags, int rej_flags, int alt_flags)
  Print help for all options matching specified flags.
 
void  show_help_children (const AVClass *class, int flags)
  Show help for all options with given flags in class and all its children.
 
static const OptionDeffind_option (const OptionDef *po, const char *name)
 
static void  prepare_app_arguments (int *argc_ptr, char ***argv_ptr)
 
static int  write_option (void *optctx, const OptionDef *po, const char *opt, const char *arg)
 
int  parse_option (void *optctx, const char *opt, const char *arg, const OptionDef *options)
  Parse one given option.
 
void  parse_options (void *optctx, int argc, char **argv, const OptionDef *options, void(*parse_arg_function)(void *, const char *))
 
int  parse_optgroup (void *optctx, OptionGroup *g)
  Parse an options group and write results into optctx.
 
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.
 
static void  dump_argument (const char *a)
 
void  parse_loglevel (int argc, char **argv, const OptionDef *options)
  Find the '-loglevel' option in the command line args and apply it.
 
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.
 
static int  match_group_separator (const OptionGroupDef *groups, int nb_groups, const char *opt)
 
static void  finish_group (OptionParseContext *octx, int group_idx, const char *arg)
 
static void  add_opt (OptionParseContext *octx, const OptionDef *opt, const char *key, const char *val)
 
static void  init_parse_context (OptionParseContext *octx, const OptionGroupDef *groups, int nb_groups)
 
  Free all allocated memory in an OptionParseContext.
 
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.
 
int  opt_loglevel (void *optctx, const char *opt, const char *arg)
  Set the libav* libraries log level.
 
static void  expand_filename_template (AVBPrint *bp, const char *template, struct tm *tm)
 
int  opt_report (const char *opt)
 
int  opt_max_alloc (void *optctx, const char *opt, const char *arg)
 
int  opt_cpuflags (void *optctx, const char *opt, const char *arg)
 
int  opt_timelimit (void *optctx, const char *opt, const char *arg)
  Limit the execution time.
 
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.
 
static void  print_all_libs_info (int flags, int level)
 
static void  print_program_info (int flags, int level)
 
void  show_banner (int argc, char **argv, const OptionDef *options)
  Print the program banner to stderr.
 
int  show_version (void *optctx, const char *opt, const char *arg)
  Print the version of the program to stdout.
 
int  show_license (void *optctx, const char *opt, const char *arg)
  Print the license of the program to stdout.
 
int  show_formats (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the formats supported by the program.
 
static void  print_codec (const AVCodec *c)
 
static char  get_media_type_char (enum AVMediaType type)
 
static const AVCodecnext_codec_for_id (enum AVCodecID id, const AVCodec *prev, int encoder)
 
static int  compare_codec_desc (const void *a, const void *b)
 
static unsigned  get_codecs_sorted (const AVCodecDescriptor ***rcodecs)
 
static void  print_codecs_for_id (enum AVCodecID id, int encoder)
 
int  show_codecs (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the codecs supported by the program.
 
static void  print_codecs (int encoder)
 
int  show_decoders (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the decoders supported by the program.
 
int  show_encoders (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the encoders supported by the program.
 
int  show_bsfs (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the bit stream filters supported by the program.
 
int  show_protocols (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the protocols supported by the program.
 
int  show_filters (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the filters supported by the program.
 
int  show_pix_fmts (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the pixel formats supported by the program.
 
int  show_layouts (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the standard channel layouts supported by the program.
 
int  show_sample_fmts (void *optctx, const char *opt, const char *arg)
  Print a listing containing all the sample formats supported by the program.
 
static void  show_help_codec (const char *name, int encoder)
 
static void  show_help_demuxer (const char *name)
 
static void  show_help_muxer (const char *name)
 
int  show_help (void *optctx, const char *opt, const char *arg)
  Generic -h handler common to all fftools.
 
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.
 
int  check_stream_specifier (AVFormatContext *s, AVStream *st, const char *spec)
  Check if the given stream matches a stream specifier.
 
  Filter out options for given codec.
 
 
voidgrow_array (void *array, int elem_size, int *size, int new_size)
  Realloc array to hold new_size elements of elem_size.
 
static int  alloc_buffer (FrameBuffer **pool, AVCodecContext *s, FrameBuffer **pbuf)
 
  Get a frame from the pool.
 
static void  unref_buffer (FrameBuffer *buf)
 
  A callback to be used for AVCodecContext.release_buffer along with codec_get_buffer().
 
  A callback to be used for AVFilterBuffer.free.
 
  Free all the buffers in the pool.
 

Variables

struct SwsContextsws_opts
 
 
 
 
 
const int  this_year = 2013
  this year, defined by the program for show_banner()
 
static FILE *  report_file
 
static int  warned_cfg = 0
 

Macro Definition Documentation

#define FLAGS   (o->type == AV_OPT_TYPE_FLAGS) ? AV_DICT_APPEND : 0

Definition at line 469 of file cmdutils.c.

Referenced by opt_default().

#define GET_ARG (   arg )
Value:
do { \
arg = argv[optindex++]; \
if (!arg) { \
av_log(NULL, AV_LOG_ERROR, "Missing argument for option '%s'.\n", opt);\
return AVERROR(EINVAL); \
} \
} while (0)

Referenced by split_commandline().

#define INDENT   1

Definition at line 954 of file cmdutils.c.

Referenced by print_program_info(), and show_banner().

#define SHOW_VERSION   2

Definition at line 955 of file cmdutils.c.

Referenced by show_banner(), and show_version().

#define SHOW_CONFIG   4

Definition at line 956 of file cmdutils.c.

Referenced by show_banner().

#define SHOW_COPYRIGHT   8

Definition at line 957 of file cmdutils.c.

Referenced by print_program_info(), and show_banner().

#define PRINT_LIB_INFO (   libname,
  LIBNAME,
  flags,
  level 
)
Value:
if (CONFIG_##LIBNAME) { \
const char *indent = flags & INDENT? " " : ""; \
if (flags & SHOW_VERSION) { \
unsigned int version = libname##_version(); \
av_log(NULL, level, \
"%slib%-11s %2d.%3d.%3d / %2d.%3d.%3d\n", \
indent, #libname, \
LIB##LIBNAME##_VERSION_MAJOR, \
LIB##LIBNAME##_VERSION_MINOR, \
LIB##LIBNAME##_VERSION_MICRO, \
version >> 16, version >> 8 & 0xff, version & 0xff); \
} \
if (flags & SHOW_CONFIG) { \
const char *cfg = libname##_configuration(); \
if (strcmp(FFMPEG_CONFIGURATION, cfg)) { \
if (!warned_cfg) { \
av_log(NULL, level, \
"%sWARNING: library configuration mismatch\n", \
indent); \
warned_cfg = 1; \
} \
av_log(NULL, level, "%s%-11s configuration: %s\n", \
indent, #libname, cfg); \
} \
} \
} \

Definition at line 959 of file cmdutils.c.

Referenced by print_all_libs_info().

#define PRINT_CODEC_SUPPORTED (   codec,
  field,
  type,
  list_name,
  term,
  get_name 
)
Value:
if (codec->field) { \
const type *p = codec->field; \
\
printf(" Supported " list_name ":"); \
while (*p != term) { \
get_name(*p); \
printf(" %s", name); \
p++; \
} \
printf("\n"); \
} \

Definition at line 1159 of file cmdutils.c.

Referenced by print_codec().

#define sws_isSupportedInput (   x )    0

Referenced by query_formats(), selfTest(), show_pix_fmts(), sws_init_context(), and sws_isSupportedInput().

#define sws_isSupportedOutput (   x )    0

Referenced by query_formats(), selfTest(), show_pix_fmts(), sws_init_context(), and sws_isSupportedOutput().

Function Documentation

static int init_report ( const char *  env )
static

Definition at line 834 of file cmdutils.c.

Referenced by opt_report(), and parse_loglevel().

void init_opts ( void  )

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

Definition at line 72 of file cmdutils.c.

Referenced by finish_group(), init_parse_context(), and main().

void uninit_opts ( void  )

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

Definition at line 80 of file cmdutils.c.

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

void log_callback_help ( voidptr,
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 93 of file cmdutils.c.

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

static void log_callback_report ( voidptr,
int  level,
const char *  fmt,
va_list  vl 
)
static

Definition at line 98 of file cmdutils.c.

Referenced by init_report().

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

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

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
av_parse_time()

Definition at line 133 of file cmdutils.c.

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

void show_help_options ( const OptionDefoptions,
const char *  msg,
int  req_flags,
int  rej_flags,
int  alt_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.
alt_flags print only options that have at least one of those flags set

Definition at line 145 of file cmdutils.c.

Referenced by show_help_default().

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

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

static const OptionDef* find_option ( const OptionDefpo,
const char *  name 
)
static

Definition at line 186 of file cmdutils.c.

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

static void prepare_app_arguments ( int *  argc_ptr,
char ***  argv_ptr 
)
inlinestatic

Definition at line 255 of file cmdutils.c.

Referenced by parse_options(), and split_commandline().

static int write_option ( voidoptctx,
const OptionDefpo,
const char *  opt,
const char *  arg 
)
static

Definition at line 261 of file cmdutils.c.

Referenced by parse_optgroup(), and parse_option().

int parse_option ( voidoptctx,
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 309 of file cmdutils.c.

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

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

Definition at line 342 of file cmdutils.c.

Referenced by main(), and parse_script().

int parse_optgroup ( voidoptctx,
OptionGroupg 
)

Parse an options group and write results into optctx.

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

Definition at line 373 of file cmdutils.c.

Referenced by ffmpeg_parse_options(), and open_files().

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

Referenced by parse_loglevel(), and show_banner().

static void dump_argument ( const char *  a )
static

Definition at line 422 of file cmdutils.c.

Referenced by 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 446 of file cmdutils.c.

Referenced by main().

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

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

Definition at line 470 of file cmdutils.c.

Referenced by opt_default_new(), opt_frame_pix_fmt(), opt_frame_size(), opt_video_channel(), opt_video_standard(), and split_commandline().

static int match_group_separator ( const OptionGroupDefgroups,
int  nb_groups,
const char *  opt 
)
static

Definition at line 549 of file cmdutils.c.

Referenced by split_commandline().

static void finish_group ( OptionParseContextoctx,
int  group_idx,
const char *  arg 
)
static

Definition at line 569 of file cmdutils.c.

Referenced by split_commandline().

static void add_opt ( OptionParseContextoctx,
const OptionDefopt,
const char *  key,
const char *  val 
)
static

Definition at line 604 of file cmdutils.c.

Referenced by split_commandline().

static void init_parse_context ( OptionParseContextoctx,
const OptionGroupDefgroups,
int  nb_groups 
)
static

Definition at line 616 of file cmdutils.c.

Referenced by split_commandline().

void uninit_parse_context ( OptionParseContextoctx )

Free all allocated memory in an OptionParseContext.

Definition at line 638 of file cmdutils.c.

Referenced by ffmpeg_parse_options().

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

Referenced by ffmpeg_parse_options().

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

Set the libav* libraries log level.

Definition at line 771 of file cmdutils.c.

Referenced by parse_loglevel().

static void expand_filename_template ( AVBPrintbp,
const char *  template,
struct tm *  tm 
)
static

Definition at line 806 of file cmdutils.c.

Referenced by init_report().

int opt_report ( const char *  opt )

Definition at line 898 of file cmdutils.c.

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

Definition at line 903 of file cmdutils.c.

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

Definition at line 917 of file cmdutils.c.

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

Limit the execution time.

Definition at line 929 of file cmdutils.c.

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

Referenced by open_input_file(), open_output_file(), process_input(), read_thread(), and write_frame().

static void print_all_libs_info ( int  flags,
int  level 
)
static

Definition at line 987 of file cmdutils.c.

Referenced by show_banner(), and show_version().

static void print_program_info ( int  flags,
int  level 
)
static

Definition at line 1002 of file cmdutils.c.

Referenced by show_banner(), and show_version().

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

Referenced by main().

int show_version ( voidoptctx,
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 1028 of file cmdutils.c.

int show_license ( voidoptctx,
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 1037 of file cmdutils.c.

int show_formats ( voidoptctx,
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 1111 of file cmdutils.c.

static void print_codec ( const AVCodecc )
static

Definition at line 1172 of file cmdutils.c.

Referenced by show_help_codec().

static char get_media_type_char ( enum AVMediaType  type )
static

Definition at line 1218 of file cmdutils.c.

Referenced by print_codecs(), show_codecs(), and show_filters().

static const AVCodec* next_codec_for_id ( enum AVCodecID  id,
const AVCodecprev,
int  encoder 
)
static

Definition at line 1230 of file cmdutils.c.

Referenced by print_codecs(), print_codecs_for_id(), show_codecs(), and show_help_codec().

static int compare_codec_desc ( const voida,
const voidb 
)
static

Definition at line 1241 of file cmdutils.c.

Referenced by get_codecs_sorted().

static unsigned get_codecs_sorted ( const AVCodecDescriptor ***  rcodecs )
static

Definition at line 1250 of file cmdutils.c.

Referenced by print_codecs(), and show_codecs().

static void print_codecs_for_id ( enum AVCodecID  id,
int  encoder 
)
static

Definition at line 1271 of file cmdutils.c.

Referenced by show_codecs().

int show_codecs ( voidoptctx,
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 1283 of file cmdutils.c.

static void print_codecs ( int  encoder )
static

Definition at line 1335 of file cmdutils.c.

Referenced by show_decoders(), and show_encoders().

int show_decoders ( voidoptctx,
const char *  opt,
const char *  arg 
)

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

Definition at line 1373 of file cmdutils.c.

int show_encoders ( voidoptctx,
const char *  opt,
const char *  arg 
)

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

Definition at line 1379 of file cmdutils.c.

int show_bsfs ( voidoptctx,
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 1385 of file cmdutils.c.

int show_protocols ( voidoptctx,
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 1396 of file cmdutils.c.

int show_filters ( voidoptctx,
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 1411 of file cmdutils.c.

int show_pix_fmts ( voidoptctx,
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 1443 of file cmdutils.c.

int show_layouts ( voidoptctx,
const char *  opt,
const char *  arg 
)

Print a listing containing all the standard channel layouts supported by the program.

This option processing function does not utilize the arguments.

Definition at line 1476 of file cmdutils.c.

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

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

Definition at line 1505 of file cmdutils.c.

static void show_help_codec ( const char *  name,
int  encoder 
)
static

Definition at line 1514 of file cmdutils.c.

Referenced by show_help().

static void show_help_demuxer ( const char *  name )
static

Definition at line 1549 of file cmdutils.c.

Referenced by show_help().

static void show_help_muxer ( const char *  name )
static

Definition at line 1567 of file cmdutils.c.

Referenced by show_help().

int show_help ( voidoptctx,
const char *  opt,
const char *  arg 
)

Generic -h handler common to all fftools.

Definition at line 1600 of file cmdutils.c.

int read_yesno ( void  )

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

Definition at line 1628 of file cmdutils.c.

Referenced by assert_file_overwrite().

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
filename file to read from
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 1639 of file cmdutils.c.

Referenced by transcode_init().

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

Referenced by ffserver_opt_preset(), and opt_preset().

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

Referenced by copy_metadata(), filter_codec_opts(), init_input_filter(), open_input_file(), open_output_file(), and opt_map().

AVDictionary* filter_codec_opts ( AVDictionaryopts,
enum AVCodecID  codec_id,
AVStreamst,
AVCodeccodec 
)

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.
Returns
a pointer to the created dictionary

Definition at line 1739 of file cmdutils.c.

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

AVDictionary** setup_find_stream_info_opts ( AVFormatContexts,
AVDictionarycodec_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 1795 of file cmdutils.c.

Referenced by open_input_file(), and read_thread().

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

Realloc array to hold new_size elements of elem_size.

Calls exit() on failure.

Parameters
array array to reallocate
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
reallocated array

Definition at line 1815 of file cmdutils.c.

Referenced by opt_streamid(), and write_option().

static int alloc_buffer ( FrameBuffer **  pool,
FrameBuffer **  pbuf 
)
static

Definition at line 1834 of file cmdutils.c.

Referenced by codec_get_buffer().

int codec_get_buffer ( AVCodecContexts,
AVFrameframe 
)

Get a frame from the pool.

This is intended to be used as a callback for AVCodecContext.get_buffer.

Parameters
s codec context. s->opaque must be a pointer to the head of the buffer pool.
frame frame->opaque will be set to point to the FrameBuffer containing the frame data.

Definition at line 1886 of file cmdutils.c.

Referenced by init_input_stream(), and video_thread().

static void unref_buffer ( FrameBufferbuf )
static

Definition at line 1925 of file cmdutils.c.

Referenced by codec_release_buffer(), and filter_release_buffer().

void codec_release_buffer ( AVCodecContexts,
AVFrameframe 
)

A callback to be used for AVCodecContext.release_buffer along with codec_get_buffer().

Definition at line 1941 of file cmdutils.c.

Referenced by init_input_stream(), and video_thread().

void filter_release_buffer ( AVFilterBufferfb )

A callback to be used for AVFilterBuffer.free.

Parameters
fb buffer to free. fb->priv must be a pointer to the FrameBuffer containing the buffer data.

Definition at line 1957 of file cmdutils.c.

Referenced by decode_video(), and video_thread().

void free_buffer_pool ( FrameBuffer **  pool )

Free all the buffers in the pool.

This must be called after all the buffers have been released.

Definition at line 1964 of file cmdutils.c.

Referenced by exit_program(), and stream_component_close().

Variable Documentation

struct SwsContext* sws_opts

Definition at line 64 of file cmdutils.c.

Referenced by finish_group(), and queue_picture().

AVDictionary* swr_opts

Definition at line 65 of file cmdutils.c.

Referenced by finish_group().

AVDictionary* format_opts

Definition at line 66 of file cmdutils.c.

Referenced by finish_group(), main(), open_input_file(), opt_default_new(), and read_thread().

AVDictionary * codec_opts

Definition at line 66 of file cmdutils.c.

Referenced by finish_group(), opt_default_new(), read_thread(), and stream_component_open().

AVDictionary * resample_opts

Definition at line 66 of file cmdutils.c.

Referenced by finish_group().

const int this_year = 2013

this year, defined by the program for show_banner()

Definition at line 68 of file cmdutils.c.

Referenced by ffprobe_show_program_version(), and print_program_info().

FILE* report_file
static

Definition at line 70 of file cmdutils.c.

Referenced by dump_argument(), init_report(), log_callback_report(), and parse_loglevel().

int warned_cfg = 0
static

Definition at line 952 of file cmdutils.c.


Generated on Sat May 25 2013 04:01:22 for FFmpeg by   doxygen 1.8.2

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