h264转avi,编译通过源码 联系客服

发布时间 : 星期二 文章h264转avi,编译通过源码更新完毕开始阅读12128e4033687e21af45a960

#ifdef __weak_alias

__weak_alias(getopt_long,_getopt_long) #endif

char *__progname = \

#define IGNORE_FIRST (*options == '-' || *options == '+') #define PRINT_ERROR ((opterr) && ((*options != ':') \\ || (IGNORE_FIRST && options[1] != ':')))

#define IS_POSIXLY_CORRECT (getenv(\

#define PERMUTE (!IS_POSIXLY_CORRECT && !IGNORE_FIRST) /* XXX: GNU ignores PC if *options == '-' */

#define IN_ORDER (!IS_POSIXLY_CORRECT && *options == '-')

/* return values */

#define BADCH (int)'?' #define BADARG ((IGNORE_FIRST && options[1] == ':') \\ || (*options == ':') ? (int)':' : (int)'?') #define INORDER (int)1

static char EMSG[1];

static int getopt_internal (int, char * const *, const char *); static int gcd (int, int);

static void permute_args (int, int, int, char * const *);

static char *place = EMSG; /* option letter processing */

/* XXX: set optreset to 1 rather than these two */

static int nonopt_start = -1; /* first non option argument (for permute) */

static int nonopt_end = -1; /* first option after non options (for permute) */

/* Error messages */

static const char recargchar[] = \static const char recargstring[] = \static const char ambig[] = \

static const char noarg[] = \static const char illoptchar[] = \static const char illoptstring[] = \

static void

_vwarnx(const char *fmt, va_list ap)

{

(void)fprintf(stderr, \ if (fmt != NULL)

(void)vfprintf(stderr, fmt, ap); (void)fprintf(stderr, \}

static void

warnx(const char *fmt, ...) {

va_list ap;

va_start(ap, fmt); _vwarnx(fmt, ap); va_end(ap); } /*

* Compute the greatest common divisor of a and b. */

static int gcd(a, b) int a; int b; { int c; c = a % b; while (c != 0) { a = b; b = c; c = a % b; } return b; } /*

* Exchange the block from nonopt_start to nonopt_end with the block * from nonopt_end to opt_end (keeping the same order of arguments * in each block). */

static void

permute_args(panonopt_start, panonopt_end, opt_end, nargv) int panonopt_start;

int panonopt_end; int opt_end; char * const *nargv; { int cstart, cyclelen, i, j, ncycle, nnonopts, nopts, pos; char *swap; _DIAGASSERT(nargv != NULL); /* * compute lengths of blocks and number and size of cycles */ nnonopts = panonopt_end - panonopt_start; nopts = opt_end - panonopt_end; ncycle = gcd(nnonopts, nopts); cyclelen = (opt_end - panonopt_start) / ncycle; for (i = 0; i < ncycle; i++) { cstart = panonopt_end+i; pos = cstart; for (j = 0; j < cyclelen; j++) { if (pos >= panonopt_end) pos -= nnonopts; else pos += nopts; swap = nargv[pos]; /* LINTED const cast */ ((char **) nargv)[pos] = nargv[cstart]; /* LINTED const cast */ ((char **)nargv)[cstart] = swap; } } } /*

* getopt_internal --

* Parse argc/argv argument vector. Called by user level routines.

* Returns -2 if -- is found (can be long option or end of options marker). */

static int

getopt_internal(nargc, nargv, options) int nargc; char * const *nargv; const char *options;

{ char *oli; /* option letter list index */ int optchar; _DIAGASSERT(nargv != NULL); _DIAGASSERT(options != NULL); optarg = NULL; /* * XXX Some programs (like rsyncd) expect to be able to * XXX re-initialize optind to 0 and have getopt_long(3) * XXX properly function again. Work around this braindamage. */ if (optind == 0) optind = 1; if (optreset) nonopt_start = nonopt_end = -1; start: if (optreset || !*place) { /* update scanning pointer */ optreset = 0; if (optind >= nargc) { /* end of argument vector */ place = EMSG; if (nonopt_end != -1) { /* do permutation, if we have to */ permute_args(nonopt_start, nonopt_end, optind, nargv); optind -= nonopt_end - nonopt_start; } else if (nonopt_start != -1) { /* * If we skipped non-options, set optind * to the first of them. */ optind = nonopt_start; } nonopt_start = nonopt_end = -1; return -1; } if ((*(place = nargv[optind]) != '-') || (place[1] == '\\0')) { /* found non-option */ place = EMSG; if (IN_ORDER) {