FFmpeg  4.4
Data Structures | Macros | Enumerations | Functions | Variables
af_adenorm.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
#include "audio.h"
#include "avfilter.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  ADenormContext
 
struct  ThreadData
 Used for passing data between threads. More...
 

Macros

#define OFFSET(x)   offsetof(ADenormContext, x)
 
#define FLAGS   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
 

Enumerations

enum  FilterType {
  DC_TYPE , AC_TYPE , SQ_TYPE , PS_TYPE ,
  NB_TYPES , BUTTERWORTH , CHEBYSHEV1 , CHEBYSHEV2 ,
  NB_TYPES , biquad , equalizer , bass ,
  treble , bandpass , bandreject , allpass ,
  highpass , lowpass , lowshelf , highshelf ,
  WEAK , STRONG , NB_FILTER , LOWPASS ,
  FLAT , AFLAT , CHROMA , COLOR ,
  ACOLOR , XFLAT , YFLAT , NB_FILTERS
}
 

Functions

static int query_formats (AVFilterContext *ctx)
 
static void dc_denorm_fltp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void dc_denorm_dblp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void ac_denorm_fltp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void ac_denorm_dblp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void sq_denorm_fltp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void sq_denorm_dblp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void ps_denorm_fltp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static void ps_denorm_dblp (AVFilterContext *ctx, void *dstp, const void *srcp, int nb_samples)
 
static int config_output (AVFilterLink *outlink)
 
static int filter_channels (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 
static int process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
 
 AVFILTER_DEFINE_CLASS (adenorm)
 

Variables

static const AVFilterPad adenorm_inputs []
 
static const AVFilterPad adenorm_outputs []
 
static const AVOption adenorm_options []
 
AVFilter ff_af_adenorm
 

Macro Definition Documentation

◆ OFFSET

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

Definition at line 306 of file af_adenorm.c.

◆ FLAGS

Definition at line 307 of file af_adenorm.c.

Enumeration Type Documentation

◆ FilterType

enum FilterType
Enumerator
DC_TYPE 
AC_TYPE 
SQ_TYPE 
PS_TYPE 
NB_TYPES 
BUTTERWORTH 
CHEBYSHEV1 
CHEBYSHEV2 
NB_TYPES 
biquad 
equalizer 
bass 
treble 
bandpass 
bandreject 
allpass 
highpass 
lowpass 
lowshelf 
highshelf 
WEAK 
STRONG 
NB_FILTER 
LOWPASS 
FLAT 
AFLAT 
CHROMA 
COLOR 
ACOLOR 
XFLAT 
YFLAT 
NB_FILTERS 

Definition at line 26 of file af_adenorm.c.

Function Documentation

◆ query_formats()

static int query_formats ( AVFilterContext ctx)
static

Definition at line 46 of file af_adenorm.c.

◆ dc_denorm_fltp()

static void dc_denorm_fltp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 75 of file af_adenorm.c.

Referenced by config_output().

◆ dc_denorm_dblp()

static void dc_denorm_dblp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 88 of file af_adenorm.c.

Referenced by config_output().

◆ ac_denorm_fltp()

static void ac_denorm_fltp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 101 of file af_adenorm.c.

Referenced by config_output().

◆ ac_denorm_dblp()

static void ac_denorm_dblp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 115 of file af_adenorm.c.

Referenced by config_output().

◆ sq_denorm_fltp()

static void sq_denorm_fltp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 129 of file af_adenorm.c.

Referenced by config_output().

◆ sq_denorm_dblp()

static void sq_denorm_dblp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 143 of file af_adenorm.c.

Referenced by config_output().

◆ ps_denorm_fltp()

static void ps_denorm_fltp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 157 of file af_adenorm.c.

Referenced by config_output().

◆ ps_denorm_dblp()

static void ps_denorm_dblp ( AVFilterContext ctx,
void dstp,
const void srcp,
int  nb_samples 
)
static

Definition at line 171 of file af_adenorm.c.

Referenced by config_output().

◆ config_output()

static int config_output ( AVFilterLink outlink)
static

Definition at line 185 of file af_adenorm.c.

Referenced by process_command().

◆ filter_channels()

static int filter_channels ( AVFilterContext ctx,
void arg,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 226 of file af_adenorm.c.

Referenced by filter_frame().

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 244 of file af_adenorm.c.

◆ process_command()

static int process_command ( AVFilterContext ctx,
const char *  cmd,
const char *  args,
char *  res,
int  res_len,
int  flags 
)
static

Definition at line 275 of file af_adenorm.c.

◆ AVFILTER_DEFINE_CLASS()

AVFILTER_DEFINE_CLASS ( adenorm  )

Variable Documentation

◆ adenorm_inputs

const AVFilterPad adenorm_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = filter_frame,
},
{ NULL }
}
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
Definition: af_adenorm.c:244
#define NULL
Definition: coverity.c:32
@ AVMEDIA_TYPE_AUDIO
Definition: avutil.h:202

