Beispiel #1
0
static void initialize_dec() {
  static int init_done = 0;

  if (!init_done) {
    vp9_rtcd();
    vp9_init_intra_predictors();
    init_done = 1;
  }
}
static void initialize_dec(void) {
  static volatile int init_done = 0;

  if (!init_done) {
    vp9_rtcd();
    vpx_dsp_rtcd();
    vpx_scale_rtcd();
    vp9_init_intra_predictors();
    init_done = 1;
  }
}
Beispiel #3
0
VP9Decoder *vp9_decoder_create(const VP9DecoderConfig *oxcf) {
  VP9Decoder *const pbi = vpx_memalign(32, sizeof(*pbi));
  VP9_COMMON *const cm = pbi ? &pbi->common : NULL;

  if (!cm)
    return NULL;

  vp9_zero(*pbi);

  if (setjmp(cm->error.jmp)) {
    cm->error.setjmp = 0;
    vp9_decoder_remove(pbi);
    return NULL;
  }

  cm->error.setjmp = 1;
  vp9_initialize_dec();

  vp9_rtcd();

  // Initialize the references to not point to any frame buffers.
  vpx_memset(&cm->ref_frame_map, -1, sizeof(cm->ref_frame_map));

  cm->current_video_frame = 0;
  pbi->oxcf = *oxcf;
  pbi->ready_for_new_data = 1;
  pbi->decoded_key_frame = 0;

  // vp9_init_dequantizer() is first called here. Add check in
  // frame_init_dequantizer() to avoid unnecessary calling of
  // vp9_init_dequantizer() for every frame.
  vp9_init_dequantizer(cm);

  vp9_loop_filter_init(cm);

  cm->error.setjmp = 0;

  vp9_worker_init(&pbi->lf_worker);

  return pbi;
}
Beispiel #4
0
void vp9_machine_specific_config(VP9_COMMON *ctx) {
  vp9_rtcd();
}