FFmpeg
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 CUBE(a)   ((a)*(a)*(a))
 
#define FADE_PLANAR(name, type)
 
#define FADE(name, type)
 

Enumerations

enum  CurveType {
  TRI, QSIN, ESIN, HSIN,
  LOG, IPAR, QUA, CUB,
  SQU, CBR, PAR, EXP,
  IQSIN, IHSIN, DESE, DESI,
  LOSI, NONE, 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

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

Definition at line 56 of file af_afade.c.

Referenced by config_output().

Definition at line 57 of file af_afade.c.

Referenced by config_output().

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

Referenced by fade_gain().

#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; \
} \
} \
}
channels
Definition: aptx.c:30
GLint GLenum type
Definition: opengl_enc.c:104
#define src
Definition: vp8dsp.c:254
uint8_t
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
Definition: undefined.txt:32
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:259
#define s(width, name)
Definition: cbs_vp9.c:257
int
static double fade_gain(int curve, int64_t index, int64_t range)
Definition: af_afade.c:92
void INT64 start
Definition: avisynth_c.h:766
for(j=16;j >0;--j)
const char * name
Definition: opengl_enc.c:102

Definition at line 164 of file af_afade.c.

#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; \
} \
}
channels
Definition: aptx.c:30
GLint GLenum type
Definition: opengl_enc.c:104
#define src
Definition: vp8dsp.c:254
uint8_t
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
Definition: undefined.txt:32
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:259
#define s(width, name)
Definition: cbs_vp9.c:257
int
static double fade_gain(int curve, int64_t index, int64_t range)
Definition: af_afade.c:92
void INT64 start
Definition: avisynth_c.h:766
for(j=16;j >0;--j)
const char * name
Definition: opengl_enc.c:102

Definition at line 182 of file af_afade.c.

Enumeration Type Documentation

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

Definition at line 54 of file af_afade.c.

Function Documentation

static int query_formats ( AVFilterContext ctx)
static

Definition at line 59 of file af_afade.c.

Referenced by config_output().

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

Definition at line 92 of file af_afade.c.

static int config_output ( AVFilterLink outlink)
static

Definition at line 208 of file af_afade.c.