1*77c1e3ccSAndroid Build Coastguard Worker /* 2*77c1e3ccSAndroid Build Coastguard Worker * Copyright (c) 2016, Alliance for Open Media. All rights reserved. 3*77c1e3ccSAndroid Build Coastguard Worker * 4*77c1e3ccSAndroid Build Coastguard Worker * This source code is subject to the terms of the BSD 2 Clause License and 5*77c1e3ccSAndroid Build Coastguard Worker * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License 6*77c1e3ccSAndroid Build Coastguard Worker * was not distributed with this source code in the LICENSE file, you can 7*77c1e3ccSAndroid Build Coastguard Worker * obtain it at www.aomedia.org/license/software. If the Alliance for Open 8*77c1e3ccSAndroid Build Coastguard Worker * Media Patent License 1.0 was not distributed with this source code in the 9*77c1e3ccSAndroid Build Coastguard Worker * PATENTS file, you can obtain it at www.aomedia.org/license/patent. 10*77c1e3ccSAndroid Build Coastguard Worker */ 11*77c1e3ccSAndroid Build Coastguard Worker 12*77c1e3ccSAndroid Build Coastguard Worker #ifndef AOM_COMMON_ARGS_H_ 13*77c1e3ccSAndroid Build Coastguard Worker #define AOM_COMMON_ARGS_H_ 14*77c1e3ccSAndroid Build Coastguard Worker #include <stdio.h> 15*77c1e3ccSAndroid Build Coastguard Worker 16*77c1e3ccSAndroid Build Coastguard Worker #include "aom/aom_codec.h" 17*77c1e3ccSAndroid Build Coastguard Worker #include "aom/aom_encoder.h" 18*77c1e3ccSAndroid Build Coastguard Worker #include "common/args_helper.h" 19*77c1e3ccSAndroid Build Coastguard Worker 20*77c1e3ccSAndroid Build Coastguard Worker #ifdef __cplusplus 21*77c1e3ccSAndroid Build Coastguard Worker extern "C" { 22*77c1e3ccSAndroid Build Coastguard Worker #endif 23*77c1e3ccSAndroid Build Coastguard Worker 24*77c1e3ccSAndroid Build Coastguard Worker int arg_match(struct arg *arg_, const struct arg_def *def, char **argv); 25*77c1e3ccSAndroid Build Coastguard Worker int parse_cfg(const char *file, cfg_options_t *config); 26*77c1e3ccSAndroid Build Coastguard Worker const char *arg_next(struct arg *arg); 27*77c1e3ccSAndroid Build Coastguard Worker void arg_show_usage(FILE *fp, const struct arg_def *const *defs); 28*77c1e3ccSAndroid Build Coastguard Worker char **argv_dup(int argc, const char **argv); 29*77c1e3ccSAndroid Build Coastguard Worker 30*77c1e3ccSAndroid Build Coastguard Worker unsigned int arg_parse_uint(const struct arg *arg); 31*77c1e3ccSAndroid Build Coastguard Worker int arg_parse_int(const struct arg *arg); 32*77c1e3ccSAndroid Build Coastguard Worker struct aom_rational arg_parse_rational(const struct arg *arg); 33*77c1e3ccSAndroid Build Coastguard Worker int arg_parse_enum(const struct arg *arg); 34*77c1e3ccSAndroid Build Coastguard Worker int arg_parse_enum_or_int(const struct arg *arg); 35*77c1e3ccSAndroid Build Coastguard Worker int arg_parse_list(const struct arg *arg, int *list, int n); 36*77c1e3ccSAndroid Build Coastguard Worker #ifdef __cplusplus 37*77c1e3ccSAndroid Build Coastguard Worker } // extern "C" 38*77c1e3ccSAndroid Build Coastguard Worker #endif 39*77c1e3ccSAndroid Build Coastguard Worker 40*77c1e3ccSAndroid Build Coastguard Worker #endif // AOM_COMMON_ARGS_H_ 41