FFmpeg  4.4.5
Data Structures | Macros | Enumerations | Functions
af_afade.c File Reference

fade audio filter More...

#include "libavutil/opt.h"
#include "audio.h"
#include "avfilter.h"
#include "filters.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  AudioFadeContext
 

Macros

#define OFFSET(x)   offsetof(AudioFadeContext, x)
 
#define FLAGS   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
 
#define TFLAGS   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
 
#define CUBE(a)   ((a)*(a)*(a))
 
#define FADE_PLANAR(name, type)
 
#define FADE(name, type)
 

Enumerations

enum  CurveType {
  NONE = -1 , TRI , QSIN , ESIN ,
  HSIN , LOG , IPAR , QUA ,
  CUB , SQU , CBR , PAR ,
  EXP , IQSIN , IHSIN , DESE ,
  DESI , LOSI , SINC , ISINC ,
  NB_CURVES
}
 

Functions

static int query_formats (AVFilterContext *ctx)
 
static double fade_gain (int curve, int64_t index, int64_t range)
 
static int config_output (AVFilterLink *outlink)
 

Detailed Description

fade audio filter

Definition in file af_afade.c.

Macro Definition Documentation

◆ OFFSET

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

Definition at line 56 of file af_afade.c.

◆ FLAGS

Definition at line 57 of file af_afade.c.

◆ TFLAGS

Definition at line 58 of file af_afade.c.

◆ CUBE

#define CUBE (   a)    ((a)*(a)*(a))

◆ FADE_PLANAR

#define FADE_PLANAR (   name,
  type 
)
Value:
static void fade_samples_## name ##p(uint8_t **dst, uint8_t * const *src, \
int nb_samples, int channels, int dir, \
int64_t start, int64_t range, int curve) \
{ \
int i, c; \
for (i = 0; i < nb_samples; i++) { \
double gain = fade_gain(curve, start + i * dir, range); \
for (c = 0; c < channels; c++) { \
type *d = (type *)dst[c]; \
const type *s = (type *)src[c]; \
\
d[i] = s[i] * gain; \
} \
} \
}
static double fade_gain(int curve, int64_t index, int64_t range)
Definition: af_afade.c:93
channels
Definition: aptx.h:33
uint8_t
#define s(width, name)
Definition: cbs_vp9.c:257
long long int64_t
Definition: coverity.c:34
for(j=16;j >0;--j)
cl_device_type type
int i
Definition: input.c:407
const char * name
Definition: qsvenc.c:46
#define src
Definition: vp8dsp.c:255
static double c[64]

Definition at line 171 of file af_afade.c.

◆ FADE

#define FADE (   name,
  type 
)
Value:
static void fade_samples_## name (uint8_t **dst, uint8_t * const *src, \
int nb_samples, int channels, int dir, \
int64_t start, int64_t range, int curve) \
{ \
type *d = (type *)dst[0]; \
const type *s = (type *)src[0]; \
int i, c, k = 0; \
for (i = 0; i < nb_samples; i++) { \
double gain = fade_gain(curve, start + i * dir, range); \
for (c = 0; c < channels; c++, k++) \
d[k] = s[k] * gain; \
} \
}

Definition at line 189 of file af_afade.c.

Enumeration Type Documentation

◆ CurveType

enum CurveType
Enumerator
NONE 
TRI 
QSIN 
ESIN 
HSIN 
LOG 
IPAR 
QUA 
CUB 
SQU 
CBR 
PAR 
EXP 
IQSIN 
IHSIN 
DESE 
DESI 
LOSI 
SINC 
ISINC 
NB_CURVES 

Definition at line 54 of file af_afade.c.

Function Documentation

◆ query_formats()

static int query_formats ( AVFilterContext ctx)
static

Definition at line 60 of file af_afade.c.

◆ fade_gain()

static double fade_gain ( int  curve,
int64_t  index,
int64_t  range 
)
static

Definition at line 93 of file af_afade.c.

◆ config_output()

static int config_output ( AVFilterLink outlink)
static

Definition at line 215 of file af_afade.c.