/* encoder - decoder cbr or cq ppinloop rebuild.yuv size.txt ssim.txt */ void run_codec_test(char argc, char** argv) { CX264Encoder e; set_default_cmd(); parse_cmd_enc( argc, argv); if(1==verfy_cmd()) { cmd_help(); } init_encoder( &e ); encoder( &e, &gCmd); }
int main(int argc, char **argv, char **envp) { tnfctl_errcode_t err = TNFCTL_ERR_NONE; int sys_err; tnfctl_trace_attrs_t trace_attrs; tnfctl_event_t event = TNFCTL_EVENT_EINTR; pid_t prex_pid; /* internationalization stuff */ (void) setlocale(LC_ALL, ""); #if !defined(TEXT_DOMAIN) /* Should be defined by cc -D */ #define TEXT_DOMAIN "SYS_TEST" /* Use this only if it weren't */ #endif (void) textdomain(TEXT_DOMAIN); g_argv = argv; prex_pid = getpid(); #if defined(DEBUG) fprintf(stderr, "### prex_pid = %d ###\n", prex_pid); #endif prex_dmodel = get_data_model(prex_pid); #if defined(DEBUG) fprintf(stderr, "### prex_dmodel = %d ###\n", prex_dmodel); #endif scanargs(argc, argv); if (g_kernelmode) { /* prexing the kernel */ err = tnfctl_kernel_open(&g_hndl); if (err) { err_fatal(gettext( "%s: trouble attaching to the kernel: %s\n"), argv[0], tnfctl_strerror(err)); } } else { /* prexing a user process */ if (g_targetpid != 0) { /* check data model */ check_pid_model(argv, envp); /* attach case */ err = tnfctl_pid_open(g_targetpid, &g_hndl); if (err == TNFCTL_ERR_NOLIBTNFPROBE) { err_fatal(gettext( "%s: missing symbols, is " "libtnfprobe.so loaded in target?\n"), argv[0], tnfctl_strerror(err)); } else if (err) { err_fatal(gettext( "%s: trouble attaching to target " "process: %s\n"), argv[0], tnfctl_strerror(err)); } } else { /* check elf class model */ check_exec_model(argv, envp); /* exec case */ err = tnfctl_exec_open(g_cmdname, g_cmdargs, NULL, g_preload, NULL, &g_hndl); if (err == TNFCTL_ERR_NONE) err = tnfctl_trace_attrs_get(g_hndl, &trace_attrs); if (err) { err_fatal(gettext( "%s: trouble creating target process: " "%s\n"), argv[0], tnfctl_strerror(err)); } g_targetpid = trace_attrs.targ_pid; } sys_err = set_signal(); if (sys_err) err_fatal(gettext( "%s: trouble setting up signal handler: %s\n"), argv[0], strerror(err)); } /* initialize the source stack for the parser */ source_init(); if (!g_kernelmode) { /* set the tracefile name and size */ err = set_tracefile(g_hndl); if (err) { (void) fprintf(stderr, gettext( "%s: trouble initializing tracefile: %s\n"), argv[0], tnfctl_strerror(err)); goto Cleanup; } err = check_trace_error(g_hndl); if (err) { (void) fprintf(stderr, gettext( "%s: cannot read tracing status : %s\n"), argv[0], tnfctl_strerror(err)); goto Cleanup; } } /* accept commands from stdin the first time through */ g_getcmds = B_TRUE; /* set up default aliases */ set_default_cmd(); /* set up creator/destructor function to call for new probes */ err = set_probe_discovery_callback(g_hndl); if (err) { (void) fprintf(stderr, gettext( "%s: error in probe discovery : %s\n"), argv[0], tnfctl_strerror(err)); goto Cleanup; } if (g_kernelmode) { prbk_warn_pfilter_empty(); } while (err == TNFCTL_ERR_NONE) { if (g_kernelmode || g_getcmds) { g_getcmds = B_FALSE; get_commands(); } if (!g_kernelmode && (g_getcmds == B_FALSE)) { err = tnfctl_continue(g_hndl, &event, NULL); if (err) { (void) fprintf(stderr, gettext( "%s: cannot continue target : %s\n"), argv[0], tnfctl_strerror(err)); goto Cleanup; } } err = check_trace_error(g_hndl); if (err) { (void) fprintf(stderr, gettext( "%s: cannot read tracing status : %s\n"), argv[0], tnfctl_strerror(err)); goto Cleanup; } if (!g_kernelmode) { if (event == TNFCTL_EVENT_EXEC) { (void) printf(gettext( "Target process exec'd\n")); quit(B_FALSE, B_TRUE); /* quit resume */ } else if (event == TNFCTL_EVENT_EXIT) { /* target exited */ (void) fprintf(stderr, gettext( "%s: target process exited\n"), g_argv[0]); goto Cleanup; } else if (event == TNFCTL_EVENT_TARGGONE) { /* target terminated */ (void) fprintf(stderr, gettext("%s: target process disappeared (without calling exit)\n"), g_argv[0]); goto Cleanup; } } } Cleanup: err = tnfctl_close(g_hndl, TNFCTL_TARG_DEFAULT); if (err) (void) fprintf(stderr, gettext( "%s: error on closing : %s\n"), argv[0], tnfctl_strerror(err)); exit(0); return (0); }