X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=cmdutils.h;h=c2734a1e313a3a2e64b1c4404508030b676d3aa4;hb=62d75662391733cb97edfe1ed000afe2360bc0f3;hp=585f9a127e6058d661bdc4e3becb49a0b0d1d046;hpb=a0b3bcd9fe8503c8e842972f7ea7f83770911b73;p=ffmpeg diff --git a/cmdutils.h b/cmdutils.h index 585f9a127e6..c2734a1e313 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -23,6 +23,37 @@ #define FFMPEG_CMDUTILS_H #include +#include "libavcodec/avcodec.h" +#include "libavformat/avformat.h" +#include "libswscale/swscale.h" + +/** + * program name, defined by the program for show_version(). + */ +extern const char program_name[]; + +/** + * program birth year, defined by the program for show_banner() + */ +extern const int program_birth_year; + +extern const int this_year; + +extern const char **opt_names; +extern AVCodecContext *avcodec_opts[CODEC_TYPE_NB]; +extern AVFormatContext *avformat_opts; +extern struct SwsContext *sws_opts; + +/** + * Fallback for options that are not explicitly handled, these will be + * parsed through AVOptions. + */ +int opt_default(const char *opt, const char *arg); + +/** + * Sets the libav* libraries log level. + */ +int opt_loglevel(const char *opt, const char *arg); /** * Parses a string and returns its corresponding value as a double. @@ -47,8 +78,8 @@ double parse_number_or_die(const char *context, const char *numstr, int type, do * @param context the context of the value to be set (e.g. the * corresponding commandline option name) * @param timestr the string to be parsed - * @param is_duration a flag which tells how to interpret \p timestr, if - * not zero \p timestr is interpreted as a duration, otherwise as a + * @param is_duration a flag which tells how to interpret timestr, if + * not zero timestr is interpreted as a duration, otherwise as a * date * * @see parse_date() @@ -96,24 +127,23 @@ void show_help_options(const OptionDef *options, const char *msg, int mask, int void parse_options(int argc, char **argv, const OptionDef *options, void (* parse_arg_function)(const char*)); +void set_context_opts(void *ctx, void *opts_ctx, int flags); + void print_error(const char *filename, int err); /** * 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. - * @param program_name name of the program - * @param program_birth_year year of birth of the program */ -void show_banner(const char *program_name, int program_birth_year); +void show_banner(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. - * @param program_name name of the program */ -void show_version(const char *program_name); +void show_version(void); /** * Prints the license of the program to stdout. The license depends on @@ -121,4 +151,40 @@ void show_version(const char *program_name); */ void show_license(void); +/** + * Prints a listing containing all the formats supported by the + * program. + */ +void show_formats(void); + +/** + * Prints a listing containing all the codecs supported by the + * program. + */ +void show_codecs(void); + +/** + * Prints a listing containing all the filters supported by the + * program. + */ +void show_filters(void); + +/** + * Prints a listing containing all the bit stream filters supported by the + * program. + */ +void show_bsfs(void); + +/** + * Prints a listing containing all the protocols supported by the + * program. + */ +void show_protocols(void); + +/** + * Returns a positive value if reads from standard input a line + * starting with [yY], otherwise returns 0. + */ +int read_yesno(void); + #endif /* FFMPEG_CMDUTILS_H */