int main(void) { output_ctx ctx; ctx.out = y4m2_output_file(stdout); ctx.parms = NULL; y4m2_output *out = y4m2_output_next(callback, &ctx); y4m2_parse(stdin, out); y4m2_free_parms(ctx.parms); return 0; }
static y4m2_output *filter__hook(jd_var *stash, const char *name, y4m2_output *out) { (void)stash; jd_var *fp = jd_get_ks(&filters, name, 0); if (!fp) jd_throw("Unknown filter \"%s\"", name); filter *filt = filter__clone(jd_ptr(fp)); filt->ctx = NULL; filt->out = out; jd_set_object(jd_unshift(stash, 1), filt, filter__free_cb); return y4m2_output_next(filter__callback, filt); }
int main(int argc, char *argv[]) { output_ctx ctx; int argn; ctx.out = y4m2_output_file(stdout); ctx.parms = y4m2_new_parms(); for (argn = 1; argn < argc; argn++) { y4m2_parameters *p = y4m2_new_parms(); y4m2__parse_parms(p, argv[argn]); ctx.parms = y4m2_merge_parms(ctx.parms, p); y4m2_free_parms(p); } y4m2_output *out = y4m2_output_next(callback, &ctx); y4m2_parse(stdin, out); y4m2_free_parms(ctx.parms); return 0; }