FFmpeg  4.3.6
Data Structures | Macros | Enumerations | Functions | Variables
aeval.c File Reference

eval audio source More...

#include "libavutil/avassert.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 "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
 
#define TS2T(ts, tb)   ((ts) == AV_NOPTS_VALUE ? NAN : (double)(ts)*av_q2d(tb))
 

Enumerations

enum  var_name {
  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_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_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_DURATION,
  VAR_PKT_SIZE, VAR_VARS_NB, VAR_N, VAR_POS,
  VAR_R, VAR_T, VAR_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_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_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_TIME, 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 request_frame (AVFilterLink *outlink)
 
 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 339 of file aeval.c.

◆ FLAGS [1/2]

Definition at line 340 of file aeval.c.

◆ ADD_EXPRESSION

#define ADD_EXPRESSION (   expr_)
Value:
do { \
if (!av_dynarray2_add((void **)&eval->expr, &eval->nb_channels, \
sizeof(*eval->expr), NULL)) { \
ret = AVERROR(ENOMEM); \
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)
#define NULL
Definition: coverity.c:32
static const char *const func1_names[]
Definition: vf_rotate.c:196
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
static av_cold int end(AVCodecContext *avctx)
Definition: avrndec.c:92
static const char *const var_names[]
Definition: aeval.c:36
static double(*const func1[])(void *, double)
Definition: vf_rotate.c:190
#define AVERROR(e)
Definition: error.h:43
AVFormatContext * ctx
Definition: movenc.c:48
void * av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size, const uint8_t *elem_data)
Add an element of size elem_size to a dynamic array.
Definition: mem.c:324

Referenced by parse_channel_expressions().

◆ OFFSET [2/2]

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

Definition at line 339 of file aeval.c.

◆ FLAGS [2/2]

Definition at line 340 of file aeval.c.

◆ TS2T

#define TS2T (   ts,
  tb 
)    ((ts) == AV_NOPTS_VALUE ? NAN : (double)(ts)*av_q2d(tb))

Definition at line 419 of file aeval.c.

Referenced by filter_frame().

Enumeration Type Documentation

◆ var_name

enum var_name
Enumerator
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_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_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_DURATION 
VAR_PKT_SIZE 
VAR_VARS_NB 
VAR_N 
VAR_POS 
VAR_R 
VAR_T 
VAR_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_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_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_TIME 
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 46 of file aeval.c.

Function Documentation

◆ val()

static double val ( void priv,
double  ch 
)
static

Definition at line 76 of file aeval.c.

