From d58dd4b5b5d31cfd4092e38a5f2c894eee2ab078 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Fri, 31 Aug 2012 12:52:18 +0300 Subject: avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Martin Storsjö --- libavutil/cpu.c | 2 +- libavutil/opt.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'libavutil') diff --git a/libavutil/cpu.c b/libavutil/cpu.c index 57b8c71..8db69be 100644 --- a/libavutil/cpu.c +++ b/libavutil/cpu.c @@ -62,7 +62,7 @@ int av_parse_cpu_flags(const char *s) #define CPUFLAG_XOP (AV_CPU_FLAG_XOP | CPUFLAG_AVX) #define CPUFLAG_FMA4 (AV_CPU_FLAG_FMA4 | CPUFLAG_AVX) static const AVOption cpuflags_opts[] = { - { "flags" , NULL, 0, AV_OPT_TYPE_FLAGS, { 0 }, INT64_MIN, INT64_MAX, .unit = "flags" }, + { "flags" , NULL, 0, AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT64_MIN, INT64_MAX, .unit = "flags" }, #if ARCH_PPC { "altivec" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ALTIVEC }, .unit = "flags" }, #elif ARCH_X86 diff --git a/libavutil/opt.c b/libavutil/opt.c index 822e72b..5deb5c5 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -161,7 +161,8 @@ static int set_string(void *obj, const AVOption *o, const char *val, uint8_t **d } #define DEFAULT_NUMVAL(opt) ((opt->type == AV_OPT_TYPE_INT64 || \ - opt->type == AV_OPT_TYPE_CONST) ? \ + opt->type == AV_OPT_TYPE_CONST || \ + opt->type == AV_OPT_TYPE_FLAGS) ? \ opt->default_val.i64 : opt->default_val.dbl) static int set_string_number(void *obj, const AVOption *o, const char *val, void *dst) @@ -648,13 +649,13 @@ void av_opt_set_defaults2(void *s, int mask, int flags) case AV_OPT_TYPE_CONST: /* Nothing to be done here */ break; - case AV_OPT_TYPE_FLAGS: case AV_OPT_TYPE_INT: { int val; val = opt->default_val.dbl; av_opt_set_int(s, opt->name, val, 0); } break; + case AV_OPT_TYPE_FLAGS: case AV_OPT_TYPE_INT64: av_opt_set_int(s, opt->name, opt->default_val.i64, 0); break; @@ -858,7 +859,7 @@ static const AVOption test_options[]= { {"toggle", "set toggle", OFFSET(toggle), AV_OPT_TYPE_INT, {0}, 0, 1 }, {"rational", "set rational", OFFSET(rational), AV_OPT_TYPE_RATIONAL, {0}, 0, 10 }, {"string", "set string", OFFSET(string), AV_OPT_TYPE_STRING, {0}, CHAR_MIN, CHAR_MAX }, -{"flags", "set flags", OFFSET(flags), AV_OPT_TYPE_FLAGS, {0}, 0, INT_MAX, 0, "flags" }, +{"flags", "set flags", OFFSET(flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, 0, INT_MAX, 0, "flags" }, {"cool", "set cool flag ", 0, AV_OPT_TYPE_CONST, {.i64 = TEST_FLAG_COOL}, INT_MIN, INT_MAX, 0, "flags" }, {"lame", "set lame flag ", 0, AV_OPT_TYPE_CONST, {.i64 = TEST_FLAG_LAME}, INT_MIN, INT_MAX, 0, "flags" }, {"mu", "set mu flag ", 0, AV_OPT_TYPE_CONST, {.i64 = TEST_FLAG_MU}, INT_MIN, INT_MAX, 0, "flags" }, -- cgit v1.1