#include "libavdevice/avdevice.h"
#include "libswscale/swscale.h"
-#include "version.h"
#include "cmdutils.h"
#include <SDL.h>
#undef exit
const char program_name[] = "FFplay";
-static const int program_birth_year = 2003;
+const int program_birth_year = 2003;
//#define DEBUG_SYNC
frame_pix_fmt = avcodec_get_pix_fmt(arg);
}
-static void opt_sync(const char *arg)
+static int opt_sync(const char *opt, const char *arg)
{
if (!strcmp(arg, "audio"))
av_sync_type = AV_SYNC_AUDIO_MASTER;
else if (!strcmp(arg, "ext"))
av_sync_type = AV_SYNC_EXTERNAL_CLOCK;
else {
- show_help();
+ fprintf(stderr, "Unknown value for %s: %s\n", opt, arg);
exit(1);
}
+ return 0;
}
static int opt_seek(const char *opt, const char *arg)
static const OptionDef options[] = {
{ "h", OPT_EXIT, {(void*)show_help}, "show help" },
{ "version", OPT_EXIT, {(void*)show_version}, "show version" },
+ { "L", OPT_EXIT, {(void*)show_license}, "show license" },
+ { "formats", OPT_EXIT, {(void*)show_formats}, "show available formats, codecs, protocols, ..." },
{ "x", HAS_ARG | OPT_FUNC2, {(void*)opt_width}, "force displayed width", "width" },
{ "y", HAS_ARG | OPT_FUNC2, {(void*)opt_height}, "force displayed height", "height" },
{ "s", HAS_ARG | OPT_VIDEO, {(void*)opt_frame_size}, "set frame size (WxH or abbreviation)", "size" },
{ "idct", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&idct}, "set idct algo", "algo" },
{ "er", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&error_resilience}, "set error detection threshold (0-4)", "threshold" },
{ "ec", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&error_concealment}, "set error concealment options", "bit_mask" },
- { "sync", HAS_ARG | OPT_EXPERT, {(void*)opt_sync}, "set audio-video sync. type (type=audio/video/ext)", "type" },
+ { "sync", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_sync}, "set audio-video sync. type (type=audio/video/ext)", "type" },
{ "threads", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_thread_count}, "thread count", "count" },
{ NULL, },
};
avdevice_register_all();
av_register_all();
- show_banner(program_name, program_birth_year);
+ show_banner();
parse_options(argc, argv, options, opt_input_file);