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/EbmlIDs.h
|
||||||
vpxenc.SRCS += libmkv/EbmlWriter.c
|
vpxenc.SRCS += libmkv/EbmlWriter.c
|
||||||
vpxenc.SRCS += libmkv/EbmlWriter.h
|
vpxenc.SRCS += libmkv/EbmlWriter.h
|
||||||
|
vpxenc.SRCS += experimental.c
|
||||||
vpxenc.GUID = 548DEC74-7A15-4B2B-AFC3-AA102E7C25C1
|
vpxenc.GUID = 548DEC74-7A15-4B2B-AFC3-AA102E7C25C1
|
||||||
vpxenc.DESCRIPTION = Full featured encoder
|
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 "y4minput.h"
|
||||||
#include "libmkv/EbmlWriter.h"
|
#include "libmkv/EbmlWriter.h"
|
||||||
#include "libmkv/EbmlIDs.h"
|
#include "libmkv/EbmlIDs.h"
|
||||||
|
#include "experimental.h"
|
||||||
|
|
||||||
/* Need special handling of these functions on Windows */
|
/* Need special handling of these functions on Windows */
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
@@ -1039,6 +1040,7 @@ static void usage_exit()
|
|||||||
#if CONFIG_VP8_ENCODER
|
#if CONFIG_VP8_ENCODER
|
||||||
fprintf(stderr, "\nVP8 Specific Options:\n");
|
fprintf(stderr, "\nVP8 Specific Options:\n");
|
||||||
arg_show_usage(stdout, vp8_args);
|
arg_show_usage(stdout, vp8_args);
|
||||||
|
xxx_show_usage(stdout);
|
||||||
#endif
|
#endif
|
||||||
fprintf(stderr, "\n"
|
fprintf(stderr, "\n"
|
||||||
"Included encoders:\n"
|
"Included encoders:\n"
|
||||||
@@ -1173,6 +1175,7 @@ int main(int argc, const char **argv_)
|
|||||||
out_fn = arg.val;
|
out_fn = arg.val;
|
||||||
else if (arg_match(&arg, &debugmode, argi))
|
else if (arg_match(&arg, &debugmode, argi))
|
||||||
ebml.debug = 1;
|
ebml.debug = 1;
|
||||||
|
else if (xxx_parse_arg(argi));
|
||||||
else
|
else
|
||||||
argj++;
|
argj++;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user