FFmpeg
Loading...
Searching...
No Matches
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 "filters.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)
 
#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
}
 

Functions

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)
 
 AVFILTER_DEFINE_CLASS (adenorm)
 

Variables

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

Macro Definition Documentation

◆ OFFSET

#define OFFSET ( x)
Value:

Definition at line 250 of file af_adenorm.c.

◆ FLAGS

Enumeration Type Documentation

◆ FilterType

enum FilterType
Enumerator
DC_TYPE 
AC_TYPE 
SQ_TYPE 
PS_TYPE 
NB_TYPES 

Definition at line 26 of file af_adenorm.c.

Function Documentation

◆ dc_denorm_fltp()

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

Definition at line 46 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 59 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 72 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 86 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 100 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 114 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 128 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 142 of file af_adenorm.c.

Referenced by config_output().

◆ config_output()

static int config_output ( AVFilterLink * outlink)
static

Definition at line 156 of file af_adenorm.c.

◆ filter_channels()

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

Definition at line 185 of file af_adenorm.c.

◆ filter_frame()

static int filter_frame ( AVFilterLink * inlink,
AVFrame * in )
static

Definition at line 203 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,
},
}
static int filter_frame(DBEDecodeContext *s, AVFrame *frame)
Definition dolby_e.c:1067
@ AVMEDIA_TYPE_AUDIO
Definition avutil.h:201

Definition at line 234 of file af_adenorm.c.

◆ adenorm_outputs

const AVFilterPad adenorm_outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_output,
},
}
static int config_output(AVBitStreamFilterLink *outlink)

Definition at line 242 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, .unit = "type" },
{ "dc", NULL, 0, AV_OPT_TYPE_CONST, {.i64=DC_TYPE}, 0, 0, FLAGS, .unit = "type"},
{ "ac", NULL, 0, AV_OPT_TYPE_CONST, {.i64=AC_TYPE}, 0, 0, FLAGS, .unit = "type"},
{ "square",NULL, 0, AV_OPT_TYPE_CONST, {.i64=SQ_TYPE}, 0, 0, FLAGS, .unit = "type"},
{ "pulse", NULL, 0, AV_OPT_TYPE_CONST, {.i64=PS_TYPE}, 0, 0, FLAGS, .unit = "type"},
{ NULL }
}
@ 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 FLAGS
Definition cmdutils.c:598
#define NULL
Definition coverity.c:32
#define OFFSET(x)
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
Definition opt.h:298
@ AV_OPT_TYPE_INT
Underlying C type is int.
Definition opt.h:258
@ AV_OPT_TYPE_DOUBLE
Underlying C type is double.
Definition opt.h:266
cl_device_type type

Definition at line 253 of file af_adenorm.c.

◆ ff_af_adenorm

const FFFilter ff_af_adenorm
Initial value:
= {
.p.name = "adenorm",
.p.description = NULL_IF_CONFIG_SMALL("Remedy denormals by adding extremely low-level noise."),
.p.priv_class = &adenorm_class,
.priv_size = sizeof(ADenormContext),
.process_command = ff_filter_process_command,
}
static const AVFilterPad adenorm_inputs[]
Definition af_adenorm.c:234
static const AVFilterPad adenorm_outputs[]
Definition af_adenorm.c:242
int ff_filter_process_command(AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags)
Generic processing of user supplied commands that are set in the same way as the filter options.
Definition avfilter.c:906
#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:196
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
Definition avfilter.h:166
@ AV_SAMPLE_FMT_FLTP
float, planar
Definition samplefmt.h:66
@ AV_SAMPLE_FMT_DBLP
double, planar
Definition samplefmt.h:67
#define FILTER_INPUTS(array)
Definition filters.h:264
#define FILTER_OUTPUTS(array)
Definition filters.h:265
#define FILTER_SAMPLEFMTS(...)
Definition filters.h:252
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88

Definition at line 265 of file af_adenorm.c.