X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=cmdutils.h;h=dd86235fa8171b67390d060230737ca19032cf69;hb=fce4450dec2f1287124a5c129281100f729f5771;hp=39125ce4ba9b499866d5b7569929158a6d3bb24d;hpb=a3ad68d36c0bff87c525035b3f745bb274b00d41;p=ffmpeg diff --git a/cmdutils.h b/cmdutils.h index 39125ce4ba9..dd86235fa81 100644 --- a/cmdutils.h +++ b/cmdutils.h @@ -65,17 +65,17 @@ void log_callback_help(void* ptr, int level, const char* fmt, va_list vl); * Fallback for options that are not explicitly handled, these will be * parsed through AVOptions. */ -int opt_default(const char *opt, const char *arg); +int opt_default(void *optctx, const char *opt, const char *arg); /** * Set the libav* libraries log level. */ -int opt_loglevel(const char *opt, const char *arg); +int opt_loglevel(void *optctx, const char *opt, const char *arg); /** * Limit the execution time. */ -int opt_timelimit(const char *opt, const char *arg); +int opt_timelimit(void *optctx, const char *opt, const char *arg); /** * Parse a string and return its corresponding value as a double. @@ -121,7 +121,7 @@ typedef struct SpecifierOpt { } u; } SpecifierOpt; -typedef struct { +typedef struct OptionDef { const char *name; int flags; #define HAS_ARG 0x0001 @@ -136,7 +136,8 @@ typedef struct { #define OPT_INT64 0x0400 #define OPT_EXIT 0x0800 #define OPT_DATA 0x1000 -#define OPT_FUNC2 0x2000 +#define OPT_PERFILE 0x2000 /* the option is per-file (currently avconv-only). + implied by OPT_OFFSET or OPT_SPEC */ #define OPT_OFFSET 0x4000 /* option is specified as an offset in a passed optctx */ #define OPT_SPEC 0x8000 /* option is to be stored in an array of SpecifierOpt. Implies OPT_OFFSET. Next element after the offset is @@ -145,8 +146,7 @@ typedef struct { #define OPT_DOUBLE 0x20000 union { void *dst_ptr; - int (*func_arg)(const char *, const char *); - int (*func2_arg)(void *, const char *, const char *); + int (*func_arg)(void *, const char *, const char *); size_t off; } u; const char *help; @@ -160,9 +160,10 @@ typedef struct { * @param msg title of this group. Only printed if at least one option matches. * @param req_flags print only options which have all those flags set. * @param rej_flags don't print options which have any of those flags set. + * @param alt_flags print only options that have at least one of those flags set */ void show_help_options(const OptionDef *options, const char *msg, int req_flags, - int rej_flags); + int rej_flags, int alt_flags); /** * Show help for all options with given flags in class and all its @@ -179,7 +180,7 @@ void show_help_default(const char *opt, const char *arg); /** * Generic -h handler common to all avtools. */ -int show_help(const char *opt, const char *arg); +int show_help(void *optctx, const char *opt, const char *arg); /** * Parse the command line arguments. @@ -276,67 +277,67 @@ void show_banner(void); * depends on the current versions of the repository and of the libav* * libraries. */ -int show_version(const char *opt, const char *arg); +int show_version(void *optctx, 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. */ -int show_license(const char *opt, const char *arg); +int show_license(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the formats supported by the * program. */ -int show_formats(const char *opt, const char *arg); +int show_formats(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the codecs supported by the * program. */ -int show_codecs(const char *opt, const char *arg); +int show_codecs(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the decoders supported by the * program. */ -int show_decoders(const char *opt, const char *arg); +int show_decoders(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the encoders supported by the * program. */ -int show_encoders(const char *opt, const char *arg); +int show_encoders(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the filters supported by the * program. */ -int show_filters(const char *opt, const char *arg); +int show_filters(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the bit stream filters supported by the * program. */ -int show_bsfs(const char *opt, const char *arg); +int show_bsfs(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the protocols supported by the * program. */ -int show_protocols(const char *opt, const char *arg); +int show_protocols(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the pixel formats supported by the * program. */ -int show_pix_fmts(const char *opt, const char *arg); +int show_pix_fmts(void *optctx, const char *opt, const char *arg); /** * Print a listing containing all the sample formats supported by the * program. */ -int show_sample_fmts(const char *opt, const char *arg); +int show_sample_fmts(void *optctx, const char *opt, const char *arg); /** * Return a positive value if a line read from standard input @@ -355,7 +356,7 @@ int read_yesno(void); */ int cmdutils_read_file(const char *filename, char **bufptr, size_t *size); -typedef struct { +typedef struct PtsCorrectionContext { int64_t num_faulty_pts; /// Number of incorrect PTS values so far int64_t num_faulty_dts; /// Number of incorrect DTS values so far int64_t last_pts; /// PTS of the last frame @@ -399,15 +400,9 @@ int64_t guess_correct_pts(PtsCorrectionContext *ctx, int64_t pts, int64_t dts); FILE *get_preset_file(char *filename, size_t filename_size, const char *preset_name, int is_path, const char *codec_name); -/** - * Do all the necessary cleanup and abort. - * This function is implemented in the avtools, not cmdutils. - */ -av_noreturn void exit_program(int ret); - /** * Realloc array to hold new_size elements of elem_size. - * Calls exit_program() on failure. + * Calls exit() on failure. * * @param elem_size size in bytes of each element * @param size new element count will be written here @@ -421,7 +416,7 @@ typedef struct FrameBuffer { int linesize[4]; int h, w; - enum PixelFormat pix_fmt; + enum AVPixelFormat pix_fmt; int refcount; struct FrameBuffer **pool; ///< head of the buffer pool