Exemple #1
0
static void callback(y4m2_reason reason, const y4m2_parameters *parms,
                     y4m2_frame *frame, void *ctx) {
  output_ctx *oc = (output_ctx *)ctx;
  switch (reason) {
  case Y4M2_START:
    if (!y4m2_equal_parms(oc->parms, parms)) {
      y4m2_free_parms(oc->parms);
      oc->parms = y4m2_clone_parms(parms);
      y4m2_emit_start(oc->out, parms);
    }
    break;
  case Y4M2_FRAME:
    y4m2_emit_frame(oc->out, parms, frame);
    break;
  case Y4M2_END:
    y4m2_emit_end(oc->out);
    break;
  }
}
Exemple #2
0
static void callback(y4m2_reason reason, const y4m2_parameters *parms,
                     y4m2_frame *frame, void *ctx) {
  output_ctx *oc = (output_ctx *)ctx;
  y4m2_parameters *merged = NULL;

  switch (reason) {
  case Y4M2_START:
    merged = merge_parms(oc, parms);
    y4m2_emit_start(oc->out, merged);
    break;
  case Y4M2_FRAME:
    merged = merge_parms(oc, parms);
    y4m2_emit_frame(oc->out, merged, frame);
    break;
  case Y4M2_END:
    y4m2_emit_end(oc->out);
    break;
  }

  y4m2_free_parms(merged);
}
Exemple #3
0
static void filter__callback(y4m2_reason reason, const y4m2_parameters *parms,
                             y4m2_frame *frame, void *ctx) {
  filter *filt = (filter *)ctx;
  switch (reason) {
  case Y4M2_START:
    if (filt->start)
      filt->start(filt, parms);
    else
      y4m2_emit_start(filt->out, parms);
    break;
  case Y4M2_FRAME:
    if (!filt->frame || model_get_int(&filt->config, 0, "$.disabled"))
      y4m2_emit_frame(filt->out, parms, frame);
    else
      filt->frame(filt, parms, frame);
    break;
  case Y4M2_END:
    if (filt->end)
      filt->end(filt);
    else
      y4m2_emit_end(filt->out);
    break;
  }
}
Exemple #4
0
static void merge__end(filter *filt) {
  y4m2_emit_end(filt->out);
  merge__free(filt->ctx);
}
Exemple #5
0
static void peak__end(filter *filt) {
  y4m2_emit_end(filt->out);
  peak__free(filt->ctx);
}