Definition at line 288 of file af_adenorm.c.

◆ adenorm_outputs

const AVFilterPad adenorm_outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_output,
},
{ NULL }
}
static int config_output(AVFilterLink *outlink)
Definition: af_adenorm.c:185

Definition at line 297 of file af_adenorm.c.

◆ adenorm_options

const AVOption adenorm_options[]
static
Initial value:
= {
{ "level", "set level", OFFSET(level_db), AV_OPT_TYPE_DOUBLE, {.dbl=-351}, -451, -90, FLAGS },
{ "type", "set type", OFFSET(type), AV_OPT_TYPE_INT, {.i64=DC_TYPE}, 0, NB_TYPES-1, FLAGS, "type" },
{ "dc", NULL, 0, AV_OPT_TYPE_CONST, {.i64=DC_TYPE}, 0, 0, FLAGS, "type"},
{ "ac", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AC_TYPE}, 0, 0, FLAGS, "type"},
{ "square",NULL, 0, AV_OPT_TYPE_CONST, {.i64=SQ_TYPE}, 0, 0, FLAGS, "type"},
{ "pulse", NULL, 0, AV_OPT_TYPE_CONST, {.i64=PS_TYPE}, 0, 0, FLAGS, "type"},
{ NULL }
}
#define FLAGS
Definition: af_adenorm.c:307
@ AC_TYPE
Definition: af_adenorm.c:28
@ PS_TYPE
Definition: af_adenorm.c:30
@ SQ_TYPE
Definition: af_adenorm.c:29
@ DC_TYPE
Definition: af_adenorm.c:27
@ NB_TYPES
Definition: af_adenorm.c:31
#define OFFSET(x)
Definition: af_adenorm.c:306
@ AV_OPT_TYPE_CONST
Definition: opt.h:234
@ AV_OPT_TYPE_INT
Definition: opt.h:225
@ AV_OPT_TYPE_DOUBLE
Definition: opt.h:227
cl_device_type type

Definition at line 309 of file af_adenorm.c.

◆ ff_af_adenorm

AVFilter ff_af_adenorm
Initial value:
= {
.name = "adenorm",
.description = NULL_IF_CONFIG_SMALL("Remedy denormals by adding extremely low-level noise."),
.query_formats = query_formats,
.priv_size = sizeof(ADenormContext),
.priv_class = &adenorm_class,
}
static const AVFilterPad inputs[]
Definition: af_acontrast.c:193
static const AVFilterPad outputs[]
Definition: af_acontrast.c:203
static int query_formats(AVFilterContext *ctx)
Definition: af_adenorm.c:46
static const AVFilterPad adenorm_inputs[]
Definition: af_adenorm.c:288
static const AVFilterPad adenorm_outputs[]
Definition: af_adenorm.c:297
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
Definition: af_adenorm.c:275
#define flags(name, subs,...)
Definition: cbs_av1.c:561
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
Definition: avfilter.h:126
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
Definition: avfilter.h:117
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:117

Definition at line 321 of file af_adenorm.c.