FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
aeval.c File Reference
#include "config_components.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/eval.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avfilter.h"
#include "audio.h"
#include "filters.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  EvalContext
 

Macros

#define OFFSET(x)   offsetof(EvalContext, x)
 
#define FLAGS   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
 
#define ADD_EXPRESSION(expr_)
 
#define OFFSET(x)   offsetof(EvalContext, x)
 
#define FLAGS   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
 

Enumerations

enum  var_name {
  VAR_N, VAR_TB, VAR_PTS, VAR_DTS,
  VAR_NOPTS, VAR_STARTPTS, VAR_STARTDTS, VAR_DURATION,
  VAR_D, VAR_POS, VAR_SIZE, VAR_KEY,
  VAR_STATE, VAR_VARS_NB, VAR_N, VAR_TS,
  VAR_POS, VAR_PREV_INPTS, VAR_PREV_INDTS, VAR_PREV_INDUR,
  VAR_PREV_OUTPTS, VAR_PREV_OUTDTS, VAR_PREV_OUTDUR, VAR_NEXT_PTS,
  VAR_NEXT_DTS, VAR_NEXT_DUR, VAR_PTS, VAR_DTS,
  VAR_DURATION, VAR_STARTPTS, VAR_STARTDTS, VAR_TB,
  VAR_TB_OUT, VAR_SR, VAR_NOPTS, VAR_VARS_NB,
  VAR_CH, VAR_N, VAR_NB_IN_CHANNELS, VAR_NB_OUT_CHANNELS,
  VAR_T, VAR_S, VAR_VARS_NB, VAR_W,
  VAR_H, VAR_CW, VAR_CH, VAR_HSUB,
  VAR_VSUB, VARS_NB, VAR_VALUE1, VAR_VALUE2,
  VAR_FRAMEVAL, VAR_USERVAL, VAR_VARS_NB, VAR_TB,
  VAR_PTS, VAR_START_PTS, VAR_PREV_PTS, VAR_PREV_SELECTED_PTS,
  VAR_T, VAR_START_T, VAR_PREV_T, VAR_PREV_SELECTED_T,
  VAR_PICT_TYPE, VAR_I, VAR_P, VAR_B,
  VAR_S, VAR_SI, VAR_SP, VAR_BI,
  VAR_PICT_TYPE_I, VAR_PICT_TYPE_P, VAR_PICT_TYPE_B, VAR_PICT_TYPE_S,
  VAR_PICT_TYPE_SI, VAR_PICT_TYPE_SP, VAR_PICT_TYPE_BI, VAR_INTERLACE_TYPE,
  VAR_INTERLACE_TYPE_P, VAR_INTERLACE_TYPE_T, VAR_INTERLACE_TYPE_B, VAR_CONSUMED_SAMPLES_N,
  VAR_SAMPLES_N, VAR_SAMPLE_RATE, VAR_N, VAR_SELECTED_N,
  VAR_PREV_SELECTED_N, VAR_KEY, VAR_POS, VAR_SCENE,
  VAR_CONCATDEC_SELECT, VAR_VARS_NB, VAR_N, VAR_T,
  VAR_POS, VAR_PTS, VAR_TS, VAR_TE,
  VAR_TI, VAR_W, VAR_H, VAR_VARS_NB,
  VAR_IN_W, VAR_IW, VAR_IN_H, VAR_IH,
  VAR_OUT_W, VAR_OW, VAR_OUT_H, VAR_OH,
  VAR_A, VAR_SAR, VAR_DAR, VAR_HSUB,
  VAR_VSUB, VAR_OHSUB, VAR_OVSUB, VARS_NB,
  VAR_FRAME_RATE, VAR_INTERLACED, VAR_N, VAR_NB_CONSUMED_SAMPLES,
  VAR_NB_SAMPLES, VAR_POS, VAR_PREV_INPTS, VAR_PREV_INT,
  VAR_PREV_OUTPTS, VAR_PREV_OUTT, VAR_PTS, VAR_SAMPLE_RATE,
  VAR_STARTPTS, VAR_STARTT, VAR_T, VAR_TB,
  VAR_RTCTIME, VAR_RTCSTART, VAR_S, VAR_SR,
  VAR_FR, VAR_VARS_NB, VAR_AVTB, VAR_INTB,
  VAR_SR, VAR_VARS_NB, VAR_W, VAR_H,
  VAR_A, VAR_DAR, VAR_SAR, VAR_HSUB,
  VAR_VSUB, VARS_NB, VAR_IN_W, VAR_IW,
  VAR_IN_H, VAR_IH, VAR_OUT_W, VAR_OW,
  VAR_OUT_H, VAR_OH, VAR_A, VAR_SAR,
  VAR_DAR, VAR_HSUB, VAR_VSUB, VAR_X,
  VAR_Y, VAR_N, VAR_POS, VAR_T,
  VAR_VARS_NB, VAR_X, VAR_Y, VAR_W,
  VAR_H, VAR_N, VAR_T, VAR_VARS_NB,
  VAR_DAR, VAR_HSUB, VAR_VSUB, VAR_IN_H,
  VAR_IH, VAR_IN_W, VAR_IW, VAR_SAR,
  VAR_X, VAR_Y, VAR_H, VAR_W,
  VAR_T, VAR_MAX, VARS_NB, VAR_DAR,
  VAR_HSUB, VAR_VSUB, VAR_LINE_H, VAR_LH,
  VAR_MAIN_H, VAR_h, VAR_H, VAR_MAIN_W,
  VAR_w, VAR_W, VAR_MAX_GLYPH_A, VAR_ASCENT,
  VAR_MAX_GLYPH_D, VAR_DESCENT, VAR_MAX_GLYPH_H, VAR_MAX_GLYPH_W,
  VAR_N, VAR_SAR, VAR_T, VAR_TEXT_H,
  VAR_TH, VAR_TEXT_W, VAR_TW, VAR_X,
  VAR_Y, VAR_PICT_TYPE, VAR_PKT_POS, VAR_PKT_SIZE,
  VAR_DURATION, VAR_VARS_NB, VAR_N, VAR_POS,
  VAR_R, VAR_T, VAR_NB, VAR_SOURCE_FPS,
  VAR_FPS_NTSC, VAR_FPS_PAL, VAR_FPS_FILM, VAR_FPS_NTSC_FILM,
  VARS_NB, VAR_N, VAR_PTS, VAR_R,
  VAR_T, VAR_TB, VAR_NB, VAR_W,
  VAR_H, VAR_VAL, VAR_MAXVAL, VAR_MINVAL,
  VAR_NEGVAL, VAR_CLIPVAL, VAR_VARS_NB, VAR_W,
  VAR_H, VAR_X, VAR_Y, VAR_BITDEPTHX,
  VAR_BITDEPTHY, VAR_VARS_NB, VAR_MAIN_W, VAR_MW,
  VAR_MAIN_H, VAR_MH, VAR_OVERLAY_W, VAR_OW,
  VAR_OVERLAY_H, VAR_OH, VAR_HSUB, VAR_VSUB,
  VAR_X, VAR_Y, VAR_N, VAR_POS,
  VAR_T, VAR_VARS_NB, VAR_MAIN_W, VAR_MW,
  VAR_MAIN_H, VAR_MH, VAR_OVERLAY_W, VAR_OW,
  VAR_OVERLAY_H, VAR_OH, VAR_X, VAR_Y,
  VAR_N, VAR_POS, VAR_T, VAR_VARS_NB,
  VAR_MAIN_iW, VAR_MW, VAR_MAIN_iH, VAR_MH,
  VAR_OVERLAY_iW, VAR_OVERLAY_iH, VAR_OVERLAY_X, VAR_OX,
  VAR_OVERLAY_Y, VAR_OY, VAR_OVERLAY_W, VAR_OW,
  VAR_OVERLAY_H, VAR_OH, VAR_VARS_NB, VAR_IN_W,
  VAR_IW, VAR_IN_H, VAR_IH, VAR_OUT_W,
  VAR_OW, VAR_OUT_H, VAR_OH, VAR_X,
  VAR_Y, VAR_A, VAR_SAR, VAR_DAR,
  VAR_HSUB, VAR_VSUB, VARS_NB, VAR_IN_W,
  VAR_IW, VAR_IN_H, VAR_IH, VAR_OUT_W,
  VAR_OW, VAR_OUT_H, VAR_OH, VAR_X,
  VAR_Y, VAR_A, VAR_SAR, VAR_DAR,
  VARS_NB, VAR_W, VAR_H, VAR_VAL,
  VAR_YMIN, VAR_UMIN, VAR_VMIN, VAR_AMIN,
  VAR_YMAX, VAR_UMAX, VAR_VMAX, VAR_AMAX,
  VAR_VARS_NB, VAR_IN_W, VAR_IW, VAR_IN_H,
  VAR_IH, VAR_OUT_W, VAR_OW, VAR_OUT_H,
  VAR_OH, VAR_HSUB, VAR_VSUB, VAR_N,
  VAR_T, VAR_VARS_NB, VAR_IN_W, VAR_IW,
  VAR_IN_H, VAR_IH, VAR_OUT_W, VAR_OW,
  VAR_OUT_H, VAR_OH, VAR_A, VAR_SAR,
  VAR_DAR, VAR_HSUB, VAR_VSUB, VAR_OHSUB,
  VAR_OVSUB, VAR_N, VAR_T, VAR_POS,
  VAR_S2R_MAIN_W, VAR_S2R_MAIN_H, VAR_S2R_MAIN_A, VAR_S2R_MAIN_SAR,
  VAR_S2R_MAIN_DAR, VAR_S2R_MDAR, VAR_S2R_MAIN_HSUB, VAR_S2R_MAIN_VSUB,
  VAR_S2R_MAIN_N, VAR_S2R_MAIN_T, VAR_S2R_MAIN_POS, VARS_NB,
  VAR_IN_W, VAR_IW, VAR_IN_H, VAR_IH,
  VAR_OUT_W, VAR_OW, VAR_OUT_H, VAR_OH,
  VAR_A, VAR_SAR, VAR_DAR, VAR_N,
  VAR_T, VAR_POS, VAR_S2R_MAIN_W, VAR_S2R_MAIN_H,
  VAR_S2R_MAIN_A, VAR_S2R_MAIN_SAR, VAR_S2R_MAIN_DAR, VAR_S2R_MDAR,
  VAR_S2R_MAIN_N, VAR_S2R_MAIN_T, VAR_S2R_MAIN_POS, VARS_NB,
  VAR_PI, VAR_PHI, VAR_E, VAR_IN_W,
  VAR_IW, VAR_IN_H, VAR_IH, VAR_OUT_W,
  VAR_OW, VAR_OUT_H, VAR_OH, VAR_A,
  VAR_DAR, VAR_SAR, VARS_NB, VAR_W,
  VAR_H, VAR_N, VAR_PTS, VAR_R,
  VAR_T, VAR_TB, VAR_NB, VAR_iW,
  VAR_IN_W, VAR_iH, VAR_IN_H, VAR_oW,
  VAR_OUT_W, VAR_W, VAR_oH, VAR_OUT_H,
  VAR_H, CW, CH, CX,
  CY, VAR_VARS_NB, VAR_IN_W, VAR_IW,
  VAR_IN_H, VAR_IH, VAR_OUT_W, VAR_OW,
  VAR_OUT_H, VAR_OH, VAR_IN, VAR_ON,
  VAR_DURATION, VAR_PDURATION, VAR_IN_TIME, VAR_IT,
  VAR_TIME, VAR_OUT_TIME, VAR_OT, VAR_FRAME,
  VAR_ZOOM, VAR_PZOOM, VAR_X, VAR_PX,
  VAR_Y, VAR_PY, VAR_A, VAR_SAR,
  VAR_DAR, VAR_HSUB, VAR_VSUB, VARS_NB,
  VAR_IN_W, VAR_IW, VAR_IN_H, VAR_IH,
  VAR_OUT_W, VAR_OW, VAR_OUT_H, VAR_OH,
  VAR_A, VAR_SAR, VAR_DAR, VAR_HSUB,
  VAR_VSUB, VAR_OHSUB, VAR_OVSUB, VARS_NB,
  VAR_X, VAR_Y, VAR_W, VAR_H,
  VAR_TIME, VAR_SPEED, VAR_TEMPO, VAR_ORDER,
  VAR_PATTERN, VAR_ROW, VAR_VARS_NB
}
 

