int main(int _argc,const char *_argv[]){ intra_stats_ctx ctx[NUM_PROCS]; int i; ne_filter_params_init(); vp8_scale_init(VP8_SCALE); od_scale_init(OD_SCALE); #if WRITE_IMAGES intra_map_colors(COLORS,OD_INTRA_NMODES); #endif for(i=0;i<NUM_PROCS;i++){ intra_stats_ctx_init(&ctx[i]); } omp_set_num_threads(NUM_PROCS); ne_apply_to_blocks(ctx,sizeof(*ctx),0x1,PADDING,stats_start,NBLOCKS,BLOCKS, stats_finish,_argc,_argv); for(i=1;i<NUM_PROCS;i++){ intra_stats_ctx_combine(&ctx[0],&ctx[i]); } printf("Processed %i image(s)\n",ctx[0].n); if(ctx[0].n>0){ intra_stats_correct(&ctx[0].gb_vp8); intra_stats_print(&ctx[0].gb_vp8,"VP8 Intra Predictors",VP8_SCALE); intra_stats_correct(&ctx[0].gb_od); intra_stats_print(&ctx[0].gb_od,"Daala Intra Predictors",OD_SCALE); } for(i=0;i<NUM_PROCS;i++){ intra_stats_ctx_clear(&ctx[i]); } return EXIT_SUCCESS; }
int main(int _argc,const char *_argv[]) { cfl_stats_ctx ctx[NUM_PROCS]; int i; ne_filter_params_init(); for (i=0;i<OD_NBSIZES;i++) { od_scale_init(OD_SCALE[i],OD_LOG_BSIZE0+i); } for (i=0;i<NUM_PROCS;i++) { cfl_stats_ctx_init(&ctx[i]); } od_intra_init(); OD_OMP_SET_THREADS(NUM_PROCS); cfl_apply_to_blocks(ctx,sizeof(*ctx),0x7,PADDING,stats_start,NBLOCKS,BLOCKS, stats_finish,_argc,_argv); for (i=1;i<NUM_PROCS;i++) { cfl_stats_ctx_combine(&ctx[0],&ctx[i]); } printf("Processed %i image(s)\n",ctx[0].n); if (ctx[0].n>0) { double *od_scale; od_scale=OD_SCALE[B_SZ_LOG-1-OD_LOG_BSIZE0]; for (i=0;i<2;i++) { char label[128]; sprintf(label,"Frequency-Domain Predictors (plane %i)",i+1); intra_stats_correct(&ctx[0].gb_fdp[i]); intra_stats_print(&ctx[0].gb_fdp[i],label,od_scale); sprintf(label,"Chroma-from-Luma Predictors (plane %i)",i+1); intra_stats_correct(&ctx[0].gb_cfl[i]); intra_stats_print(&ctx[0].gb_cfl[i],label,od_scale); } } for (i=0;i<NUM_PROCS;i++) { cfl_stats_ctx_clear(&ctx[i]); } od_intra_clear(); return EXIT_SUCCESS; }