Exemple #1
0
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;
}
Exemple #2
0
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;
}