Functions

static double val (void *priv, double ch)
 
 AVFILTER_DEFINE_CLASS (aevalsrc)
 
static int parse_channel_expressions (AVFilterContext *ctx, int expected_nb_channels)
 
static av_cold int init (AVFilterContext *ctx)
 
static av_cold void uninit (AVFilterContext *ctx)
 
static int config_props (AVFilterLink *outlink)
 
static int query_formats (AVFilterContext *ctx)
 
static int activate (AVFilterContext *ctx)
 
 AVFILTER_DEFINE_CLASS (aeval)
 
static int aeval_query_formats (AVFilterContext *ctx)
 
static int aeval_config_output (AVFilterLink *outlink)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 

Variables

static const char *const var_names []
 
static double(*const aeval_func1 [])(void *, double) = { val, NULL }
 
static const char *const aeval_func1_names [] = { "val", NULL }
 
static const AVOption aevalsrc_options []
 
static const AVOption aeval_options []
 

Detailed Description

eval audio source

Definition in file aeval.c.

Macro Definition Documentation

◆ OFFSET [1/2]

#define OFFSET (   x)    offsetof(EvalContext, x)

Definition at line 336 of file aeval.c.

◆ FLAGS [1/2]

Definition at line 337 of file aeval.c.

◆ ADD_EXPRESSION

