int main() { char **value; int valnum; int i; void *cfgdata; cfgdata = init_conf(); if(load_conf(cfgdata,"../../etc/dp.conf") < 0) { printf("load configuration file failure.\n"); return -1; } const char *weekday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; printf("[test] int: %d\n",getconfint(cfgdata,"test","int",0,1,2,6)); printf("[test] float: %.2f\n",getconfloat(cfgdata,"test","float",0,1.0,1.0,999.99)); printf("[test] string: %s\n",getconfstring(cfgdata,"test","string",0,"not fount",weekday,NULL,7,NULL)); printf("[test] multi-value: \n"); getconfmulti(cfgdata,"test","multi",0,"not found"," ",&value,&valnum); for(i=0;i<valnum;i++) printf("%s ",value[i]); printf("\n"); free_conf(cfgdata); }
/*--------------------------------------------------------------------*/ int main(int argc, char **argv) { /*--------------------------------------------------------------------*/ double cpu1; MPI_Init(&argc,&argv); /* Initialize the MPI environment */ MPI_Comm_rank(MPI_COMM_WORLD, &sid); /* My processor ID */ /* Vector index of this processor */ vid[0] = sid/(vproc[1]*vproc[2]); vid[1] = (sid/vproc[2])%vproc[1]; vid[2] = sid%vproc[2]; init_params(); set_topology(); init_conf(); atom_copy(); compute_accel(); /* Computes initial accelerations */ cpu1 = MPI_Wtime(); for (stepCount=1; stepCount<=StepLimit; stepCount++) { single_step(); if (stepCount%StepAvg == 0) eval_props(); } cpu = MPI_Wtime() - cpu1; if (sid == 0) printf("CPU & COMT = %le %le\n",cpu,comt); MPI_Finalize(); /* Clean up the MPI environment */ }
//part2 int send_data(char *send_buf, int send_len) { int n = 0; if (init_conf() < 0) return -1; int s_socket = init_sock(sc.s_ip, sc.s_port); if (s_socket < 0) { printf("connect socket failed\n"); return -1; } n = send(s_socket, send_buf, send_len, 0); printf("send len is:%d\n", n); if (n < 0) { printf("send failed\n"); return -1; } close(s_socket); return 1; }
/** Init WMFS */ void init(void) { /* Init lists heads */ SLIST_INIT(&bwhead); SLIST_INIT(&clients); SLIST_INIT(&trayicons); /* First init */ ewmh_init_hints(); init_conf(); init_gc(); init_font(); init_cursor(); init_key(); init_root(); screen_init_geo(); event_make_array(); infobar_init(); systray_acquire(); ewmh_update_current_tag_prop(); grabkeys(); return; }
void init_v7() { struct v7_create_opts opts = {0, 0, 0}; v7 = v7_create_opt(opts); sj_init_v7_ext(v7); init_conf(v7); }
int main(){ init_conf(&srv); perror("init server ok"); init_log(&srv); log_debug(LOG_LEVEL_DEBUG,"%s","test log\n"); fini_log(); }
int main(int ac, char **av) { t_rtv1 *rt; rt = malloc(sizeof(t_rtv1)); rt_initialisation(rt); init_conf(rt, ac, av); start_rt(rt); return (0); }
int main(int argc, char **argv) { struct pollfd fds[POLL_MAX]; int sockfd, clifd, polled=0, i; struct serv_conf conf; struct mime * mime_tbl; struct cgi * cgi_tbl; struct addrinfo *info; struct sockaddr_storage cli_addr; socklen_t addr_size; init_conf(&conf); init_info(conf.port, &info); mime_tbl = init_mime_table(); cgi_tbl = init_cgi_table(); sockfd = init_sock(info); if(sockfd==-1) return -1; memset(fds, 0, sizeof(struct pollfd)*POLL_MAX); for(i=0;i<POLL_MAX;i++) fds[i].fd = -1; fds[0].fd = sockfd; fds[0].events = POLLRDNORM; while(1) { polled = poll(fds, POLL_MAX, -1); if(polled==-1) { fprintf(stderr, "poll() error\n"); continue; } if(fds[0].revents & POLLRDNORM) { /* Handle new connection */ clifd = accept(sockfd, (struct sockaddr *) &cli_addr, &addr_size); for(i=1;i<POLL_MAX;i++) { if(fds[i].fd==-1) { fds[i].fd = clifd; fds[i].events = POLLRDNORM; break; } } } for(i=1;i<POLL_MAX;i++) { if(fds[i].fd!=-1&&(fds[i].revents & POLLRDNORM)) { handle_request(mime_tbl, cgi_tbl, conf.pub_dir, fds[i].fd); close(fds[i].fd); fds[i].fd = -1; --polled; } if(polled==0) break; } } return 0; }
void load_config_from_local(Configuration &config) { map<string,string> conf_map; if(!ReadConfig(CONFIG_FILE,conf_map)) { puts("[error 01] load config from local file failed."); exit(-1); } init_conf(conf_map,config); PrintConfig(conf_map); }
int _readconf(struct drcom_conf *conf, struct drcom_info *info, struct drcom_host *host) { FILE *dotconf; char buf[__OPTLEN], *s; struct _opt_checklist opts; int lineno = 0, r = 0; memset(&opts, 0, sizeof(opts)); init_conf(conf); dotconf = fopen(DRCOM_CONF, "r"); if (!dotconf) return -1; while (1) { s = fgets(buf, __OPTLEN, dotconf); if (s == NULL) break; r = __parseopt(conf, buf, &opts); ++lineno; if (r < 0 || r > 1) { fprintf(stderr, "Error processing config file at line %d.\n", lineno); break; } } /* Even if there was an error, we should close the file first */ fclose(dotconf); if (r < 0 || r > 1) return -1; r = __fillopts(conf, info, host, &opts); if (r) {fprintf(stderr, "fillopts failed\n");goto out;} r = add_except(conf, conf->dnsp, 0xffffffff); if (r) goto out; r = add_except(conf, conf->dnss, 0xffffffff); out: if (r) { fprintf(stderr, "Error digesting configuration!\n"); return -1; } return 0; }
int main() { char rom_path[PATH_MAX]; printf("\nRealBoy %s\n", "0.2.2"); sceCtrlSetSamplingMode(SCE_CTRL_MODE_ANALOG); vita2d_init(); vita2d_set_clear_color(RGBA8(0x40, 0x40, 0x40, 0xFF)); while (1) { strcpy(current_dir, "ux0:"); int ret = file_choose( current_dir, rom_path, "Choose a GB/GB Color/Super GB ROM:", supported_ext ); if (ret == -1) break; if ( (rom_file = fopen(rom_path, "r")) == NULL) { printf("\nError opening %s\n", rom_path); continue; } file_path = strndup(rom_path, 256); if (rom_file != NULL) { init_conf(); int ret_val; // value returned from emulation /* Start Virtual Machine */ ret_val = start_vm(); /* Error returned if file not valid */ if (ret_val == -1) { printf("File %s not a gb binary\n\n", rom_path); } } free(file_path); } vita2d_fini(); sceKernelExitProcess(0); return 0; }
FILE *init_parser(t_conf *conf, yaml_parser_t *parser, char *filename) { FILE *fd; fd = fopen(filename, "r"); init_conf(conf); if (!yaml_parser_initialize(parser)) fputs("Failed to initialize parser!\n", stderr); if (fd == NULL) fputs("Failed to open file!\n", stderr); yaml_parser_set_input_file(parser, fd); return (fd); }
int main(int argc, char **argv) { FILE * conf; conf = fopen(CONFIG, "r"); irc_t irc; irc_set_output(&irc, OUTPUT); irc.chanlist = NULL; init_conf(&irc, conf); while ( irc_handle_data(&irc) >= 0 ); irc_close(&irc); fclose(conf); return 0; }
static int gra2cairo_init(struct objlist *obj, N_VALUE *inst, N_VALUE *rval, int argc, char **argv) { struct gra2cairo_local *local = NULL; int antialias = ANTIALIAS_TYPE_DEFAULT; if (_exeparent(obj, (char *)argv[1], inst, rval, argc, argv)) return 1; if (Gra2cairoConf == NULL && init_conf()) { goto errexit; } local = g_malloc(sizeof(struct gra2cairo_local)); if (local == NULL) goto errexit; if (_putobj(obj, "_local", inst, local)) goto errexit; if (_putobj(obj, "antialias", inst, &antialias)) goto errexit; local->cairo = NULL; local->fontalias = NULL; local->layout = NULL; local->pixel_dot_x = 1; local->pixel_dot_y = 1; local->linetonum = 0; local->text2path = FALSE; local->antialias = antialias; local->region = NULL; local->font_style = GRA_FONT_STYLE_NORMAL; local->symbol = FALSE; local->use_opacity = FALSE; Instance++; return 0; errexit: if (Instance == 0) free_conf(); g_free(local); return 1; }
int main ( int argc, char * argv [] ) { struct gfs_super *super; struct conf conf; int super_len, i; prase_cmdLine(&conf, argv, argc); init_conf(&conf); super_len = init_super(&conf, &super); write_inode(&conf, 0, super, super_len, S_IFREG | 0777); write_inode(&conf, 1, NULL, 0, S_IFDIR | 0777); for( i = 0;i < conf.nblocks; i++) write_inode(&conf, i+2, NULL, 0, 0); printf("Created fs in file %s.\n%ld blocks with bs %d.\nTotal size %ld bytes.\n", conf.fname, conf.nblocks, conf.block_size, conf.nblocks*conf.block_size); return 0; }
void startup() { totalbytes = 0; printf("Acidblood %s\n", VERSION); init_conf() ; init_signals() ; init_networking() ; conf_userdata=NULL ; conf_channels=NULL ; init_usercommands() ; init_ctcp() ; init_srvcommands() ; init_log(); init_serverinfo() ; init_numeric() ; init_timers() ; init_events() ; read_main_config() ; init_modules() ; }
/** Init MWM */ void init(void) { /* First init */ ewmh_init_hints(); init_conf(); init_gc(); init_font(); init_cursor(); init_key(); init_root(); screen_init_geo(); infobar_init(); systray_acquire(); init_status(); ewmh_update_current_tag_prop(); grabkeys(); return; }
int init() { int ret = OB_SUCCESS; ObBlockCacheConf conf; init_conf(conf); EXPECT_EQ(OB_SUCCESS, ret); ret = old_block_cache_.init(conf); EXPECT_EQ(OB_SUCCESS, ret); ret = new_block_cache_.init(conf); EXPECT_EQ(OB_SUCCESS, ret); ObBlockIndexCacheConf bic_conf = {16 * 1024 * 1024}; ret = old_index_cache_.init(bic_conf); EXPECT_EQ(OB_SUCCESS, ret); ret = new_index_cache_.init(bic_conf); EXPECT_EQ(OB_SUCCESS, ret); return ret; }
/** * Main */ int main(int argc, char *argv[]){ Conf conf; if(argc == 1){ conf.command = log; } else{ int num_arg = argc; if(strcmp(argv[1],"log") == 0){ conf.command = log; num_arg++; } else if((strcmp(argv[1],"date") == 0) || (strcmp(argv[1],"t") == 0)){ conf.command = date; } else if((strcmp(argv[1],"dir") == 0) || (strcmp(argv[1],"d") == 0)){ conf.command = dir; } else if((strcmp(argv[1],"body") == 0) || (strcmp(argv[1],"b") == 0)){ conf.command = body; } else if(strcmp(argv[1],"help") == 0){ conf.command = help; num_arg++; } else { conf.command = oneliner; num_arg++; } if(num_arg == 2){ error(1, 0, "No regular expression given!"); } } if(conf.command == help){ puts(usage); return 0; } if(init_conf(&conf)){ clean_conf(conf.files); error(0, 0, "in setting configuration files!"); } if(conf.command == log){ log_entry(&conf); } if(conf.command == oneliner){ log_oneline(argc, argv, &conf); } if((conf.command == date) || (conf.command == body) || (conf.command == dir)){ if(argc < 3){ error(0, 0, "No regular expression given"); } if(argc > 3){ fprintf(stderr, "Too many regular expressions. " "Will only consider first\n"); } conf.regex.myregex = argv[2]; if(search(&conf)){ clean_conf(conf.files); error(1, 0, "Couldn't search"); } } clean_conf(conf.files); return 0; }
int main(int argc, char *argv[]){ long k,q; long i,j,t; /* 追加しました */ unsigned int iseed; //long imax; long mcs; long logcount,logstep, ocount, ocount_all; double delta2[NOMCS+1], delta2z[NOMCS+1], zsl[NOMCS+1]; double delta2av, delta2zav, zslav; double energy[NOMCS+1], energy_s[NOMCS+1]; double energy2[NOMCS+1], energy_s2[NOMCS+1]; double mag_av[NOMCS+1]; double mag_av2[NOMCS+1]; double energy_av, energy2_av, energy_s_av, energy_s2_av; double mag_av_av, mag_av2_av; double G2x_tmp[SL+1], G2y_tmp[SL+1], G2z_tmp[SL+1]; double G2x_all[SL+1], G2y_all[SL+1], G2z_all[SL+1]; double magz_tmp[Mz+1],mag2z_tmp[Mz+1]; double magz_all[Mz+1],mag2z_all[Mz+1]; double d_poly_tmp[Mz+1]; double d_poly_all[Mz+1]; double AC_a_all[M/2+1][SL+1],AC_b_all[M/2+1][SL+1],AC_p_all[M/2+1][SL+1]; double d_a_all[SL+1],d_b_all[SL+1],d_p_all[SL+1]; double c[SL+1],s_zav[Mz+1]; FILE *fp0; FILE *fp1; FILE *fp2; FILE *fp3; FILE *fp4; FILE *fp5; FILE *fp6; FILE *fp7; FILE *fp8; FILE *fp9; FILE *fp10; FILE *fp11; iseed=ISEED; rinit(iseed); transition_prob(K,J,h,T); /* initial distribution */ //もしargumentが特定の値ならばinit_conf()をread_rnd()とread_spin()に置き換える init_conf(M,Mz,SN,SL,s,x,y,z,xdummy,ydummy); logcount=TMCS; logstep=TMCS; //初期配置に置き、カウンターをTMCS分だけ進める for(mcs=1;mcs<TMCSMAX+1;mcs++){ //Thermatizationに達するまで繰り返す update(K,J,SL,SN,M,Mz,s,imsk,x,y,z,xdummy,ydummy); if (nonsolFlag==!1) { update_sol(K,J,h,M,Mz,s); } if(mcs==logcount){ delta2_calc(SL,SN,x,y,z); energy_calc(K,J,h,SL,SN,M,Mz,s,x,y,z); magnetization_calc(M,Mz,s); printf("%ld %d %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f\n", mcs, SL, DELTA2, DELTA2z, zSL, E, E2, Es, Es2, mag, mag2); fflush(stdout); logcount+=logstep; }; }; /* update observation */ logcount=OMCS; logstep=OMCS; for(k=1; k<NOMCS+1; k++){//配列の初期化 delta2[k]=0; energy[k]=0; energy2[k]=0; energy_s[k]=0; energy_s2[k]=0; mag_av[k]=0; mag_av2[k]=0; c[k]=0; s_zav[k]=0; } for(k=0;k<SL+1;k++){//配列の初期化 G2x_tmp[k]=0; G2x_all[k]=0; G2y_tmp[k]=0; G2y_all[k]=0; G2z_tmp[k]=0; G2z_all[k]=0; } ocount=0; ocount_all=0; for(k=1;k<Mz+1;k++){//配列の初期化 magz_tmp[k]=0; magz_all[k]=0; mag2z_tmp[k]=0; mag2z_all[k]=0; d_poly_tmp[k]=0; d_poly_all[k]=0; } for (i=1; i<=M/2; i++) { for (j=1; j<=SL; j++) { AC_a_all[i][j]=0; AC_b_all[i][j]=0; AC_p_all[i][j]=0; } } for (i=1; i<=SL; i++) { d_a_all[i]=0; d_b_all[i]=0; d_p_all[i]=0; } for(mcs=1;mcs<OMCSMAX+1;mcs++){ update(K,J,SL,SN,M,Mz,s,imsk,x,y,z,xdummy,ydummy); if (nonsolFlag==!1) { update_sol(K,J,h,M,Mz,s); } if(mcs==logcount){ ocount++; delta2_calc(SL,SN,x,y,z); energy_calc(K,J,h,SL,SN,M,Mz,s,x,y,z); magnetization_calc(M,Mz,s); G2_calc(SL,SN,G2x,G2y,G2z,x,y,z); magz_calc(M,Mz,s,magz); mag2z_calc(M, Mz, s, mag2z); d_poly_calc(M,Mz,s,d_poly); d_a_calc(SL,M,Mz,s,d_a); d_p_calc(SL,M,Mz,s,d_p); if (escapeACFlag==!1) { ac_a_calc(SL,M,Mz,s,AC_a); } delta2[ocount]=DELTA2; delta2z[ocount]=DELTA2z; zsl[ocount]=zSL; energy[ocount]=E; energy2[ocount]=E2; energy_s[ocount]=Es; energy_s2[ocount]=Es2; mag_av[ocount]=mag; mag_av2[ocount]=mag2; for(k=1;k<SL+1;k++){ G2x_tmp[k]+=G2x[k]; G2y_tmp[k]+=G2y[k]; G2z_tmp[k]+=G2z[k]; } for(k=1;k<Mz+1;k++){ magz_tmp[k]+=magz[k]; mag2z_tmp[k]+=mag2z[k]; d_poly_tmp[k]+=d_poly[k]; } for (i=1; i<=M/2; i++) { for (j=1; j<=SL; j++) { AC_a_all[i][j]+=AC_a[i][j]; } } for (i=1; i<=SL; i++) { d_a_all[i]+=d_a[i]; } if(ocount==NOMCS){ ocount_all++; delta2av=0; delta2zav=0; zslav=0; energy_av=0; energy2_av=0; energy_s_av=0; energy_s2_av=0; mag_av_av=0; mag_av2_av=0; for(k=1;k<NOMCS+1;k++){ delta2av+=delta2[k]; delta2zav+=delta2z[k]; zslav+=zsl[k]; energy_av+=energy[k]; energy2_av+=energy2[k]; energy_s_av+=energy_s[k]; energy_s2_av+=energy_s2[k]; mag_av_av+=mag_av[k]; mag_av2_av+=mag_av2[k]; }; delta2av/=NOMCS; delta2zav/=NOMCS; zslav/=NOMCS; energy_av/=NOMCS; energy2_av/=NOMCS; energy_s_av/=NOMCS; energy_s2_av/=NOMCS; mag_av_av/=NOMCS; mag_av2_av/=NOMCS; for(k=1;k<SL+1;k++){ G2x_tmp[k]/=NOMCS; G2x_all[k]+=G2x_tmp[k]; G2y_tmp[k]/=NOMCS; G2y_all[k]+=G2y_tmp[k]; G2z_tmp[k]/=NOMCS; G2z_all[k]+=G2z_tmp[k]; } for(k=0;k<SL+1;k++){ G2x_tmp[k]=0; G2y_tmp[k]=0; G2z_tmp[k]=0; } for(k=1;k<Mz+1;k++){ magz_tmp[k]/=NOMCS; magz_all[k]+=magz_tmp[k]; mag2z_tmp[k]/=NOMCS; mag2z_all[k]+=mag2z_tmp[k]; d_poly_tmp[k]/=NOMCS; d_poly_all[k]+=d_poly_tmp[k]; } for(k=1;k<Mz+1;k++){ //temporaryな配列の初期化 magz_tmp[k]=0; mag2z_tmp[k]=0; d_poly_tmp[k]=0; } ocount=0; printf("%ld %d %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f %15.12f\n",mcs,SL, delta2av, delta2zav,zslav,energy_av,energy2_av,energy_s_av,energy_s2_av,mag_av_av,mag_av2_av); fflush(stdout); } logcount+=logstep; } } //ファイルへの出力 fname(K,J,M,ISEED); fp0=fopen(file[0],"w"); for(k=1;k<SL+1;k++){ G2x_all[k]/=ocount_all; G2y_all[k]/=ocount_all; G2z_all[k]/=ocount_all; } for(k=1;k<SL+1;k++){ fprintf(fp0,"%ld\t %15.15f %15.12f %15.12f\n",k,G2x_all[k], G2y_all[k], G2z_all[k]); } fclose(fp0); fp1=fopen(file[1],"w"); for(k=1;k<Mz+1;k++){ magz_all[k]/=ocount_all; } for(k=1;k<Mz+1;k++){ fprintf(fp1,"%ld\t %15.15f\n",k,magz_all[k]); } fclose(fp1); fp2=fopen(file[2],"w"); for(j=1;j<SN+1;j++){ for(t=1;t<SL+1;t++){ fprintf(fp2,"%ld %ld %d %d %d\n",j,t,x[j][t],y[j][t],z[j][t]); } } fclose(fp2); fp3=fopen(file[3],"w"); for(j=1;j<SN+1;j++){ for(t=1;t<SL+1;t++){ fprintf(fp3,"%ld %ld %d %d %d\n",j,t,xdummy[j][t],ydummy[j][t],z[j][t]); } } fclose(fp3); fp4=fopen(file[4],"w"); for(k=1;k<Mz+1;k++){ d_poly_all[k]/=ocount_all; } for(k=1;k<Mz+1;k++){ fprintf(fp4,"%ld\t %15.15f\n",k,d_poly_all[k]); } fclose(fp4); fp5=fopen(file[5],"w"); for (i=1; i<=M; i++) { for (j=1; j<=M; j++) { for (k=1; k<=Mz; k++) { s_zav[k]+=s[i][j][k]; } } } for (k=1;k<=Mz; k++) { s_zav[k]/=(M*M); } for (q=1; q<=SL; q++) { for (k=1; k<=SL; k++) { c[q]+=s_zav[k]*s_zav[k+q]; } c[q]=c[q]/SL; } for (k=1; k<=SL; k++) { fprintf(fp5,"%ld %f\n",k,c[k]); } fclose(fp5); fp6=fopen(file[6], "w"); fprintf(fp6, "0\t%ld\n",IFORM1); fprintf(fp6, "0\t%ld\n",IFORM2); for (i=1; i<=251; i++) { fprintf(fp6,"%li\t%ld\n",i,IRND[i]); } fclose(fp6); fp7=fopen(file[7], "w"); for (i=1; i<=M; i++) { for (j=1; j<=M; j++) { for (k=1; k<=Mz; k++) { fprintf(fp7, "%ld\t%ld\t%ld\t%d\n",i,j,k,s[i][j][k]); } } } fclose(fp7); fp8=fopen(file[8],"w"); for (i=1; i<=M/2; i++) { for (j=1; j<=SL; j++) { AC_a_all[i][j]/=NOMCS; fprintf(fp8, "%ld\t%ld\t%f\n",i,j,AC_a_all[i][j]); } } fclose(fp8); fp9=fopen(file[9], "w"); for (i=1; i<=SL; i++) { d_a_all[i]/=ocount_all; fprintf(fp9,"%ld\t%f\n",i,d_a_all[i]); } fclose(fp9); fp10=fopen(file[10],"w"); for (i=1; i<=SL; i++) { d_p_all[i]/=ocount_all; fprintf(fp10,"%ld\t%f\n",i,d_p_all[i]); } fclose(fp10); fp11=fopen(file[11], "w"); for(k=1;k<Mz+1;k++){ mag2z_all[k]/=ocount_all; } for(k=1;k<Mz+1;k++){ fprintf(fp1,"%ld\t %15.15f\n",k,mag2z_all[k]-magz_all[k]*magz_all[k]); } fclose(fp11); return EXIT_SUCCESS; }
/* ******************************************************************* * Function Argument List Changed [Removing Global Variables] * Input parameters added are * - h264_decoder* dec_params, * * <*****@*****.**> ******************************************************************* */ void Configure(int ac, char *av[], h264_decoder* dec_params ) { int CLcount; char *config_filename=NULL; CLcount = 1; strcpy(dec_params->input->infile,"test.264"); //! set default bitstream name strcpy(dec_params->input->outfile,"test_dec.yuv"); //! set default output file name //strcpy(dec_params->input->reffile,"test_rec.yuv"); //! set default reference file name dec_params->input->FileFormat = PAR_OF_ANNEXB; //dec_params->input->ref_offset=0; dec_params->input->poc_scale=1; #ifdef _LEAKYBUCKET_ dec_params->input->R_decoder=500000; //! Decoder rate dec_params->input->B_decoder=104000; //! Decoder buffer size dec_params->input->F_decoder=73000; //! Decoder initial delay strcpy(dec_params->input->LeakyBucketParamFile,"leakybucketparam.cfg"); // file where Leaky Bucket params (computed by encoder) are stored #endif if (ac==2) { if (0 == strncmp (av[1], "-h", 2)) { JMDecHelpExit(); } else { config_filename=av[1]; init_conf(dec_params->input, av[1],dec_params); } CLcount=2; } if (ac>=3) { if (0 == strncmp (av[1], "-i", 2)) { strcpy(dec_params->input->infile,av[2]); CLcount = 3; } if (0 == strncmp (av[1], "-h", 2)) { JMDecHelpExit(); } } // Parse the command line while (CLcount < ac) { if (0 == strncmp (av[CLcount], "-h", 2)) { JMDecHelpExit(); } if (0 == strncmp (av[CLcount], "-i", 2)) //! Input file { strcpy(dec_params->input->infile,av[CLcount+1]); CLcount += 2; } else if (0 == strncmp (av[CLcount], "-o", 2)) //! Output File { strcpy(dec_params->input->outfile,av[CLcount+1]); CLcount += 2; } //else if (0 == strncmp (av[CLcount], "-r", 2)) //! Reference File //{ // strcpy(dec_params->input->reffile,av[CLcount+1]); // CLcount += 2; //} //else if (0 == strncmp (av[CLcount], "-uv", 2)) //! indicate UV writing for 4:0:0 //{ //dec_params->input->write_uv = 1; // CLcount ++; //} else { //config_filename=av[CLcount]; //init_conf(input, config_filename); //snprintf(dec_params->errortext, ET_SIZE, "Invalid syntax. Use ldecod -h for proper usage"); printf("Invalid syntax. Use ldecod -h for proper usage.\n"); exit(0); } } #if TRACE if ((p_trace=fopen(TRACEFILE,"w"))==0) // append new statistic at the end { snprintf(dec_params->errortext, ET_SIZE, "Error open file %s!",TRACEFILE); printf(dec_params->errortext); exit(0); } #endif //#ifdef WRITE_PICTURE //if ((dec_params->p_out=open(dec_params->input->outfile, OPENFLAGS_WRITE, OPEN_PERMISSIONS))==-1) //{ // // snprintf(dec_params->errortext, ET_SIZE, "Error open file %s ",dec_params->input->outfile); // printf("Error open file %s \n",dec_params->input->outfile); // exit(0); //} if ((dec_params->f_out = fopen(dec_params->input->outfile,"wb"))==0) { // snprintf(dec_params->errortext, ET_SIZE, "Error open file %s ",dec_params->input->outfile); printf("Error open file %s \n",dec_params->input->outfile); exit(0); } //#endif /* if ((p_out2=fopen("out.yuv","wb"))==0) { snprintf(errortext, ET_SIZE, "Error open file %s ",input->outfile); error(errortext,500); }*/ fprintf(stdout,"----------------------------- JM %s %s -----------------------------\n", VERSION, EXT_VERSION); fprintf(stdout,"--------------------------------------------------------------------------\n"); fprintf(stdout," Input H.264 bitstream : %s \n",dec_params->input->infile); fprintf(stdout," Output decoded YUV : %s \n",dec_params->input->outfile); fprintf(stdout,"--------------------------------------------------------------------------\n"); #ifdef _LEAKYBUCKET_ fprintf(stdout," Rate_decoder : %8ld \n",dec_params->input->R_decoder); fprintf(stdout," B_decoder : %8ld \n",dec_params->input->B_decoder); fprintf(stdout," F_decoder : %8ld \n",dec_params->input->F_decoder); fprintf(stdout," LeakyBucketParamFile: %s \n",dec_params->input->LeakyBucketParamFile); // Leaky Bucket Param file calc_buffer(dec_params->input); fprintf(stdout,"--------------------------------------------------------------------------\n"); #endif fprintf(stdout,"--------------------------------------------------------------------------\n"); fprintf(stdout," Frame POC Pic# QP SnrY SnrU SnrV Y:U:V Time(ms)\n"); fprintf(stdout,"--------------------------------------------------------------------------\n"); }
TEST_F(TestObBlockCacheReaderLoader, test_block_cache_switch) { int ret; uint64_t table_id = 100; uint64_t column_group_id = 0; ObString start_key = cell_infos[0][0].row_key_; ObString end_key = cell_infos[ROW_NUM - 1][0].row_key_; ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, table_id, column_group_id, start_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, column_group_id, start_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_loader_.load_block_into_cache(new_index_cache_, new_block_cache_, table_id, column_group_id, start_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_loader_.load_block_into_cache(new_index_cache_, new_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_ITER_END, ret); ret = cache_utility_.destroy_cache(old_block_cache_, old_index_cache_); ASSERT_EQ(OB_SUCCESS, ret); ObBlockCacheConf conf; init_conf(conf); old_block_cache_.set_fileinfo_cache(fic); ret = old_block_cache_.init(conf); EXPECT_EQ(OB_SUCCESS, ret); ObBlockIndexCacheConf bic_conf = {16 * 1024 * 1024}; old_index_cache_.set_fileinfo_cache(fic); ret = old_index_cache_.init(bic_conf); EXPECT_EQ(OB_SUCCESS, ret); ret = cache_reader_.get_start_key_of_next_block(new_block_cache_, table_id, column_group_id, start_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, table_id, column_group_id, start_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_reader_.get_start_key_of_next_block(new_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_loader_.load_block_into_cache(old_index_cache_, old_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_SUCCESS, ret); ret = cache_reader_.get_start_key_of_next_block(old_block_cache_, table_id, column_group_id, end_key, &reader_); ASSERT_EQ(OB_ITER_END, ret); }
int16 main(void) { GRECT n = {0,0,0,0}; GRECT r1; EVNTDATA ev; int16 bclicks, bmask, bstate; boolean leave; quit = FALSE; debug_init("MControl", null, NULL); init_app("mcontrol.rsc"); init_rsrc(); init_conf(); init_dial(); init_comm(); init_beta(); /* Callback f�r modale Fensterdialoge, Fenster-Alerts usw. */ set_mdial_wincb(handle_msg); graf_mkstate( &ev ); wdial_hover( ev.x, ev.y, &r1, &leave ); while (!quit) { mbutton = 0; if( !((ev.bstate) & 3) ) bclicks = 258; else bclicks = 0; bmask = 3; bstate = 0; event = evnt_multi( MU_BUTTON|MU_M1|MU_MESAG|MU_KEYBD, bclicks, bmask, bstate, leave, &r1, 0, &n, msg, 0l, &ev, &kreturn, &mclick ); msx = ev.x; msy = ev.y; mbutton = ev.bstate; kstate = ev.kstate; if (event & MU_MESAG) { if( msg[0] == WM_MOVED ) wdial_hover( msx, msy, &r1, &leave ); handle_msg(msg); } if (event & MU_BUTTON) { if( mbutton == 2 ) menu_context( msx, msy ); else if (!click_wdial(mclick, msx, msy, kstate, mbutton)) ; } if (event & MU_M1) wdial_hover( msx, msy, &r1, &leave ); if (event & MU_KEYBD) { int16 title, item; if (is_menu_key(kreturn, kstate, &title, &item)) handle_menu(title, item); else { key_wdial(kreturn, kstate); key_sdial(kreturn, kstate); } } } exit_comm(); exit_dial(); exit_rsrc(); debug_exit(); exit_app(0); return 0; }
void Configure(int ac, char *av[]) { int CLcount; char *config_filename=NULL; CLcount = 1; strcpy(input->infile,"test.264"); //! set default bitstream name strcpy(input->outfile,"test_dec.yuv"); //! set default output file name strcpy(input->reffile,"test_rec.yuv"); //! set default reference file name input->FileFormat = PAR_OF_ANNEXB; input->ref_offset=0; input->poc_scale=1; #ifdef _LEAKYBUCKET_ input->R_decoder=500000; //! Decoder rate input->B_decoder=104000; //! Decoder buffer size input->F_decoder=73000; //! Decoder initial delay strcpy(input->LeakyBucketParamFile,"leakybucketparam.cfg"); // file where Leaky Bucket params (computed by encoder) are stored #endif #ifdef INTERNAL_BIT_DEPTH_INCREASE input->output_bitdepth = 8; #endif if (ac==2) { if (0 == strncmp (av[1], "-h", 2)) { JMDecHelpExit(); } else { config_filename=av[1]; init_conf(input, av[1]); } CLcount=2; } if (ac>=3) { if (0 == strncmp (av[1], "-i", 2)) { strcpy(input->infile,av[2]); CLcount = 3; } if (0 == strncmp (av[1], "-h", 2)) { JMDecHelpExit(); } } // Parse the command line while (CLcount < ac) { if (0 == strncmp (av[CLcount], "-h", 2)) { JMDecHelpExit(); } if (0 == strncmp (av[CLcount], "-i", 2)) //! Input file { strcpy(input->infile,av[CLcount+1]); CLcount += 2; } else if (0 == strncmp (av[CLcount], "-o", 2)) //! Output File { strcpy(input->outfile,av[CLcount+1]); CLcount += 2; } else if (0 == strncmp (av[CLcount], "-r", 2)) //! Reference File { strcpy(input->reffile,av[CLcount+1]); CLcount += 2; } else if (0 == strncmp (av[CLcount], "-uv", 3)) //! indicate UV writing for 4:0:0 { input->write_uv = 1; CLcount ++; } #ifdef INTERNAL_BIT_DEPTH_INCREASE else if (0 == strncmp (av[CLcount], "-b", 2)) //! Output Bit Depth { input->output_bitdepth = atoi(av[CLcount+1]); CLcount += 2; } #endif else { //config_filename=av[CLcount]; //init_conf(input, config_filename); snprintf(errortext, ET_SIZE, "Invalid syntax. Use ldecod -h for proper usage"); error(errortext, 300); } } #if TRACE if ((p_trace=fopen(TRACEFILE,"w"))==0) // append new statistic at the end { snprintf(errortext, ET_SIZE, "Error open file %s!",TRACEFILE); error(errortext,500); } #endif if ((p_out=open(input->outfile, OPENFLAGS_WRITE, OPEN_PERMISSIONS))==-1) { snprintf(errortext, ET_SIZE, "Error open file %s ",input->outfile); error(errortext,500); } /* if ((p_out2=fopen("out.yuv","wb"))==0) { snprintf(errortext, ET_SIZE, "Error open file %s ",input->outfile); error(errortext,500); }*/ fprintf(stdout,"----------------------------- JM %s %s -----------------------------\n", VERSION, EXT_VERSION); fprintf(stdout," Decoder config file : %s \n",config_filename); fprintf(stdout,"--------------------------------------------------------------------------\n"); fprintf(stdout," Input H.264 bitstream : %s \n",input->infile); fprintf(stdout," Output decoded YUV : %s \n",input->outfile); fprintf(stdout," Output status file : %s \n",LOGFILE); if ((p_ref=open(input->reffile,OPENFLAGS_READ))==-1) { fprintf(stdout," Input reference file : %s does not exist \n",input->reffile); fprintf(stdout," SNR values are not available\n"); } else fprintf(stdout," Input reference file : %s \n",input->reffile); fprintf(stdout,"--------------------------------------------------------------------------\n"); #ifdef _LEAKYBUCKET_ fprintf(stdout," Rate_decoder : %8ld \n",input->R_decoder); fprintf(stdout," B_decoder : %8ld \n",input->B_decoder); fprintf(stdout," F_decoder : %8ld \n",input->F_decoder); fprintf(stdout," LeakyBucketParamFile: %s \n",input->LeakyBucketParamFile); // Leaky Bucket Param file calc_buffer(input); fprintf(stdout,"--------------------------------------------------------------------------\n"); #endif fprintf(stdout,"POC must = frame# or field# for SNRs to be correct\n"); fprintf(stdout,"--------------------------------------------------------------------------\n"); fprintf(stdout," Frame POC Pic# QP SnrY SnrU SnrV Y:U:V Time(ms)\n"); fprintf(stdout,"--------------------------------------------------------------------------\n"); }
/* * Usage: ./get_problem oj_name from_problem_id(or index) to_problem_id(or index) [debug] */ int main(int argc, char *argv[]) { // read config file init_conf(); if (argc < 4 || argc > 5) { fprintf(stderr, "Usage: %s oj_name from_problem_id(or index) " "to_problem_id(or indx) [debug]\n", argv[0]); fprintf(stderr, "Support oj is: "); int i = 0; for (i = 0; i < oj_cnt; ++i) { fprintf(stderr, "%s%c", oj_str[i], (i == oj_cnt - 1) ? '\n' : ' '); } exit(EXIT_SUCCESS); } DEBUG = (argc == 5); int i = 0; int from = atoi(argv[2]); int to = atoi(argv[3]); strcpy(oj_name, argv[1]); oj_type = -1; for (i = 0; i < oj_cnt; ++i) { if (strcmp(oj_name, oj_str[i]) == 0) { oj_type = i; break; } } if (oj_type < 0) { write_log("%s: unsupported oj\n", oj_name); exit(EXIT_FAILURE); } write_log("ojname = %s\n", oj_name); write_log("ojurl = %s\n", oj_url[oj_type]); write_log("type = %d\n", oj_type); write_log("from = %d\n", from); write_log("to = %d\n", to); curl = prepare_curl(); if (curl == NULL) { write_log("prepare curl handle error.\n"); exit(EXIT_FAILURE); } conn = prepare_mysql(); if (conn == NULL) { write_log("prepare mysql handle error.\n"); cleanup_curl(); exit(EXIT_FAILURE); } problem_info = (struct problem_info_t *)malloc(sizeof(struct problem_info_t)); if (problem_info == NULL) { write_log("alloc problem_info memory error.\n"); cleanup_mysql(); cleanup_curl(); exit(EXIT_FAILURE); } if (oj_type == 2) { // codeforces if (get_cf_problem_id() < 0) { write_log("get codeforces problem id error.\n"); exit(EXIT_FAILURE); } if (to > cf_pid_len - 1) { to = cf_pid_len - 1; write_log("index is so large. set it to max index %d.\n", cf_pid_len - 1); } } for (pid = from; pid <= to; ++pid) { memset(problem_info, 0, sizeof(struct problem_info_t)); int ret = get_problem(); if (ret < 0) { write_log("get %s problem %d error.\n", oj_name, pid); } else if (ret == 0) { write_log("get %s problem %d success.\n", oj_name, pid); ret = add_problem(); if (ret < 0) { write_log("add %s problem %d to mysql database error.\n", oj_name, pid); } else { if (!ret) { write_log("add %s problem %d to mysql database success.\n", oj_name, pid); } else { write_log("%s problem %d already exists, update local problem %d.\n", oj_name, pid, ret); } } } else { write_log("%s no problem %d.\n", oj_name, pid); } if (!DEBUG) { execute_cmd("rm -f %d", pid); } if (pid != to) { write_log("get next problem after %d seconds.\n", sleep_time); } sleep(sleep_time); } free(problem_info); cleanup_curl(); cleanup_mysql(); return 0; }
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------ VOID WINAPI ServiceMain(DWORD dwArgc, LPTSTR *lpszArgv){ sprintf( msg_err, "ServiceMain - init." ); DWORD xParam = 1; JOB = 1; // -- hServiceStatus = RegisterServiceCtrlHandlerEx( service_name, (LPHANDLER_FUNCTION_EX)ServiceCtrlHandlerEx, (PVOID)&xParam ); if( !hServiceStatus ){ prn_err( "RegisterServiceCtrlHandlerEx failed.", GetLastError() ); return; } // init service_status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; service_status.dwCurrentState = SERVICE_START_PENDING; service_status.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_SESSIONCHANGE; service_status.dwWin32ExitCode = ERROR_SERVICE_SPECIFIC_ERROR; service_status.dwServiceSpecificExitCode = 0; service_status.dwCheckPoint = 0; service_status.dwWaitHint = 5000; if( !SetServiceStatus( hServiceStatus, &service_status )){ prn_err( "SetServiceStatus 'NULL' failed.", GetLastError() ); return; } // Rabota service_status.dwCurrentState = SERVICE_RUNNING; service_status.dwWin32ExitCode = NO_ERROR; // Set New if( !SetServiceStatus( hServiceStatus, &service_status )){ prn_err( "SetServiceStatus 'SERVICE_START_PENDING' failed.", GetLastError() ); return; } // -- usleep(10000); // ------------------------------------------------------------------------ prn_log( "." ); SetPriorityClass( GetCurrentProcess(), HIGH_PRIORITY_CLASS ); prn_log( "START SERVICE." ); // --------------------------------- if( !init_conf( service_work, service_name, &conf )){ // возврат всегда "1" prn_err( "Init config-data failed. This message can not be", 0 ); }else{ if( strcasecmp( conf.log_debug, "Off" ) == 0 ) DEBUG = 0; else prn_log( "Logger - DEBUG" ); // -- if( strcasecmp( conf.user_proc, "0" ) == 0 ) prn_log( "WARNING! User Process - disabled." ); if( strcasecmp( conf.maintenance, "0" ) == 0 ) prn_log( "WARNING! Maintenances - disabled." ); if( strcasecmp( conf.git_exec, "0" ) == 0 ) prn_log( "WARNING! Git status - disabled." ); } // -- JOB = 2; // Создаем поток логирования cygwin (сокет /dev/log) для ssh-сессий HANDLE hCygWinLogThread = CreateThread( NULL, 0, &CygWinLogThread, (LPVOID)&conf, 0, NULL ); if( !hCygWinLogThread ){ prn_err( "LogSocket: Create CygWinLogThread - failed.", GetLastError() ); } // --------------------------------- JOB = 3; if( !open_send( conf.zbx_server, conf.zbx_port, conf.zbx_host )){ prn_log( "WARNING! Sender not available: Maintenances - will not be available." ); strcpy( conf.maintenance, "0" ); } // --------------------------------- JOB = 22; // потоки обслуживания // HANDLE hGTimeThread = CreateThread( NULL, 0, >imeThread, NULL, 0, NULL );// поток // --------------------------------- usleep(10000); JOB = 101; send_sm_string( "SM;SyMon;START;!" ); // -- // проверка активных сессий DWORD pCount; HANDLE hToken; PWTS_SESSION_INFO ppSessionInfo = NULL; HANDLE hTS = WTSOpenServer( "" ); // -- if( WTSEnumerateSessions(hTS, 0, 1, &ppSessionInfo, &pCount )){ while( pCount ){ if( ppSessionInfo->State == 0 ){ if( WTSQueryUserToken( ppSessionInfo->SessionId, &hToken )) entering_info( ppSessionInfo->SessionId, 5, hToken, NULL ); else prn_err( "WTS Token failed.", GetLastError() ); } ppSessionInfo++; pCount--; } } // ----------------------------------- while( JOB > 100 ){ // главный цикл git_test(); // выполнение отложенных (тормозных) функций sleep(1); } // -- // CloseHandle( hGTimeThread ); sleep( 2 ); close_send(); sprintf( msg_err, "ServiceMain - return." ); // ------------------------------------------------------------------------ }
int ACEApp::init(int argc, ACE_TCHAR* argv[]) { // get the program name #ifdef WIN32 char* ptr = ACE_OS::strrchr(argv[0], '\\'); #else char* ptr = ACE_OS::strrchr(argv[0], '/'); #endif if (ptr) { // strip path name strcpy(program_, ptr + 1); } else { strcpy(program_, argv[0]); } #ifdef WIN32 // strip .exe extension on WIN32 ptr = strchr(program_, '.'); if (ptr) { *ptr = '\0'; } #endif int child_proc_num = 0; ACE_Get_Opt get_opt(argc, argv, "vdp:c:"); char c; while ((c = get_opt()) != EOF) { switch (c) { case 'd': // run as daemon ACE::daemonize(); break; case 'p': // specified program name strcpy(program_, get_opt.opt_arg()); break; case 'c': // child process number child_proc_num = atoi(get_opt.opt_arg()); break; case 'v': //disp version info disp_version(); return 0; default: break; } } ACE_OS::signal (SIGPIPE, SIG_IGN); ACE_OS::signal (SIGTERM, SIG_IGN); ACE_OS::signal (SIGCHLD, SIG_IGN); ACE_Sig_Action sig_int((ACE_SignalHandler)daemon_quit, SIGINT); //ACE_Sig_Action sig_term((ACE_SignalHandler)daemon_quit, SIGTERM); //ACE_Sig_Action sig_chld((ACE_SignalHandler)child_sighdr, SIGCHLD); ACE_UNUSED_ARG(sig_int); //ACE_UNUSED_ARG(sig_term); //ACE_UNUSED_ARG(sig_chld); //在 init_log() 之前即可 if (init_reactor() != 0) { ACE_DEBUG((LM_ERROR, "[%D] init reactor failed, program exit\n")); return -1; } ACE_DEBUG((LM_INFO, "[%D] init reactor succ\n")); if (init_sys_path(program_) != 0) { ACE_DEBUG((LM_ERROR, "[%D] init sys path failed, program exit\n")); return -1; } if (init_conf() != 0) { ACE_DEBUG((LM_ERROR, "[%D] init conf failed, program exit\n")); return -1; } ACE_DEBUG((LM_INFO, "[%D] init conf succeed\n")); if (init_log() != 0) { ACE_DEBUG((LM_ERROR, "[%D] init log failed, program exit\n")); return -1; } ACE_DEBUG((LM_INFO, "[%D] init log succ\n")); //版本信息记录日志 disp_version(); if (init_app(argc, argv) != 0) { ACE_DEBUG((LM_ERROR, "[%D] init app failed, program exit\n")); return -1; } ACE_DEBUG((LM_INFO, "[%D] init app succ\n")); write_pid_file(); ACE_DEBUG((LM_INFO, "[%D] write pid file succ\n")); if (child_proc_num > 0) { parent_main(child_proc_num); } else { ACE_DEBUG((LM_INFO, "[%D] enter daemon main pid: %d\n", ACE_OS::getpid())); daemon_main(); ACE_DEBUG((LM_INFO, "[%D] leave daemon main pid: %d\n", ACE_OS::getpid())); } quit_app(); return 0; }
/*! *********************************************************************** * \brief * main function for TML decoder *********************************************************************** */ int main(int argc, char **argv) { // allocate memory for the structures if ((input = (struct inp_par *)calloc(1, sizeof(struct inp_par)))==NULL) no_mem_exit("main: input"); if ((snr = (struct snr_par *)calloc(1, sizeof(struct snr_par)))==NULL) no_mem_exit("main: snr"); if ((img = (struct img_par *)calloc(1, sizeof(struct img_par)))==NULL) no_mem_exit("main: img"); // Read Configuration File if (argc != 2) { snprintf(errortext, ET_SIZE, "Usage: %s <config.dat> \n\t<config.dat> defines decoder parameters",argv[0]); error(errortext, 300); } init_conf(input, argv[1]); init_old_slice(); switch (input->FileFormat) { case 0: OpenBitstreamFile (input->infile); break; case 1: OpenRTPFile (input->infile); break; default: printf ("Unsupported file format %d, exit\n", input->FileFormat); } // Allocate Slice data struct malloc_slice(input,img); init(img); dec_picture = NULL; dpb.init_done = 0; g_nFrame = 0; // init_dpb(input); init_out_buffer(); img->idr_psnr_number=input->ref_offset; img->psnr_number=0; img->number=0; img->type = I_SLICE; img->dec_ref_pic_marking_buffer = NULL; // B pictures Bframe_ctr=0; // time for total decoding session tot_time = 0; while (decode_one_frame(img, input, snr) != EOS) ; report(input, img, snr); free_slice(input,img); FmoFinit(); free_global_buffers(); flush_dpb(); #ifdef PAIR_FIELDS_IN_OUTPUT flush_pending_output(p_out); #endif CloseBitstreamFile(); fclose(p_out); // fclose(p_out2); if (p_ref) fclose(p_ref); #if TRACE fclose(p_trace); #endif ercClose(erc_errorVar); free_dpb(); uninit_out_buffer(); free_collocated(Co_located); free (input); free (snr); free (img); //while( !kbhit() ); return 0; }
int main(int argc, char* argv[]) { if(argc != 4) { usage(); exit(1); } init_env(); init_protocal_buf(); pthread_mutex_init(&lockDownload, NULL); /** init server address **/ struct sockaddr_in servaddr; bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(SERV_PORT); if(inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) { printf("[%s] is not avalid IP address!\n", argv[1]); exit(1); } int sockfd = socket(AF_INET, SOCK_DGRAM, 0); /** check if configure file exists **/ char conf_full[100]; strcpy(conf_full, path); strcat(conf_full, conf_file); if(access(conf_full, 0) == -1) { task_flag = NEW_TASK; printf("cannot access the file %s\n", conf_full); /** init config file, can be expended later for any request **/ init_conf(conf_full); }else { task_flag = OLD_TASK; printf("access the file %s\n", conf_full); //TODO continue to send config_t *conf_hd = confRead(conf_full); sprintf(filename, "%s", confGet(conf_hd, "filename")); load_detail(conf_hd); confDestory(conf_hd); } queue = Initialize_Queue(); //Add_Queue_Item(queue, "", file_name, 0); //Add_Queue_Item(queue, "", file_name, 0); //Add_Queue_Item(queue, "", file_name, 0); cookLive = YES; soldierLive = YES; receiverLive = YES; /** start Cook thread **/ pthread_t cook_fd; pthread_create(&cook_fd, NULL, cook_mission, path); //pthread_join(cook_fd, NULL); /** start Receiver thread **/ pthread_t receiver_id; pthread_create(&receiver_id, NULL, receiver, NULL); //pthread_join(cook_fd, NULL); //pthread_join(receiver_id, NULL); printf("===========================================================\n"); struct synack syn_pack; syn_pack.thread_num = THREAD_LIMITION; syn_pack.file_info.blocksize = BODYLEN; while(clientLive){ soldierLive = YES; taskIndex = 0; taskArray = NULL; filesize = 0; block_num = 0; QUEUE_ITEM *item = NULL; //memset(item, 0, sizeof(QUEUE_ITEM)); while(!item && clientLive == YES){ printf("[Main] main thread check queue\n"); item = Get_Queue_Item(queue); if(item){ printf("[Main] item.filename = %s\n", item->data); strcpy(filename, item->data); printf("[Main] transmitting: %s \n", filename); break; }else{ printf("[Main] Queue empty will check again in 2 seconds...\n"); sleep(2); } } strcpy(syn_pack.file_info.filename, filename); /** count filesize **/ char target_full[100]; strcpy(target_full, path); strcat(target_full, filename); int fd = open(target_full, O_RDONLY); filesize = get_filesize(fd); syn_pack.file_info.filesize = filesize; /** count block_num **/ if(filesize % BODYLEN == 0) syn_pack.file_info.block_num = filesize / BODYLEN; else syn_pack.file_info.block_num = filesize / BODYLEN + 1; block_num = syn_pack.file_info.block_num; /** make taskArray **/ taskArray = (int*)malloc(sizeof(int) * block_num); memset(taskArray, 0, sizeof(int) * block_num); /* count downloaded_block */ if(task_flag == NEW_TASK) { printf("new task\n"); downloaded_block = 0; } else { printf("block_num = %d, thread_num = %d, blocksize = %d, filesize = %d\n", syn_pack.file_info.block_num, syn_pack.thread_num, syn_pack.file_info.blocksize, syn_pack.file_info.filesize); /** count local global downloaded_block **/ downloaded_block = 0; if(downloaded_block == block_num) { printf("download already finished\n"); continue; } task_flag = OLD_TASK; } syn_pack.file_info.downloaded_block = downloaded_block; printf("figure out filesize = %d, block_num = %d, downloaded_block = %d\n", filesize, block_num, downloaded_block); { /**TODO store config info **/ /*config_t *conf_hd = confRead(conf_full); if(conf_hd == NULL) { printf("conf file null, return \n"); return 0; } confSet(conf_hd, "filename", filename); confSet(conf_hd, "filesize", filesize); store_detail(conf_hd); confDestory(conf_hd); */ } /** ask for link with server **/ struct synack synack_pack = get_new_port(syn_pack, sockfd, (struct sockaddr*)(&servaddr), sizeof(servaddr)); printf("receive: thread_num = %d, downloaded_block = %d, block_num = %d\n", synack_pack.thread_num, synack_pack.file_info.downloaded_block, synack_pack.file_info.block_num); //if(synack_pack == NULL){ //printf("main get connection failed, exiting...\n"); //process_end(); //return 0; //} /** create subthreads here **/ task_list = (struct subthread_task *)malloc(sizeof(struct subthread_task) * THREAD_LIMITION); int i; for(i = 0; i < THREAD_LIMITION; i++) { task_list[i].hostname = argv[1]; task_list[i].port = synack_pack.port[i]; task_list[i].thread_no = i + 1; task_list[i].thread_num = THREAD_LIMITION; strcpy(task_list[i].file_info.filename, filename); task_list[i].file_info.filesize= filesize; task_list[i].file_info.block_num = block_num; task_list[i].file_info.blocksize= BODYLEN; pthread_create(&ptid[i], NULL, soldier_mission, &task_list[i]); } signal(SIGINT, process_end); signal(SIGKILL, process_end); /** print the transmit progress **/ do{ sleep(0.1); //int percent = (downloaded_block * 100) / block_num; /** print_process(percent, 100); **/ }while(downloaded_block < block_num); //soldierLive = NO; for(i = 0; i < THREAD_LIMITION; i ++){ pthread_join(ptid[i], NULL); } print_process(100, 100); printf("\ndownload finished, exiting...[please wait and not interrupt or power off]\n"); //int j = 0; //for(; j < block_num; j ++) //printf("%d, ", taskArray[i]); //printf("\n"); free(task_list); free(taskArray); task_list = NULL; taskArray = NULL; } pthread_mutex_destroy(&lockDownload); return 0; }
int main( int argc, char **argv ) { int n, i; char *com; fp_err = stderr; init_conf(); com = argv[0]; --argc; ++argv; while( argc > 0 && argv[0][0] == '-' ) { switch( argv[0][1] ) { case 'C': if( argc < 2 ) usage( com ); read_conf( argv[1] ); --argc; ++argv; break; /*******↓for server mode *******/ case 'p': /* 引数が不正な場合はエラー出力 */ if( argc < 2 ) usage( com ); /* ポート番号の読み込み */ i = atoi( argv[1] ); if (i > 1024) { nPort = i; } s_mode = 1; --argc; ++argv; break; /*******↑***********************/ case 'v': printf( "%s\n", moduleVersion ); printf( "%s\n", protocolVersion ); exit(0); default: usage( com ); } --argc; ++argv; } set_default_conf(); initialize(); n = setjmp( ebuf ); if( n > 0 ) chasen_process = 0; /* to restart 'chasen' process */ for( ;; ) { #ifdef PRINTDATA TmpMsg( "> " ); #endif n_arg = read_command( v_arg ); #ifdef PRINTDATA { int i; TmpMsg( "command is \n" ); for( i=0; i<n_arg; ++i ) { TmpMsg( " %d: %s\n", i+1, v_arg[i] ); } } #endif /* 「o」 で set Speak = NOW のショートカット */ if( strcmp(v_arg[0],"o")==0 ) { setSpeak( "=", "NOW" ); continue; } if( n_arg < 2 ) { unknown_com(); continue; } switch( commandID( v_arg[0] ) ) { case C_set: if( n_arg < 4 ) { unknown_com(); break; } switch( slotID( v_arg[1] ) ) { case S_Run: setRun( v_arg[2], v_arg[3] ); break; case S_Speaker: setSpeaker( v_arg[2], v_arg[3] ); break; case S_Alpha: setAlpha( v_arg[2], v_arg[3] ); break; case S_Postfilter_coef: setPostfilter_coef( v_arg[2], v_arg[3] ); break; case S_Text: setText( v_arg[2], v_arg[3] ); break; case S_Speak: setSpeak( v_arg[2], v_arg[3] ); break; case S_SaveRAW: setSave( v_arg[2], v_arg[3] ); break; case S_Save: setSave( v_arg[2], v_arg[3] ); break; case S_LoadRAW: setSpeechFile( v_arg[2], v_arg[3], RAW ); break; case S_SpeechFile: setSpeechFile( v_arg[2], v_arg[3], RAW ); break; case S_SaveWAV: setSaveWAV( v_arg[2], v_arg[3] ); break; case S_LoadWAV: setSpeechFile( v_arg[2], v_arg[3], WAV ); break; case S_SavePros: setSavePros( v_arg[2], v_arg[3] ); break; case S_LoadPros: setProsFile( v_arg[2], v_arg[3] ); break; case S_ProsFile: setProsFile( v_arg[2], v_arg[3] ); break; case S_ParsedText: setParsedText( v_arg[2], v_arg[3] ); break; case S_Speak_syncinterval: setSpeakSyncinterval( v_arg[2], v_arg[3] ); break; case S_AutoPlay: slot_Auto_play = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_AutoPlayDelay: slot_Auto_play_delay = atoi( v_arg[3] ); break; case S_Log: setLog( v_arg[2], v_arg[3] ); break; case S_Log_conf: slot_Log_conf = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_text: slot_Log_text = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_arranged_text: slot_Log_arranged_text = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_chasen: slot_Log_chasen = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_tag: slot_Log_tag = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_phoneme: slot_Log_phoneme = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_mora: slot_Log_mora = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_morph: slot_Log_morph = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_aphrase: slot_Log_aphrase = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_breath: slot_Log_breath = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Log_sentence: slot_Log_sentence = setLogYesNo( v_arg[2], v_arg[3] ); break; case S_Err: setErr( v_arg[2], v_arg[3] ); break; default: unknown_com(); } break; case C_inq: switch( slotID( v_arg[1] ) ) { case S_Run: inqRun(); break; case S_ModuleVersion: inqModuleVersion(); break; case S_ProtocolVersion: inqProtocolVersion(); break; case S_SpeakerSet: inqSpeakerSet(); break; case S_Speaker: inqSpeaker(); break; case S_SpeechFile: inqSpeechFile(); break; case S_ProsFile: inqProsFile(); break; case S_AutoPlay: inqAutoPlay(); break; case S_AutoPlayDelay: inqAutoPlayDelay(); break; case S_Text_text: inqTextText(); break; case S_Text_pho: inqTextPho(); break; case S_Text_dur: inqTextDur(); break; case S_Speak_text: inqSpeakText(); break; case S_Speak_pho: inqSpeakPho(); break; case S_Speak_dur: inqSpeakDur(); break; case S_Speak_utt: inqSpeakUtt(); break; case S_Speak_len: inqSpeakLen(); break; case S_Speak_stat: inqSpeakStat(); break; case S_Speak_syncinterval: inqSpeakSyncinterval(); break; case S_Log: RepMsg( "rep Log = %s\n", slot_Log_file ); break; case S_Log_conf: RepMsg( "rep Log.conf = %s\n", YesNoSlot(S_Log_conf) ); break; case S_Log_text: RepMsg( "rep Log.text = %s\n", YesNoSlot(S_Log_text) ); break; case S_Log_arranged_text: RepMsg( "rep Log.arranged_text = %s\n", YesNoSlot(S_Log_arranged_text) ); break; case S_Log_chasen: RepMsg( "rep Log.chasen = %s\n", YesNoSlot(S_Log_chasen) ); break; case S_Log_tag: RepMsg( "rep Log.tag = %s\n", YesNoSlot(S_Log_tag) ); break; case S_Log_phoneme: RepMsg( "rep Log.phoneme = %s\n", YesNoSlot(S_Log_phoneme) ); break; case S_Log_mora: RepMsg( "rep Log.mora = %s\n", YesNoSlot(S_Log_mora) ); break; case S_Log_morph: RepMsg( "rep Log.morph = %s\n", YesNoSlot(S_Log_morph) ); break; case S_Log_aphrase: RepMsg( "rep Log.aphrase = %s\n", YesNoSlot(S_Log_aphrase) ); break; case S_Log_breath: RepMsg( "rep Log.breath = %s\n", YesNoSlot(S_Log_breath) ); break; case S_Log_sentence: RepMsg( "rep Log.sentence = %s\n", YesNoSlot(S_Log_sentence) ); break; case S_Err: RepMsg( "rep Err = %s\n", slot_Err_file ); break; default: unknown_com(); } break; case C_prop: { SlotProp prop; if( strcmp(v_arg[2],"=")!=0 ) { unknown_com(); break; } if( strcmp(v_arg[3],"AutoOutput")==0 ) { prop = AutoOutput; } else if(strcmp(v_arg[3],"NoAutoOutput")==0 ) { prop = NoAutoOutput; } else { unknown_com(); break; } switch( slotID( v_arg[1] ) ) { case S_Run: prop_Run = prop; break; case S_ModuleVersion: prop_ModuleVersion = prop; break; case S_ProtocolVersion: prop_ProtocolVersion = prop; break; case S_SpeakerSet: prop_SpeakerSet = prop; break; case S_Speaker: prop_Speaker = prop; break; case S_SpeechFile: prop_SpeechFile = prop; break; case S_ProsFile: prop_ProsFile = prop; break; case S_Text: prop_Text = prop; break; case S_Text_text: prop_Text_text = prop; break; case S_Text_pho: prop_Text_pho = prop; break; case S_Text_dur: prop_Text_dur = prop; break; case S_Speak: prop_Speak = prop; break; case S_Speak_text: prop_Speak_text = prop; break; case S_Speak_pho: prop_Speak_pho = prop; break; case S_Speak_dur: prop_Speak_dur = prop; break; case S_Speak_utt: prop_Speak_utt = prop; break; case S_Speak_len: prop_Speak_len = prop; break; case S_Speak_stat: prop_Speak_stat = prop; break; case S_Speak_syncinterval: prop_Speak_syncinterval = prop; break; default: unknown_com(); } } break; default: unknown_com(); } } if( s_mode ) { server_destroy (); } exit(0); }