avformat/mxfdec: Fix cleanup in mxf_free_metadataset()
[ffmpeg.git] / cmdutils.h
index 57a62b0..f6ad44c 100644 (file)
 
 #include <stdint.h>
 
+#include "config.h"
 #include "libavcodec/avcodec.h"
 #include "libavfilter/avfilter.h"
 #include "libavformat/avformat.h"
 #include "libswscale/swscale.h"
 
-#ifdef __MINGW32__
+#ifdef _WIN32
 #undef main /* We don't want SDL to override our main() */
 #endif
 
@@ -43,16 +44,22 @@ extern const char program_name[];
  */
 extern const int program_birth_year;
 
-/**
- * this year, defined by the program for show_banner()
- */
-extern const int this_year;
-
 extern AVCodecContext *avcodec_opts[AVMEDIA_TYPE_NB];
 extern AVFormatContext *avformat_opts;
 extern struct SwsContext *sws_opts;
 extern AVDictionary *swr_opts;
 extern AVDictionary *format_opts, *codec_opts, *resample_opts;
+extern int hide_banner;
+
+/**
+ * Register a program-specific cleanup routine.
+ */
+void register_exit(void (*cb)(int ret));
+
+/**
+ * Wraps exit with a program-specific cleanup routine.
+ */
+void exit_program(int ret) av_noreturn;
 
 /**
  * Initialize the cmdutils option system, in particular
@@ -71,6 +78,11 @@ void uninit_opts(void);
  */
 void log_callback_help(void* ptr, int level, const char* fmt, va_list vl);
 
+/**
+ * Override the cpuflags.
+ */
+int opt_cpuflags(void *optctx, const char *opt, const char *arg);
+
 /**
  * Fallback for options that are not explicitly handled, these will be
  * parsed through AVOptions.
@@ -86,12 +98,14 @@ 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_codec_debug(void *optctx, const char *opt, const char *arg);
 
+#if CONFIG_OPENCL
 int opt_opencl(void *optctx, const char *opt, const char *arg);
 
+int opt_opencl_bench(void *optctx, const char *opt, const char *arg);
+#endif
+
 /**
  * Limit the execution time.
  */
@@ -401,6 +415,13 @@ void show_banner(int argc, char **argv, const OptionDef *options);
  */
 int show_version(void *optctx, const char *opt, const char *arg);
 
+/**
+ * Print the build configuration of the program to stdout. The contents
+ * depend on the definition of FFMPEG_CONFIGURATION.
+ * This option processing function does not utilize the arguments.
+ */
+int show_buildconf(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.
@@ -410,11 +431,32 @@ int show_license(void *optctx, const char *opt, const char *arg);
 
 /**
  * Print a listing containing all the formats supported by the
- * program.
+ * program (including devices).
  * This option processing function does not utilize the arguments.
  */
 int show_formats(void *optctx, const char *opt, const char *arg);
 
+/**
+ * Print a listing containing all the devices supported by the
+ * program.
+ * This option processing function does not utilize the arguments.
+ */
+int show_devices(void *optctx, const char *opt, const char *arg);
+
+#if CONFIG_AVDEVICE
+/**
+ * Print a listing containing audodetected sinks of the output device.
+ * Device name with options may be passed as an argument to limit results.
+ */
+int show_sinks(void *optctx, const char *opt, const char *arg);
+
+/**
+ * Print a listing containing audodetected sources of the input device.
+ * Device name with options may be passed as an argument to limit results.
+ */
+int show_sources(void *optctx, const char *opt, const char *arg);
+#endif
+
 /**
  * Print a listing containing all the codecs supported by the
  * program.
@@ -475,6 +517,12 @@ int show_layouts(void *optctx, const char *opt, const char *arg);
  */
 int show_sample_fmts(void *optctx, const char *opt, const char *arg);
 
+/**
+ * Print a listing containing all the color names and values recognized
+ * by the program.
+ */
+int show_colors(void *optctx, const char *opt, const char *arg);
+
 /**
  * Return a positive value if a line read from standard input
  * starts with [yY], otherwise return 0.
@@ -488,7 +536,7 @@ int read_yesno(void);
  * @param filename file to read from
  * @param bufptr location where pointer to buffer is returned
  * @param size   location where size of buffer is returned
- * @return 0 in case of success, a negative value corresponding to an
+ * @return >= 0 in case of success, a negative value corresponding to an
  * AVERROR error code in case of failure.
  */
 int cmdutils_read_file(const char *filename, char **bufptr, size_t *size);
@@ -526,6 +574,8 @@ FILE *get_preset_file(char *filename, size_t filename_size,
  */
 void *grow_array(void *array, int elem_size, int *size, int new_size);
 
+#define media_type_string av_get_media_type_string
+
 #define GROW_ARRAY(array, nb_elems)\
     array = grow_array(array, sizeof(*array), &nb_elems, nb_elems + 1)