Browse Source

avfilter: Make enabled/disabled state available as a field of the AVFilterContext

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.0
Michael Niedermayer 12 years ago
parent
commit
df9f9caba5
2 changed files with 4 additions and 1 deletions
  1. +3
    -1
      libavfilter/avfilter.c
  2. +1
    -0
      libavfilter/avfilter.h

+ 3
- 1
libavfilter/avfilter.c View File

@@ -993,7 +993,9 @@ static int ff_filter_frame_framed(AVFilterLink *link, AVFrame *frame)
dstctx->var_values[VAR_N] = link->frame_count;
dstctx->var_values[VAR_T] = pts == AV_NOPTS_VALUE ? NAN : pts * av_q2d(link->time_base);
dstctx->var_values[VAR_POS] = pos == -1 ? NAN : pos;
if (!av_expr_eval(dstctx->enable, dstctx->var_values, NULL))

dstctx->is_disabled = !av_expr_eval(dstctx->enable, dstctx->var_values, NULL);
if (dstctx->is_disabled)
filter_frame = dst->passthrough_filter_frame ? dst->passthrough_filter_frame
: default_filter_frame;
}


+ 1
- 0
libavfilter/avfilter.h View File

@@ -570,6 +570,7 @@ struct AVFilterContext {
char *enable_str; ///< enable expression string
void *enable; ///< parsed expression (AVExpr*)
double *var_values; ///< variable values for the enable expression
int is_disabled; ///< the enabled state from the last expression evaluation
};

/**


Loading…
Cancel
Save