Referenced by aa_read_header(), add_entry1(), add_opt(), addroi_config_input(), adpcm_decode_frame(), aic_decode_coeffs(), alac_linear_predictor(), all_same(), 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_freep(), av_get_colorspace_name(), av_opt_get_key_value(), av_opt_set_defaults2(), 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(), avisynth_open_file(), aw_pulse_set1(), binkb_get_value(), build_vlc(), bytestream2_get_levarint(), cdtoons_render_sprite(), celt_cwrsi(), check_mc(), clip_with_log(), codeblock(), codecctl_int(), compress_alpha(), compute_gammaval(), compute_gammaval709(), config_input(), config_output(), config_props(), copyadd_block(), create_default_qtables(), 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_init_static(), decode_pivot(), decode_pixel(), decode_qu_spectra(), decode_scale_factors(), decode_static1(), decode_static2(), decode_static3(), decode_sym(), decode_sym_565(), decompress_68(), delta_decode(), dnxhd_mb_var_thread(), dss_sp_get_normalize_bits(), encode_ac_coeffs(), encode_block(), encode_color_spec(), encode_frame(), estimate_sid_gain(), extend_code(), ff_amr_set_fixed_gain(), ff_ape_parse_tag(), ff_celp_lp_synthesis_filterf(), ff_fast_malloc(), ff_h263_decode_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_increment(), ff_mpeg1_encode_init(), ff_msmpeg4_encode_mb(), ff_mss12_model_update(), ff_opus_rc_enc_laplace(), ff_rm_read_mdpr_codecdata(), ff_snappy_uncompress(), ff_tee_parse_slave_options(), ff_text_r8(), 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(), filter_frame(), find_marker(), find_next_start_code(), frac_init(), frame_header_obu(), g2m_load_cursor(), get_aiff_header(), get_coeff(), get_coeff_bits(), get_content_type(), get_dimension(), get_master_clock(), get_mvdata_interlaced(), get_opcodes(), get_utf8(), get_val_from_nodes_tab(), h261_decode_gob_header(), h261_encode_motion(), h263_decode_gob_header(), h263p_encode_umotion(), 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(), inv_bits(), 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(), memset_bpc(), mix_frames(), mmf_rate(), 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(), mpeg1_encode_motion(), mpeg_decode_mb(), mpeg_decode_motion(), 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(), old_codec1(), on2avc_decode_pairs(), on2avc_decode_quads(), open_output_file(), opus_rc_tell_frac(), 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(), pop(), pp_get_mode_by_name_and_quality(), print_chroma_location(), print_color_range(), print_color_space(), print_color_trc(), print_primaries(), pulse_audio_sink_input_cb(), pulse_stream_writable(), put16(), put_ebml_sint(), put_ebml_uint(), put_payload_header(), qpeg_decode_inter(), 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(), request_frame(), resample_common(), resample_linear(), resample_one(), rl2_rle_decode(), roi_shift_param(), run_implementation(), sdt_cb(), sender_thread(), set_frame_data(), set_param(), set_src_position(), setup_pps(), sgi_rle_encode(), smacker_decode_bigtree(), smka_decode_frame(), snappy_copy2(), snappy_copy4(), snappy_literal(), store_table(), tag_tree_code(), tag_tree_decode(), tdsc_load_cursor(), test_separators(), tm2_get_token(), tscc2_decode_frame(), tscc2_decode_mb(), twinvq_memset_float(), union_word(), unpack_alpha(), unquant_block(), unsharp_opencl_make_filter_params(), update_metadata(), url_alloc_for_protocol(), utf8len(), v210_decode_slice(), v210_enc(), v210_planar_pack_10_c(), v210_planar_pack_8_c(), v210_planar_unpack_c(), v410_decode_slice(), v410_encode_frame(), v4l2_prepare_encoder(), 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_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(), vp6_get_nb_null(), vp9_idct8x8_1_add_msa(), wavesynth_synth_sample(), wavpack_decode_block(), wma_decode_block(), wp_exp2(), write_pts(), write_sm_data(), X264_init(), xan_decode_chroma(), xan_huffman_decode(), xbm_decode_frame(), xiph_lacing_16bit(), xiph_lacing_full(), xwd_encode_frame(), yuv2NBPS(), 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_float_bswap_c_template(), and yuv2planeX_float_c_template().

◆ 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 103 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.

Referenced by filter_frame(), and request_frame().

◆ uninit()

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 210 of file aeval.c.

Referenced by filter_frame(), and request_frame().

◆ config_props()

static int config_props ( AVFilterLink outlink)
static

Definition at line 223 of file aeval.c.

Referenced by request_frame().

◆ query_formats()

static int query_formats ( AVFilterContext ctx)
static

Definition at line 244 of file aeval.c.

Referenced by filter_frame(), gate(), process_command(), request_frame(), and uninit().

◆ request_frame()

static int request_frame ( AVFilterLink outlink)
static

Definition at line 274 of file aeval.c.

Referenced by ff_request_frame(), and filter_frame().

◆ AVFILTER_DEFINE_CLASS() [2/2]

AVFILTER_DEFINE_CLASS ( aeval  )

◆ aeval_query_formats()

static int aeval_query_formats ( AVFilterContext ctx)
static

Definition at line 351 of file aeval.c.

Referenced by filter_frame().

◆ aeval_config_output()

static int aeval_config_output ( AVFilterLink outlink)
static

Definition at line 391 of file aeval.c.

Referenced by filter_frame().

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 421 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",
}
#define NULL
Definition: coverity.c:32

Definition at line 36 of file aeval.c.

Referenced by config_input(), filter_frame(), init_axis_color(), init_cqt(), and set_expr().

◆ aeval_func1

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

Definition at line 82 of file aeval.c.

Referenced by parse_channel_expressions().

◆ aeval_func1_names

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

Definition at line 83 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 }
}
#define NULL
Definition: coverity.c:32
int64_t duration
Definition: movenc.c:63
#define FLAGS
Definition: aeval.c:340
#define OFFSET(x)
Definition: aeval.c:339

Definition at line 88 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 }
}
#define NULL
Definition: coverity.c:32
#define FLAGS
Definition: aeval.c:340
#define OFFSET(x)
Definition: aeval.c:339

Definition at line 342 of file aeval.c.