#define ADD_EXPRESSION (   expr_)
Value:
do { \
ret = av_dynarray_add_nofree(&eval->expr, \
&eval->nb_channels, NULL); \
if (ret < 0) \
goto end; \
eval->expr[eval->nb_channels-1] = NULL; \
ret = av_expr_parse(&eval->expr[eval->nb_channels - 1], expr_, \
NULL, NULL, 0, ctx); \
if (ret < 0) \
goto end; \
} while (0)

◆ OFFSET [2/2]

#define OFFSET (   x)    offsetof(EvalContext, x)

Definition at line 336 of file aeval.c.

◆ FLAGS [2/2]

Definition at line 337 of file aeval.c.

Enumeration Type Documentation

◆ var_name

enum var_name
Enumerator
VAR_N 
VAR_TB 
VAR_PTS 
VAR_DTS 
VAR_NOPTS 
VAR_STARTPTS 
VAR_STARTDTS 
VAR_DURATION 
VAR_D 
VAR_POS 
VAR_SIZE 
VAR_KEY 
VAR_STATE 
VAR_VARS_NB 
VAR_N 
VAR_TS 
VAR_POS 
VAR_PREV_INPTS 
VAR_PREV_INDTS 
VAR_PREV_INDUR 
VAR_PREV_OUTPTS 
VAR_PREV_OUTDTS 
VAR_PREV_OUTDUR 
VAR_NEXT_PTS 
VAR_NEXT_DTS 
VAR_NEXT_DUR 
VAR_PTS 
VAR_DTS 
VAR_DURATION 
VAR_STARTPTS 
VAR_STARTDTS 
VAR_TB 
VAR_TB_OUT 
VAR_SR 
VAR_NOPTS 
VAR_VARS_NB 
VAR_CH 
VAR_N 
VAR_NB_IN_CHANNELS 
VAR_NB_OUT_CHANNELS 
VAR_T 
VAR_S 
VAR_VARS_NB 
VAR_W 
VAR_H 
VAR_CW 
VAR_CH 
VAR_HSUB 
VAR_VSUB 
VARS_NB 
VAR_VALUE1 
VAR_VALUE2 
VAR_FRAMEVAL 
VAR_USERVAL 
VAR_VARS_NB 
VAR_TB 
VAR_PTS 
VAR_START_PTS 
VAR_PREV_PTS 
VAR_PREV_SELECTED_PTS 
VAR_T 
VAR_START_T 
VAR_PREV_T 
VAR_PREV_SELECTED_T 
VAR_PICT_TYPE 
VAR_I 
VAR_P 
VAR_B 
VAR_S 
VAR_SI 
VAR_SP 
VAR_BI 
VAR_PICT_TYPE_I 
VAR_PICT_TYPE_P 
VAR_PICT_TYPE_B 
VAR_PICT_TYPE_S 
VAR_PICT_TYPE_SI 
VAR_PICT_TYPE_SP 
VAR_PICT_TYPE_BI 
VAR_INTERLACE_TYPE 
VAR_INTERLACE_TYPE_P 
VAR_INTERLACE_TYPE_T 
VAR_INTERLACE_TYPE_B 
VAR_CONSUMED_SAMPLES_N 
VAR_SAMPLES_N 
VAR_SAMPLE_RATE 
VAR_N 
VAR_SELECTED_N 
VAR_PREV_SELECTED_N 
VAR_KEY 
VAR_POS 
VAR_SCENE 
VAR_CONCATDEC_SELECT 
VAR_VARS_NB 
VAR_N 
VAR_T 
VAR_POS 
VAR_PTS 
VAR_TS 
VAR_TE 
VAR_TI 
VAR_W 
VAR_H 
VAR_VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VAR_OHSUB 
VAR_OVSUB 
VARS_NB 
VAR_FRAME_RATE 
VAR_INTERLACED 
VAR_N 
VAR_NB_CONSUMED_SAMPLES 
VAR_NB_SAMPLES 
VAR_POS 
VAR_PREV_INPTS 
VAR_PREV_INT 
VAR_PREV_OUTPTS 
VAR_PREV_OUTT 
VAR_PTS 
VAR_SAMPLE_RATE 
VAR_STARTPTS 
VAR_STARTT 
VAR_T 
VAR_TB 
VAR_RTCTIME 
VAR_RTCSTART 
VAR_S 
VAR_SR 
VAR_FR 
VAR_VARS_NB 
VAR_AVTB 
VAR_INTB 
VAR_SR 
VAR_VARS_NB 
VAR_W 
VAR_H 
VAR_A 
VAR_DAR 
VAR_SAR 
VAR_HSUB 
VAR_VSUB 
VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VAR_X 
VAR_Y 
VAR_N 
VAR_POS 
VAR_T 
VAR_VARS_NB 
VAR_X 
VAR_Y 
VAR_W 
VAR_H 
VAR_N 
VAR_T 
VAR_VARS_NB 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VAR_IN_H 
VAR_IH 
VAR_IN_W 
VAR_IW 
VAR_SAR 
VAR_X 
VAR_Y 
VAR_H 
VAR_W 
VAR_T 
VAR_MAX 
VARS_NB 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VAR_LINE_H 
VAR_LH 
VAR_MAIN_H 
VAR_h 
VAR_H 
VAR_MAIN_W 
VAR_w 
VAR_W 
VAR_MAX_GLYPH_A 
VAR_ASCENT 
VAR_MAX_GLYPH_D 
VAR_DESCENT 
VAR_MAX_GLYPH_H 
VAR_MAX_GLYPH_W 
VAR_N 
VAR_SAR 
VAR_T 
VAR_TEXT_H 
VAR_TH 
VAR_TEXT_W 
VAR_TW 
VAR_X 
VAR_Y 
VAR_PICT_TYPE 
VAR_PKT_POS 
VAR_PKT_SIZE 
VAR_DURATION 
VAR_VARS_NB 
VAR_N 
VAR_POS 
VAR_R 
VAR_T 
VAR_NB 
VAR_SOURCE_FPS 
VAR_FPS_NTSC 
VAR_FPS_PAL 
VAR_FPS_FILM 
VAR_FPS_NTSC_FILM 
VARS_NB 
VAR_N 
VAR_PTS 
VAR_R 
VAR_T 
VAR_TB 
VAR_NB 
VAR_W 
VAR_H 
VAR_VAL 
VAR_MAXVAL 
VAR_MINVAL 
VAR_NEGVAL 
VAR_CLIPVAL 
VAR_VARS_NB 
VAR_W 
VAR_H 
VAR_X 
VAR_Y 
VAR_BITDEPTHX 
VAR_BITDEPTHY 
VAR_VARS_NB 
VAR_MAIN_W 
VAR_MW 
VAR_MAIN_H 
VAR_MH 
VAR_OVERLAY_W 
VAR_OW 
VAR_OVERLAY_H 
VAR_OH 
VAR_HSUB 
VAR_VSUB 
VAR_X 
VAR_Y 
VAR_N 
VAR_POS 
VAR_T 
VAR_VARS_NB 
VAR_MAIN_W 
VAR_MW 
VAR_MAIN_H 
VAR_MH 
VAR_OVERLAY_W 
VAR_OW 
VAR_OVERLAY_H 
VAR_OH 
VAR_X 
VAR_Y 
VAR_N 
VAR_POS 
VAR_T 
VAR_VARS_NB 
VAR_MAIN_iW 
VAR_MW 
VAR_MAIN_iH 
VAR_MH 
VAR_OVERLAY_iW 
VAR_OVERLAY_iH 
VAR_OVERLAY_X 
VAR_OX 
VAR_OVERLAY_Y 
VAR_OY 
VAR_OVERLAY_W 
VAR_OW 
VAR_OVERLAY_H 
VAR_OH 
VAR_VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_X 
VAR_Y 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_X 
VAR_Y 
VAR_A 
VAR_SAR 
VAR_DAR 
VARS_NB 
VAR_W 
VAR_H 
VAR_VAL 
VAR_YMIN 
VAR_UMIN 
VAR_VMIN 
VAR_AMIN 
VAR_YMAX 
VAR_UMAX 
VAR_VMAX 
VAR_AMAX 
VAR_VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_HSUB 
VAR_VSUB 
VAR_N 
VAR_T 
VAR_VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VAR_OHSUB 
VAR_OVSUB 
VAR_N 
VAR_T 
VAR_POS 
VAR_S2R_MAIN_W 
VAR_S2R_MAIN_H 
VAR_S2R_MAIN_A 
VAR_S2R_MAIN_SAR 
VAR_S2R_MAIN_DAR 
VAR_S2R_MDAR 
VAR_S2R_MAIN_HSUB 
VAR_S2R_MAIN_VSUB 
VAR_S2R_MAIN_N 
VAR_S2R_MAIN_T 
VAR_S2R_MAIN_POS 
VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_N 
VAR_T 
VAR_POS 
VAR_S2R_MAIN_W 
VAR_S2R_MAIN_H 
VAR_S2R_MAIN_A 
VAR_S2R_MAIN_SAR 
VAR_S2R_MAIN_DAR 
VAR_S2R_MDAR 
VAR_S2R_MAIN_N 
VAR_S2R_MAIN_T 
VAR_S2R_MAIN_POS 
VARS_NB 
VAR_PI 
VAR_PHI 
VAR_E 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_A 
VAR_DAR 
VAR_SAR 
VARS_NB 
VAR_W 
VAR_H 
VAR_N 
VAR_PTS 
VAR_R 
VAR_T 
VAR_TB 
VAR_NB 
VAR_iW 
VAR_IN_W 
VAR_iH 
VAR_IN_H 
VAR_oW 
VAR_OUT_W 
VAR_W 
VAR_oH 
VAR_OUT_H 
VAR_H 
CW 
CH 
CX 
CY 
VAR_VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_IN 
VAR_ON 
VAR_DURATION 
VAR_PDURATION 
VAR_IN_TIME 
VAR_IT 
VAR_TIME 
VAR_OUT_TIME 
VAR_OT 
VAR_FRAME 
VAR_ZOOM 
VAR_PZOOM 
VAR_X 
VAR_PX 
VAR_Y 
VAR_PY 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VARS_NB 
VAR_IN_W 
VAR_IW 
VAR_IN_H 
VAR_IH 
VAR_OUT_W 
VAR_OW 
VAR_OUT_H 
VAR_OH 
VAR_A 
VAR_SAR 
VAR_DAR 
VAR_HSUB 
VAR_VSUB 
VAR_OHSUB 
VAR_OVSUB 
VARS_NB 
VAR_X 
VAR_Y 
VAR_W 
VAR_H 
VAR_TIME 
VAR_SPEED 
VAR_TEMPO 
VAR_ORDER 
VAR_PATTERN 
VAR_ROW 
VAR_VARS_NB 

