extern struct SwsContext *sws_opts;
extern AVDictionary *format_opts, *codec_opts, *resample_opts;
+/**
+ * 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
* allocate the *_opts contexts.
*/
void log_callback_help(void* ptr, int level, const char* fmt, va_list vl);
+/**
+ * Override the cpuflags mask.
+ */
+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.
an int containing element count in the array. */
#define OPT_TIME 0x10000
#define OPT_DOUBLE 0x20000
+#define OPT_INPUT 0x40000
+#define OPT_OUTPUT 0x80000
union {
void *dst_ptr;
int (*func_arg)(void *, const char *, const char *);
* are terminated by a non-option argument (e.g. avconv output files)
*/
const char *sep;
+ /**
+ * Option flags that must be set on each option that is
+ * applied to this group
+ */
+ int flags;
} OptionGroupDef;
typedef struct OptionGroup {
*/
int read_yesno(void);
-/**
- * Read the file with name filename, and put its content in a newly
- * allocated 0-terminated buffer.
- *
- * @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
- * AVERROR error code in case of failure.
- */
-int cmdutils_read_file(const char *filename, char **bufptr, size_t *size);
-
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
*/
void *grow_array(void *array, int elem_size, int *size, int new_size);
+/**
+ * Get a string describing a media type.
+ */
+const char *media_type_string(enum AVMediaType media_type);
+
#define GROW_ARRAY(array, nb_elems)\
array = grow_array(array, sizeof(*array), &nb_elems, nb_elems + 1)