Esempio n. 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;
}
Esempio n. 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;
}
Esempio n. 3
0
static int stats_finish(void *_ctx){
  intra_stats_ctx *ctx;
#if WRITE_IMAGES
  char             name[8192];
  int              eos;
#endif
  ctx=(intra_stats_ctx *)_ctx;
#if WRITE_IMAGES
  strcpy(name,ctx->img.name);
  eos=strlen(name)-4;
  sprintf(&name[eos],"%s","-vp8");
  image_files_write(&ctx->files_vp8,name,NULL);
  sprintf(&name[eos],"%s","-daala");
  image_files_write(&ctx->files_od,name,NULL);
#endif
  intra_stats_combine(&ctx->gb_vp8,&ctx->st_vp8);
  intra_stats_correct(&ctx->st_vp8);
  intra_stats_print(&ctx->st_vp8,"VP8 Intra Predictors",VP8_SCALE);
  intra_stats_combine(&ctx->gb_od,&ctx->st_od);
  intra_stats_correct(&ctx->st_od);
  intra_stats_print(&ctx->st_od,"Daala Intra Predictors",OD_SCALE);
  intra_stats_ctx_clear_image(ctx);
  return EXIT_SUCCESS;
}
Esempio n. 4
0
static int stats_finish(void *_ctx){
  int i;
  cfl_stats_ctx *ctx;
  ctx=(cfl_stats_ctx *)_ctx;
  if (ctx->curr_pli==2) {
    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_combine(&ctx->gb_fdp[i],&ctx->st_fdp[i]);
      intra_stats_correct(&ctx->st_fdp[i]);
      intra_stats_print(&ctx->st_fdp[i],label,od_scale);
      sprintf(label,"Chroma-from-Luma Predictors (plane %i)",i+1);
      intra_stats_combine(&ctx->gb_cfl[i],&ctx->st_cfl[i]);
      intra_stats_correct(&ctx->st_cfl[i]);
      intra_stats_print(&ctx->st_cfl[i],label,od_scale);
    }
    for (i=0;i<3;i++) {
      image_data_clear(&ctx->img[i]);
    }
  }
  return EXIT_SUCCESS;
}