Definition at line 48 of file aeval.c.

Function Documentation

◆ val()

static double val ( void *  priv,
double  ch 
)
static

Definition at line 77 of file aeval.c.

Referenced by aa_read_header(), ac_uncompress(), add_entry1(), add_opt(), addroi_config_input(), adpcm_decode_frame(), aic_decode_coeffs(), alac_linear_predictor(), aligned(), all_same(), amf_get_property_buffer(), amf_set_property_buffer(), apcm_dequant_add(), apply_param_change(), arith2_get_number(), arith2_get_prob(), arith_get_bits(), arith_get_number(), arith_get_prob(), ascii_to_wc(), aura_decode_frame(), av_disposition_to_string(), av_freep(), av_get_colorspace_name(), av_opt_get_key_value(), av_opt_set(), av_opt_set_bin(), av_opt_set_defaults2(), av_opt_set_dict_val(), av_opt_set_double(), av_opt_set_int(), av_opt_set_q(), av_opt_set_video_rate(), av_packet_unpack_dictionary(), av_read_image_line2(), av_reallocp(), av_reallocp_array(), av_small_strptime(), av_sqrt_sf(), av_write_image_line2(), avio_rb16(), avio_rb24(), avio_rb32(), avio_rb64(), avio_rl16(), avio_rl24(), avio_rl32(), avio_rl64(), avio_wb16(), avio_wb24(), avio_wb32(), avio_wb64(), avio_wl16(), avio_wl24(), avio_wl32(), avio_wl64(), avisynth_open_file(), aw_pulse_set1(), binkb_get_value(), block_fill(), bound(), build_chord_set(), build_vlc(), bytestream2_get_levarint(), calc_add_mv(), camera_status_string(), cdtoons_render_sprite(), celt_cwrsi(), cfhd_init(), check_mc(), check_opt_bitexact(), chomp3(), chomp6(), clip(), clip_with_log(), codeblock(), codecctl_int(), compat_sem_init(), compress_alpha(), compute_gammaval(), compute_gammaval709(), config_input(), config_output(), config_props(), convert(), copy_8bit_value_width16_msa(), copy_8bit_value_width8_msa(), copyadd_block(), count_vc2_ue_uint(), create_default_qtables(), create_entry(), date_get_num(), dc_127_16x16_c(), dc_127_32x32_c(), dc_127_4x4_c(), dc_127_8x8_c(), dc_128_16x16_c(), dc_128_32x32_c(), dc_128_4x4_c(), dc_128_8x8_c(), dc_129_16x16_c(), dc_129_32x32_c(), dc_129_4x4_c(), dc_129_8x8_c(), dds_decode(), dec_bark_env(), dec_gain(), decode_0(), decode_aiff_header(), decode_block(), decode_block_progressive(), decode_block_refinement(), decode_bmv_frame(), decode_clnpass(), decode_coeff(), decode_coeffs_b_generic(), decode_const_block_data(), decode_dc_progressive(), decode_dct(), decode_exp_lsp(), decode_fixed_sparse(), decode_frame(), decode_huffman2(), decode_i_block(), decode_pivot(), decode_pixel(), decode_qu_spectra(), decode_row(), decode_scale_factors(), decode_static1(), decode_static2(), decode_static3(), decode_sym(), decode_sym_565(), decompress_68(), delta_decode(), dnxhd_mb_var_thread(), do_hsvhold16_slice(), do_hsvhold_slice(), do_hsvkey16_slice(), do_hsvkey_pixel(), do_hsvkey_slice(), dss_sp_get_normalize_bits(), ebml_writer_add_float(), ebml_writer_add_sint(), ebml_writer_add_uid(), ebml_writer_add_uint(), ebml_writer_elem_write(), encode_ac_coeffs(), encode_block(), encode_codeword(), encode_color_spec(), encode_frame(), encode_vlc_codeword(), error_state_callback_string(), estimate_sid_gain(), estimate_vlc(), extend_code(), fast_malloc(), ff_amf_read_number(), ff_amf_write_bool(), ff_amf_write_number(), ff_amr_set_fixed_gain(), ff_ape_parse_tag(), ff_celp_lp_synthesis_filterf(), ff_dirac_golomb_read_16bit(), ff_dirac_golomb_read_32bit(), ff_draw_color(), ff_fill_block16_msa(), ff_fill_block8_msa(), ff_h263_decode_motion(), ff_h263_encode_motion(), ff_h264_build_ref_list(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_int_from_list_or_default(), ff_lsp2polyf(), ff_mjpeg_encode_coef(), ff_mjpeg_encode_dc(), ff_mjpeg_encode_huffman_close(), ff_mjpeg_encode_huffman_increment(), ff_msmpeg4_encode_mb(), ff_mss12_model_update(), ff_nut_reset_ts(), ff_opus_rc_enc_cdf(), ff_opus_rc_enc_laplace(), ff_opus_rc_enc_log(), ff_opus_rc_enc_uint(), ff_opus_rc_enc_uint_step(), ff_opus_rc_put_raw(), ff_rm_read_mdpr_codecdata(), ff_snappy_uncompress(), ff_tag_tree_zero(), ff_tee_parse_slave_options(), ff_text_r8(), ff_tx_mdct_naive_inv(), ff_vdpau_common_end_frame(), ff_vp8_luma_dc_wht_dc_mmi(), ff_wmv2_decode_mb(), ff_wmv2_encode_mb(), ffintscan(), ffio_read_varlen(), fill_rectangle(), fillPlane(), filter_frame(), find_marker(), find_next_start_code(), format_child_class_iterate(), frac_init(), frame_header_obu(), g2m_load_cursor(), gather_input(), get_aiff_header(), get_bool_name(), get_cabac_bypass_sign(), get_cabac_bypass_sign_loongarch(), get_cabac_bypass_sign_mips(), get_coeff(), get_coeff_bits(), get_content_type(), get_content_url(), get_dimension(), get_geokey_val(), get_level(), get_master_clock(), get_mvdata_interlaced(), get_opcodes(), get_prediction(), get_utf8(), get_v_length(), get_val_from_nodes_tab(), h261_decode_gob_header(), h261_encode_motion(), h263_decode_gob_header(), h263_get_motion_length(), h263p_encode_umotion(), hdr_decode_frame(), heap_sift(), hevc_idct_dc_16x16_msa(), hevc_idct_dc_32x32_msa(), hevc_idct_dc_4x4_msa(), hevc_idct_dc_8x8_msa(), hevc_intra_pred_dc_16x16_msa(), hevc_intra_pred_dc_8x8_msa(), hls_slice_header(), hq_decode_block(), hqx_get_ac(), hScale16To15_c(), hScale16To19_c(), hScale8To15_c(), hScale8To19_c(), hScale_real(), init(), init_mv_penalty_and_fcode(), init_report(), intersection_word(), ivi_decode_coded_blocks(), ivr_read_header(), jpg_decode_block(), kmvc_decode_inter_8x8(), kmvc_decode_intra_8x8(), l1_unscale(), l2_unscale_group(), lag_decode_prob(), lag_get_rac(), latm_parse_packet(), lfo_get(), lfo_get_value(), loco_decode_plane(), loco_get_rice_param(), loco_update_rice_param(), lowpass_prediction(), lpc_prediction(), ls_encode_regular(), ls_encode_runterm(), mace_decode_frame(), main(), make_gauss_kernel(), match_stream_specifier(), max_nbits(), media_status_string(), memset_bpc(), mode1112(), mode19(), mode20(), model256_update(), model_update(), mov_parse_stsd_data(), mov_parse_uuid_spherical(), mov_read_custom(), mov_read_udta_string(), mp3_update_xing(), mpeg_decode_mb(), mpeg_decode_motion(), mpegaudiodec_common_init_static(), mpegts_write_pes(), mpegts_write_pmt(), mpegts_write_sdt(), msmpeg4v2_decode_motion(), msmpeg4v2_encode_motion(), msmpeg4v34_decode_mb(), mss4_decode_dct(), mxf_get_wrapping_kind(), myrnd(), nelly_decode_block(), nvenc_check_cap(), of_add_metadata(), ogm_chapter(), old_codec1(), on2avc_decode_pairs(), on2avc_decode_quads(), pack_fcb_param(), parse_cc_stream_mapstring(), parse_content_length(), parse_fmtp(), parse_int(), parse_key_value_pair(), parse_m3d(), parse_manifest(), parse_manifest_representation(), parse_manifest_segmenttimeline(), parse_programinformation(), parse_psfile(), parse_section_header(), parse_variant_stream_mapstring(), pcm_read_header(), pick_4(), pick_5(), pick_6(), pick_8(), pop(), pp_get_mode_by_name_and_quality(), predict_intra(), print_chroma_location(), print_color_range(), print_color_space(), print_color_trc(), print_primaries(), print_threestate(), printval(), pulse_audio_sink_input_cb(), pulse_stream_writable(), put16(), put_bits(), put_ebml_float(), put_ebml_uint(), put_payload_header(), put_s(), put_tt(), put_v(), put_vc2_ue_uint(), qpeg_decode_inter(), quant_array_idx(), quantize_pcm(), rac_get_bits(), rac_get_model256_sym(), rac_get_model_sym(), read_coeffs_coarse(), read_len_table(), read_scalefactors(), read_table(), record_block(), resample_common_TMPL(), resample_linear_TMPL(), ringbuf_float_at(), rl2_rle_decode(), roi_shift_param(), run_implementation(), sdt_cb(), sender_thread(), separate_output_names(), set_frame_data(), set_meta(), set_param(), set_src_position(), set_string(), set_string_binary(), set_string_bool(), set_string_channel_layout(), set_string_color(), set_string_dict(), set_string_fmt(), set_string_image_size(), set_string_number(), set_string_pixel_fmt(), set_string_sample_fmt(), set_string_video_rate(), setup_pps(), sgi_rle_encode(), sign_extend(), sint_size(), smacker_decode_bigtree(), smka_decode_frame(), snappy_copy1(), snappy_copy2(), snappy_copy4(), snappy_literal(), spdif_put_16(), square_root(), store_table(), tag_tree_decode(), tdsc_load_cursor(), test_separators(), tm2_get_token(), tnput(), tscc2_decode_frame(), tscc2_decode_mb(), twinvq_memset_float(), uint_size(), union_word(), unpack_alpha(), unquant_block(), unsharp_opencl_make_filter_params(), update_metadata(), update_model1_to_2(), update_model1_to_4(), update_model1_to_5(), update_model2_to_3(), url_alloc_for_protocol(), utf8len(), v210_enc_TMPL(), v210_planar_pack_10_c(), v210_planar_pack_8_c(), v210_planar_unpack_c(), v410_decode_slice(), v410_encode_frame(), v4l2_prepare_encoder(), val_in_array(), vble_restore_plane(), vble_unpack(), vc1_decode_b_mb(), vc1_decode_b_mb_intfi(), vc1_decode_b_mb_intfr(), vc1_decode_i_blocks(), vc1_decode_i_blocks_adv(), vc1_decode_p_mb(), vc1_decode_p_mb_intfi(), vc1_decode_p_mb_intfr(), vdpau_av1_decode_slice(), vdpau_av1_end_frame(), vdpau_h264_decode_slice(), vdpau_h264_end_frame(), vdpau_hevc_decode_slice(), vdpau_hevc_end_frame(), vdpau_mpeg_decode_slice(), vdpau_vc1_decode_slice(), vdpau_vp9_decode_slice(), vdpau_vp9_end_frame(), vorbis_floor1_decode(), vorbisfloat2float(), vp6_get_nb_null(), vp9_idct8x8_1_add_lsx(), vp9_idct8x8_1_add_msa(), wavesynth_synth_sample(), wavpack_decode_block(), wma_decode_block(), wp_exp2(), wp_log2(), write_pts(), write_sm_data(), write_utf8(), writer_print_integer(), writer_print_string(), X264_init(), xan_decode_chroma(), xan_huffman_decode(), xbm_decode_frame(), xiph_lacing_16bit(), xiph_lacing_full(), xwd_encode_frame(), yuv2p010l1_c(), yuv2p010lX_c(), yuv2plane1_16_c_template(), yuv2plane1_8_c(), yuv2plane1_float(), yuv2plane1_float_bswap_c_template(), yuv2plane1_float_c_template(), yuv2planeX_10_c_template(), yuv2planeX_16_c_template(), yuv2planeX_8_16(), yuv2planeX_8_c(), yuv2planeX_8_ref(), yuv2planeX_float_bswap_c_template(), yuv2planeX_float_c_template(), and zero_extend().

◆ AVFILTER_DEFINE_CLASS() [1/2]

AVFILTER_DEFINE_CLASS ( aevalsrc  )

◆ parse_channel_expressions()

static int parse_channel_expressions ( AVFilterContext ctx,
int  expected_nb_channels 
)
static

Definition at line 104 of file aeval.c.

Referenced by aeval_config_output(), and init().

◆ init()

static av_cold int init ( AVFilterContext ctx)
static

Definition at line 172 of file aeval.c.

◆ uninit()

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 210 of file aeval.c.

◆ config_props()

static int config_props ( AVFilterLink outlink)
static

Definition at line 224 of file aeval.c.

◆ query_formats()

static int query_formats ( AVFilterContext ctx)
static

Definition at line 245 of file aeval.c.

◆ activate()

static int activate ( AVFilterContext ctx)
static

Definition at line 264 of file aeval.c.

◆ AVFILTER_DEFINE_CLASS() [2/2]

AVFILTER_DEFINE_CLASS ( aeval  )

◆ aeval_query_formats()

static int aeval_query_formats ( AVFilterContext ctx)
static

Definition at line 348 of file aeval.c.

◆ aeval_config_output()

static int aeval_config_output ( AVFilterLink outlink)
static

Definition at line 382 of file aeval.c.

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 411 of file aeval.c.

Variable Documentation

◆ var_names

const char* const var_names[]
static
Initial value:
= {
"ch",
"n",
"nb_in_channels",
"nb_out_channels",
"t",
"s",
}

Definition at line 38 of file aeval.c.

◆ aeval_func1

double(* const aeval_func1[])(void *, double) = { val, NULL }
static

Definition at line 83 of file aeval.c.

Referenced by parse_channel_expressions().

◆ aeval_func1_names

const char* const aeval_func1_names[] = { "val", NULL }
static

Definition at line 84 of file aeval.c.

Referenced by parse_channel_expressions().

◆ aevalsrc_options

const AVOption aevalsrc_options[]
static
Initial value:
= {
{ "exprs", "set the '|'-separated list of channels expressions", OFFSET(exprs), AV_OPT_TYPE_STRING, {.str = NULL}, .flags = FLAGS },
{ "nb_samples", "set the number of samples per requested frame", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.i64 = 1024}, 0, INT_MAX, FLAGS },
{ "n", "set the number of samples per requested frame", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.i64 = 1024}, 0, INT_MAX, FLAGS },
{ "sample_rate", "set the sample rate", OFFSET(sample_rate_str), AV_OPT_TYPE_STRING, {.str = "44100"}, 0, 0, FLAGS },
{ "s", "set the sample rate", OFFSET(sample_rate_str), AV_OPT_TYPE_STRING, {.str = "44100"}, 0, 0, FLAGS },
{ "duration", "set audio duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS },
{ "d", "set audio duration", OFFSET(duration), AV_OPT_TYPE_DURATION, {.i64 = -1}, -1, INT64_MAX, FLAGS },
{ "channel_layout", "set channel layout", OFFSET(chlayout_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ "c", "set channel layout", OFFSET(chlayout_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ NULL }
}

Definition at line 89 of file aeval.c.

◆ aeval_options

const AVOption aeval_options[]
static
Initial value:
= {
{ "exprs", "set the '|'-separated list of channels expressions", OFFSET(exprs), AV_OPT_TYPE_STRING, {.str = NULL}, .flags = FLAGS },
{ "channel_layout", "set channel layout", OFFSET(chlayout_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ "c", "set channel layout", OFFSET(chlayout_str), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, FLAGS },
{ NULL }
}

Definition at line 339 of file aeval.c.

FLAGS
#define FLAGS
Definition: aeval.c:337
AV_OPT_TYPE_DURATION
@ AV_OPT_TYPE_DURATION
Definition: opt.h:239
av_expr_parse
int av_expr_parse(AVExpr **expr, const char *s, const char *const *const_names, const char *const *func1_names, double(*const *funcs1)(void *, double), const char *const *func2_names, double(*const *funcs2)(void *, double, double), int log_offset, void *log_ctx)
Parse an expression.
Definition: eval.c:685
func1_names
static const char *const func1_names[]
Definition: vf_rotate.c:188
duration
int64_t duration
Definition: movenc.c:64
ctx
AVFormatContext * ctx
Definition: movenc.c:48
NULL
#define NULL
Definition: coverity.c:32
OFFSET
#define OFFSET(x)
Definition: aeval.c:336
func1
static double(*const func1[])(void *, double)
Definition: vf_rotate.c:182
ret
ret
Definition: filter_design.txt:187
av_dynarray_add_nofree
int av_dynarray_add_nofree(void *tab_ptr, int *nb_ptr, void *elem)
Add an element to a dynamic array.
Definition: mem.c:323
var_names
static const char *const var_names[]
Definition: aeval.c:38
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:225
AV_OPT_TYPE_STRING
@ AV_OPT_TYPE_STRING
Definition: opt.h:229