Compare commits
1 Commits
sandbox/ji
...
sandbox/jk
Author | SHA1 | Date | |
---|---|---|---|
![]() |
dd39e386ee |
@@ -35,6 +35,7 @@ vpxenc.SRCS += vpx_ports/mem_ops_aligned.h
|
||||
vpxenc.SRCS += libmkv/EbmlIDs.h
|
||||
vpxenc.SRCS += libmkv/EbmlWriter.c
|
||||
vpxenc.SRCS += libmkv/EbmlWriter.h
|
||||
vpxenc.SRCS += experimental.c
|
||||
vpxenc.GUID = 548DEC74-7A15-4B2B-AFC3-AA102E7C25C1
|
||||
vpxenc.DESCRIPTION = Full featured encoder
|
||||
|
||||
|
29
experimental.c
Normal file
29
experimental.c
Normal file
@@ -0,0 +1,29 @@
|
||||
#define EXPERIMENTAL_C
|
||||
#include <stdio.h>
|
||||
|
||||
#include "args.h"
|
||||
|
||||
/* Get argument definitions */
|
||||
#include "experimental.h"
|
||||
|
||||
/* Build argument definition list */
|
||||
static const arg_def_t *xxx_def_list[] = {
|
||||
#include "experimental.h"
|
||||
NULL
|
||||
};
|
||||
|
||||
void xxx_show_usage(FILE *fp)
|
||||
{
|
||||
arg_show_usage(fp, xxx_def_list);
|
||||
}
|
||||
|
||||
int xxx_parse_arg(char **argi)
|
||||
{
|
||||
struct arg arg;
|
||||
|
||||
arg = arg_init(argi);
|
||||
if(0);
|
||||
#include "experimental.h"
|
||||
else return 0;
|
||||
return 1;
|
||||
}
|
56
experimental.h
Normal file
56
experimental.h
Normal file
@@ -0,0 +1,56 @@
|
||||
#if defined(EXPERIMENTAL_C)
|
||||
/* The experimental.c file includes this file multiple times to build up the
|
||||
* required state.
|
||||
*/
|
||||
#if !defined(XXX_ARG_DEF)
|
||||
#define XXX_ARG_DEF(sym, value) \
|
||||
static const arg_def_t xxx_arg_def_##sym = \
|
||||
ARG_DEF(NULL, #sym, 1, "Experimental");
|
||||
|
||||
#define XXX_DEFINE_INT(sym, value) \
|
||||
XXX_ARG_DEF(sym, value); int xxx_##sym = value;
|
||||
#define XXX_DEFINE_UINT(sym, value) \
|
||||
XXX_ARG_DEF(sym, value); unsigned int xxx_##sym = value;
|
||||
|
||||
#elif !defined(XXX_ARG_DEF_LIST)
|
||||
#define XXX_ARG_DEF_LIST(sym) &xxx_arg_def_##sym,
|
||||
|
||||
#undef XXX_DEFINE_INT
|
||||
#define XXX_DEFINE_INT(sym, value) XXX_ARG_DEF_LIST(sym)
|
||||
|
||||
#undef XXX_DEFINE_UINT
|
||||
#define XXX_DEFINE_UINT(sym, value) XXX_ARG_DEF_LIST(sym)
|
||||
|
||||
#elif !defined(XXX_ARG_MATCH)
|
||||
#define XXX_ARG_MATCH
|
||||
|
||||
#undef XXX_DEFINE_INT
|
||||
#define XXX_DEFINE_INT(sym, value)\
|
||||
else if (arg_match(&arg, &xxx_arg_def_##sym, argi)) \
|
||||
xxx_##sym = arg_parse_int(&arg);
|
||||
|
||||
#undef XXX_DEFINE_UINT
|
||||
#define XXX_DEFINE_UINT(sym, value)\
|
||||
else if (arg_match(&arg, &xxx_arg_def_##sym, argi)) \
|
||||
xxx_##sym = arg_parse_uint(&arg);
|
||||
|
||||
#endif
|
||||
#else
|
||||
/* All other files just get the extern references to these symbols. */
|
||||
|
||||
#define XXX_DEFINE_INT(sym, value) extern int xxx_##sym;
|
||||
#define XXX_DEFINE_UINT(sym, value) extern unsigned int xxx_##sym;
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
void xxx_show_usage(FILE *fp);
|
||||
int xxx_parse_arg(char **argi);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* BEGIN EXPERIMENTS BELOW
|
||||
*
|
||||
* XXX_DEFINE_INT(knob, 0)
|
||||
*/
|
||||
XXX_DEFINE_INT(foo, 0)
|
||||
XXX_DEFINE_INT(bar, 0)
|
3
vpxenc.c
3
vpxenc.c
@@ -39,6 +39,7 @@
|
||||
#include "y4minput.h"
|
||||
#include "libmkv/EbmlWriter.h"
|
||||
#include "libmkv/EbmlIDs.h"
|
||||
#include "experimental.h"
|
||||
|
||||
/* Need special handling of these functions on Windows */
|
||||
#if defined(_MSC_VER)
|
||||
@@ -1039,6 +1040,7 @@ static void usage_exit()
|
||||
#if CONFIG_VP8_ENCODER
|
||||
fprintf(stderr, "\nVP8 Specific Options:\n");
|
||||
arg_show_usage(stdout, vp8_args);
|
||||
xxx_show_usage(stdout);
|
||||
#endif
|
||||
fprintf(stderr, "\n"
|
||||
"Included encoders:\n"
|
||||
@@ -1173,6 +1175,7 @@ int main(int argc, const char **argv_)
|
||||
out_fn = arg.val;
|
||||
else if (arg_match(&arg, &debugmode, argi))
|
||||
ebml.debug = 1;
|
||||
else if (xxx_parse_arg(argi));
|
||||
else
|
||||
argj++;
|
||||
}
|
||||
|
Reference in New Issue
Block a user