FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
af_afwtdn.c File Reference
#include <float.h>
#include "libavutil/avassert.h"
#include "libavutil/opt.h"
#include "avfilter.h"
#include "audio.h"
#include "filters.h"

Go to the source code of this file.

Data Structures

struct  ChannelParams
 sample data coding information More...
 
struct  AudioFWTDNContext
 
struct  ThreadData
 Used for passing data between threads. More...
 

Macros

#define MAX_LEVELS   13
 
#define OFFSET(x)   offsetof(AudioFWTDNContext, x)
 
#define AF   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
 
#define AFR   AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_RUNTIME_PARAM
 
#define pow2(x)   (1U << (x))
 
#define mod_pow2(x, power_of_two)   ((x) & ((power_of_two) - 1))
 

Enumerations

enum  WaveletTypes {
  SYM2, SYM4, RBIOR68, DEB10,
  SYM10, COIF5, BL3, NB_WAVELET_TYPES
}
 

Functions

 AVFILTER_DEFINE_CLASS (afwtdn)
 
static void conv_down (double *in, int in_length, double *low, double *high, int out_length, const double *lp, const double *hp, int wavelet_length, int skip, double *buffer, int buffer_length)
 
static int left_ext (int wavelet_length, int levels, uint64_t sn)
 
static int nb_coefs (int length, int level, uint64_t sn)
 
static int reallocate_inputs (double **out, int *out_length, int in_length, int levels, int ch, uint64_t sn)
 
static int max_left_zeros_inverse (int levels, int level, int wavelet_length)
 
static int reallocate_outputs (AudioFWTDNContext *s, double **out, int *out_length, int in_length, int levels, int ch, uint64_t sn)
 
static int discard_left_ext (int wavelet_length, int levels, int level, uint64_t sn)
 
static int forward (AudioFWTDNContext *s, const double *in, int in_length, double **out, int *out_length, int ch, uint64_t sn)
 
static void conv_up (double *low, double *high, int in_length, double *out, int out_length, const double *lp, const double *hp, int filter_length, double *buffer, double *buffer2, int buffer_length)
 
static int append_left_ext (int wavelet_length, int levels, int level, uint64_t sn)
 
static int inverse (AudioFWTDNContext *s, double **in, int *in_length, double *out, int out_length, int ch, uint64_t sn)
 
static int next_pow2 (int in)
 
static void denoise_level (double *out, const double *in, const double *filter, double percent, int length)
 
static double sqr (double in)
 
static double measure_mean (const double *in, int length)
 
static double measure_absmean (const double *in, int length)
 
static double measure_stddev (const double *in, int length, double mean)
 
static void noise_filter (const double stddev, const double *in, double *out, double absmean, double softness, double new_stddev, int length)
 
static int filter_channel (AVFilterContext *ctx, void *arg, int ch, int nb_jobs)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 
static int max_left_ext (int wavelet_length, int levels)
 
static int min_left_ext (int wavelet_length, int levels)
 
static int config_output (AVFilterLink *outlink)
 
static int activate (AVFilterContext *ctx)
 
static av_cold void uninit (AVFilterContext *ctx)
 
static int process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
 

Variables

static const double bl3_lp [42]
 
static const double bl3_hp [42]
 
static const double bl3_ilp [42]
 
static const double bl3_ihp [42]
 
static const double sym10_lp [20]
 
static const double sym10_hp [20]
 
static const double sym10_ilp [20]
 
static const double sym10_ihp [20]
 
static const double rbior68_lp [18]
 
static const double rbior68_hp [18]
 
static const double rbior68_ilp [18]
 
static const double rbior68_ihp [18]
 
static const double coif5_lp [30]
 
static const double coif5_hp [30]
 
static const double coif5_ilp [30]
 
static const double coif5_ihp [30]
 
static const double deb10_lp [20]
 
static const double deb10_hp [20]
 
static const double deb10_ilp [20]
 
static const double deb10_ihp [20]
 
static const double sym4_lp [8]
 
static const double sym4_hp [8]
 
static const double sym4_ilp [8]
 
static const double sym4_ihp [8]
 
static const double sym2_lp [4]
 
static const double sym2_hp [4]
 
static const double sym2_ilp [4]
 
static const double sym2_ihp [4]
 
static const AVOption afwtdn_options []
 
static const AVFilterPad outputs []
 
const AVFilter ff_af_afwtdn
 

Macro Definition Documentation

◆ MAX_LEVELS

#define MAX_LEVELS   13

Definition at line 376 of file af_afwtdn.c.

◆ OFFSET

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

Definition at line 438 of file af_afwtdn.c.

◆ AF

Definition at line 439 of file af_afwtdn.c.

◆ AFR

Definition at line 440 of file af_afwtdn.c.

◆ pow2

#define pow2 (   x)    (1U << (x))

Definition at line 463 of file af_afwtdn.c.

◆ mod_pow2

#define mod_pow2 (   x,
  power_of_two 
)    ((x) & ((power_of_two) - 1))

Definition at line 464 of file af_afwtdn.c.

Enumeration Type Documentation

◆ WaveletTypes

Enumerator
SYM2 
SYM4 
RBIOR68 
DEB10 
SYM10 
COIF5 
BL3 
NB_WAVELET_TYPES 

Definition at line 29 of file af_afwtdn.c.

Function Documentation

◆ AVFILTER_DEFINE_CLASS()

AVFILTER_DEFINE_CLASS ( afwtdn  )

◆ conv_down()

static void conv_down ( double in,
int  in_length,
double low,
double high,
int  out_length,
const double lp,
const double hp,
int  wavelet_length,
int  skip,
double buffer,
int  buffer_length 
)
static

Definition at line 466 of file af_afwtdn.c.

Referenced by forward().

◆ left_ext()

static int left_ext ( int  wavelet_length,
int  levels,
uint64_t  sn 
)
static

Definition at line 507 of file af_afwtdn.c.

Referenced by forward(), inverse(), invert_step(), and symmetric_extension().

◆ nb_coefs()

static int nb_coefs ( int  length,
int  level,
uint64_t  sn 
)
static

◆ reallocate_inputs()

static int reallocate_inputs ( double **  out,
int out_length,
int  in_length,
int  levels,
int  ch,
uint64_t  sn 
)
static

Definition at line 521 of file af_afwtdn.c.

Referenced by forward().

◆ max_left_zeros_inverse()

static int max_left_zeros_inverse ( int  levels,
int  level,
int  wavelet_length 
)
static

Definition at line 561 of file af_afwtdn.c.

Referenced by reallocate_outputs().

◆ reallocate_outputs()

static int reallocate_outputs ( AudioFWTDNContext s,
double **  out,
int out_length,
int  in_length,
int  levels,
int  ch,
uint64_t  sn 
)
static

Definition at line 566 of file af_afwtdn.c.

Referenced by forward().

◆ discard_left_ext()

static int discard_left_ext ( int  wavelet_length,
int  levels,
int  level,
uint64_t  sn 
)
static

Definition at line 612 of file af_afwtdn.c.

Referenced by forward().

◆ forward()

static int forward ( AudioFWTDNContext s,
const double in,
int  in_length,
double **  out,
int out_length,
int  ch,
uint64_t  sn 
)
static

Definition at line 619 of file af_afwtdn.c.

Referenced by decode_bmv_frame(), and filter_channel().

◆ conv_up()

static void conv_up ( double low,
double high,
int  in_length,
double out,
int  out_length,
const double lp,
const double hp,
int  filter_length,
double buffer,
double buffer2,
int  buffer_length 
)
static

Definition at line 716 of file af_afwtdn.c.

Referenced by inverse().

◆ append_left_ext()

static int append_left_ext ( int  wavelet_length,
int  levels,
int  level,
uint64_t  sn 
)
static

Definition at line 752 of file af_afwtdn.c.

Referenced by inverse().

◆ inverse()

static int inverse ( AudioFWTDNContext s,
double **  in,
int in_length,
double out,
int  out_length,
int  ch,
uint64_t  sn 
)
static

Definition at line 761 of file af_afwtdn.c.

Referenced by filter_channel().

◆ next_pow2()

static int next_pow2 ( int  in)
static

Definition at line 855 of file af_afwtdn.c.

Referenced by config_output().

◆ denoise_level()

static void denoise_level ( double out,
const double in,
const double filter,
double  percent,
int  length 
)
static

Definition at line 860 of file af_afwtdn.c.

Referenced by filter_channel().

◆ sqr()

static double sqr ( double  in)
static

◆ measure_mean()

static double measure_mean ( const double in,
int  length 
)
static

Definition at line 876 of file af_afwtdn.c.

Referenced by filter_channel().

◆ measure_absmean()

static double measure_absmean ( const double in,
int  length 
)
static

Definition at line 886 of file af_afwtdn.c.

Referenced by filter_channel().

◆ measure_stddev()

static double measure_stddev ( const double in,
int  length,
double  mean 
)
static

Definition at line 896 of file af_afwtdn.c.

Referenced by filter_channel().

◆ noise_filter()

static void noise_filter ( const double  stddev,
const double in,
double out,
double  absmean,
double  softness,
double  new_stddev,
int  length 
)
static

Definition at line 907 of file af_afwtdn.c.

Referenced by filter_channel().

◆ filter_channel()

static int filter_channel ( AVFilterContext ctx,
void *  arg,
int  ch,
int  nb_jobs 
)
static

Definition at line 925 of file af_afwtdn.c.

Referenced by config_output().

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 1004 of file af_afwtdn.c.

Referenced by activate().

◆ max_left_ext()

static int max_left_ext ( int  wavelet_length,
int  levels 
)
static

Definition at line 1084 of file af_afwtdn.c.

Referenced by config_output().

◆ min_left_ext()

static int min_left_ext ( int  wavelet_length,
int  levels 
)
static

Definition at line 1089 of file af_afwtdn.c.

Referenced by config_output().

◆ config_output()

static int config_output ( AVFilterLink outlink)
static

Definition at line 1094 of file af_afwtdn.c.

◆ activate()

static int activate ( AVFilterContext ctx)
static

Definition at line 1201 of file af_afwtdn.c.

◆ uninit()

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 1237 of file af_afwtdn.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 1279 of file af_afwtdn.c.

Variable Documentation

◆ bl3_lp

const double bl3_lp[42]
static
Initial value:
= {
0.000146098, -0.000232304, -0.000285414, 0.000462093, 0.000559952,
-0.000927187, -0.001103748, 0.00188212, 0.002186714, -0.003882426,
-0.00435384, 0.008201477, 0.008685294, -0.017982291, -0.017176331,
0.042068328, 0.032080869, -0.110036987, -0.050201753, 0.433923147,
0.766130398, 0.433923147, -0.050201753, -0.110036987, 0.032080869,
0.042068328, -0.017176331, -0.017982291, 0.008685294, 0.008201477,
-0.00435384, -0.003882426, 0.002186714, 0.00188212, -0.001103748,
-0.000927187, 0.000559952, 0.000462093, -0.000285414, -0.000232304,
0.000146098, 0.0,
}

Definition at line 44 of file af_afwtdn.c.

Referenced by config_output().

◆ bl3_hp

const double bl3_hp[42]
static
Initial value:
= {
0.0, 0.000146098, 0.000232304, -0.000285414, -0.000462093, 0.000559952,
0.000927187, -0.001103748, -0.00188212, 0.002186714, 0.003882426,
-0.00435384, -0.008201477, 0.008685294, 0.017982291, -0.017176331,
-0.042068328, 0.032080869, 0.110036987, -0.050201753, -0.433923147,
0.766130398, -0.433923147, -0.050201753, 0.110036987, 0.032080869,
-0.042068328, -0.017176331, 0.017982291, 0.008685294, -0.008201477,
-0.00435384, 0.003882426, 0.002186714, -0.00188212, -0.001103748,
0.000927187, 0.000559952, -0.000462093, -0.000285414, 0.000232304,
0.000146098,
}

Definition at line 56 of file af_afwtdn.c.

Referenced by config_output().

◆ bl3_ilp

const double bl3_ilp[42]
static
Initial value:
= {
0.0, 0.000146098, -0.000232304, -0.000285414, 0.000462093, 0.000559952,
-0.000927187, -0.001103748, 0.00188212, 0.002186714, -0.003882426,
-0.00435384, 0.008201477, 0.008685294, -0.017982291, -0.017176331,
0.042068328, 0.032080869, -0.110036987, -0.050201753, 0.433923147,
0.766130398, 0.433923147, -0.050201753, -0.110036987, 0.032080869,
0.042068328, -0.017176331, -0.017982291, 0.008685294, 0.008201477,
-0.00435384, -0.003882426, 0.002186714, 0.00188212, -0.001103748,
-0.000927187, 0.000559952, 0.000462093, -0.000285414, -0.000232304,
0.000146098,
}

Definition at line 68 of file af_afwtdn.c.

Referenced by config_output().

◆ bl3_ihp

const double bl3_ihp[42]
static
Initial value:
= {
0.000146098, 0.000232304, -0.000285414, -0.000462093, 0.000559952,
0.000927187, -0.001103748, -0.00188212, 0.002186714, 0.003882426,
-0.00435384, -0.008201477, 0.008685294, 0.017982291, -0.017176331,
-0.042068328, 0.032080869, 0.110036987, -0.050201753, -0.433923147,
0.766130398, -0.433923147, -0.050201753, 0.110036987, 0.032080869,
-0.042068328, -0.017176331, 0.017982291, 0.008685294, -0.008201477,
-0.00435384, 0.003882426, 0.002186714, -0.00188212, -0.001103748,
0.000927187, 0.000559952, -0.000462093, -0.000285414, 0.000232304,
0.000146098,
}

Definition at line 80 of file af_afwtdn.c.

Referenced by config_output().

◆ sym10_lp

const double sym10_lp[20]
static
Initial value:
= {
0.0007701598091144901, 9.563267072289475e-05,
-0.008641299277022422, -0.0014653825813050513,
0.0459272392310922, 0.011609893903711381,
-0.15949427888491757, -0.07088053578324385,
0.47169066693843925, 0.7695100370211071,
0.38382676106708546, -0.03553674047381755,
-0.0319900568824278, 0.04999497207737669,
0.005764912033581909, -0.02035493981231129,
-0.0008043589320165449, 0.004593173585311828,
5.7036083618494284e-05, -0.0004593294210046588,
}

Definition at line 92 of file af_afwtdn.c.

Referenced by config_output().

◆ sym10_hp

const double sym10_hp[20]
static
Initial value:
= {
0.0004593294210046588, 5.7036083618494284e-05,
-0.004593173585311828, -0.0008043589320165449,
0.02035493981231129, 0.005764912033581909,
-0.04999497207737669, -0.0319900568824278,
0.03553674047381755, 0.38382676106708546,
-0.7695100370211071, 0.47169066693843925,
0.07088053578324385, -0.15949427888491757,
-0.011609893903711381, 0.0459272392310922,
0.0014653825813050513, -0.008641299277022422,
-9.563267072289475e-05, 0.0007701598091144901,
}

Definition at line 105 of file af_afwtdn.c.

Referenced by config_output().

◆ sym10_ilp

const double sym10_ilp[20]
static
Initial value:
= {
-0.0004593294210046588, 5.7036083618494284e-05,
0.004593173585311828, -0.0008043589320165449,
-0.02035493981231129, 0.005764912033581909,
0.04999497207737669, -0.0319900568824278,
-0.03553674047381755, 0.38382676106708546,
0.7695100370211071, 0.47169066693843925,
-0.07088053578324385, -0.15949427888491757,
0.011609893903711381, 0.0459272392310922,
-0.0014653825813050513, -0.008641299277022422,
9.563267072289475e-05, 0.0007701598091144901,
}

Definition at line 118 of file af_afwtdn.c.

Referenced by config_output().

◆ sym10_ihp

const double sym10_ihp[20]
static
Initial value:
= {
0.0007701598091144901, -9.563267072289475e-05,
-0.008641299277022422, 0.0014653825813050513,
0.0459272392310922, -0.011609893903711381,
-0.15949427888491757, 0.07088053578324385,
0.47169066693843925, -0.7695100370211071,
0.38382676106708546, 0.03553674047381755,
-0.0319900568824278, -0.04999497207737669,
0.005764912033581909, 0.02035493981231129,
-0.0008043589320165449, -0.004593173585311828,
5.7036083618494284e-05, 0.0004593294210046588,
}

Definition at line 131 of file af_afwtdn.c.

Referenced by config_output().

◆ rbior68_lp

const double rbior68_lp[18]
static
Initial value:
= {
0.0, 0.0, 0.0, 0.0,
0.014426282505624435, 0.014467504896790148,
-0.07872200106262882, -0.04036797903033992,
0.41784910915027457, 0.7589077294536541,
0.41784910915027457, -0.04036797903033992,
-0.07872200106262882, 0.014467504896790148,
0.014426282505624435, 0.0, 0.0, 0.0,
}

Definition at line 144 of file af_afwtdn.c.

Referenced by config_output().

◆ rbior68_hp

const double rbior68_hp[18]
static
Initial value:
= {
-0.0019088317364812906, -0.0019142861290887667,
0.016990639867602342, 0.01193456527972926,
-0.04973290349094079, -0.07726317316720414,
0.09405920349573646, 0.4207962846098268,
-0.8259229974584023, 0.4207962846098268,
0.09405920349573646, -0.07726317316720414,
-0.04973290349094079, 0.01193456527972926,
0.016990639867602342, -0.0019142861290887667,
-0.0019088317364812906, 0.0,
}

Definition at line 154 of file af_afwtdn.c.

Referenced by config_output().

◆ rbior68_ilp

const double rbior68_ilp[18]
static
Initial value:
= {
0.0019088317364812906, -0.0019142861290887667,
-0.016990639867602342, 0.01193456527972926,
0.04973290349094079, -0.07726317316720414,
-0.09405920349573646, 0.4207962846098268,
0.8259229974584023, 0.4207962846098268,
-0.09405920349573646, -0.07726317316720414,
0.04973290349094079, 0.01193456527972926,
-0.016990639867602342, -0.0019142861290887667,
0.0019088317364812906, 0.0,
}

Definition at line 166 of file af_afwtdn.c.

Referenced by config_output().

◆ rbior68_ihp

const double rbior68_ihp[18]
static
Initial value:
= {
0.0, 0.0, 0.0, 0.0,
0.014426282505624435, -0.014467504896790148,
-0.07872200106262882, 0.04036797903033992,
0.41784910915027457, -0.7589077294536541,
0.41784910915027457, 0.04036797903033992,
-0.07872200106262882, -0.014467504896790148,
0.014426282505624435, 0.0, 0.0, 0.0,
}

Definition at line 178 of file af_afwtdn.c.

Referenced by config_output().

◆ coif5_lp

const double coif5_lp[30]
static
Initial value:
= {
-9.517657273819165e-08, -1.6744288576823017e-07,
2.0637618513646814e-06, 3.7346551751414047e-06,
-2.1315026809955787e-05, -4.134043227251251e-05,
0.00014054114970203437, 0.00030225958181306315,
-0.0006381313430451114, -0.0016628637020130838,
0.0024333732126576722, 0.006764185448053083,
-0.009164231162481846, -0.01976177894257264,
0.03268357426711183, 0.0412892087501817,
-0.10557420870333893, -0.06203596396290357,
0.4379916261718371, 0.7742896036529562,
0.4215662066908515, -0.05204316317624377,
-0.09192001055969624, 0.02816802897093635,
0.023408156785839195, -0.010131117519849788,
-0.004159358781386048, 0.0021782363581090178,
0.00035858968789573785, -0.00021208083980379827,
}

Definition at line 188 of file af_afwtdn.c.

Referenced by config_output().

◆ coif5_hp

const double coif5_hp[30]
static
Initial value:
= {
0.00021208083980379827, 0.00035858968789573785,
-0.0021782363581090178, -0.004159358781386048,
0.010131117519849788, 0.023408156785839195,
-0.02816802897093635, -0.09192001055969624,
0.05204316317624377, 0.4215662066908515,
-0.7742896036529562, 0.4379916261718371,
0.06203596396290357, -0.10557420870333893,
-0.0412892087501817, 0.03268357426711183,
0.01976177894257264, -0.009164231162481846,
-0.006764185448053083, 0.0024333732126576722,
0.0016628637020130838, -0.0006381313430451114,
-0.00030225958181306315, 0.00014054114970203437,
4.134043227251251e-05, -2.1315026809955787e-05,
-3.7346551751414047e-06, 2.0637618513646814e-06,
1.6744288576823017e-07, -9.517657273819165e-08,
}

Definition at line 206 of file af_afwtdn.c.

Referenced by config_output().

◆ coif5_ilp

const double coif5_ilp[30]
static
Initial value:
= {
-0.00021208083980379827, 0.00035858968789573785,
0.0021782363581090178, -0.004159358781386048,
-0.010131117519849788, 0.023408156785839195,
0.02816802897093635, -0.09192001055969624,
-0.05204316317624377, 0.4215662066908515,
0.7742896036529562, 0.4379916261718371,
-0.06203596396290357, -0.10557420870333893,
0.0412892087501817, 0.03268357426711183,
-0.01976177894257264, -0.009164231162481846,
0.006764185448053083, 0.0024333732126576722,
-0.0016628637020130838, -0.0006381313430451114,
0.00030225958181306315, 0.00014054114970203437,
-4.134043227251251e-05, -2.1315026809955787e-05,
3.7346551751414047e-06, 2.0637618513646814e-06,
-1.6744288576823017e-07, -9.517657273819165e-08,
}

Definition at line 224 of file af_afwtdn.c.

Referenced by config_output().

◆ coif5_ihp

const double coif5_ihp[30]
static
Initial value:
= {
-9.517657273819165e-08, 1.6744288576823017e-07,
2.0637618513646814e-06, -3.7346551751414047e-06,
-2.1315026809955787e-05, 4.134043227251251e-05,
0.00014054114970203437, -0.00030225958181306315,
-0.0006381313430451114, 0.0016628637020130838,
0.0024333732126576722, -0.006764185448053083,
-0.009164231162481846, 0.01976177894257264,
0.03268357426711183, -0.0412892087501817,
-0.10557420870333893, 0.06203596396290357,
0.4379916261718371, -0.7742896036529562,
0.4215662066908515, 0.05204316317624377,
-0.09192001055969624, -0.02816802897093635,
0.023408156785839195, 0.010131117519849788,
-0.004159358781386048, -0.0021782363581090178,
0.00035858968789573785, 0.00021208083980379827,
}

Definition at line 242 of file af_afwtdn.c.

Referenced by config_output().

◆ deb10_lp

const double deb10_lp[20]
static
Initial value:
= {
-1.326420300235487e-05, 9.358867000108985e-05,
-0.0001164668549943862, -0.0006858566950046825,
0.00199240529499085, 0.0013953517469940798,
-0.010733175482979604, 0.0036065535669883944,
0.03321267405893324, -0.02945753682194567,
-0.07139414716586077, 0.09305736460380659,
0.12736934033574265, -0.19594627437659665,
-0.24984642432648865, 0.2811723436604265,
0.6884590394525921, 0.5272011889309198,
0.18817680007762133, 0.026670057900950818,
}

Definition at line 260 of file af_afwtdn.c.

Referenced by config_output().

◆ deb10_hp

const double deb10_hp[20]
static
Initial value:
= {
-0.026670057900950818, 0.18817680007762133,
-0.5272011889309198, 0.6884590394525921,
-0.2811723436604265, -0.24984642432648865,
0.19594627437659665, 0.12736934033574265,
-0.09305736460380659, -0.07139414716586077,
0.02945753682194567, 0.03321267405893324,
-0.0036065535669883944, -0.010733175482979604,
-0.0013953517469940798, 0.00199240529499085,
0.0006858566950046825, -0.0001164668549943862,
-9.358867000108985e-05, -1.326420300235487e-05,
}

Definition at line 273 of file af_afwtdn.c.

Referenced by config_output().

◆ deb10_ilp

const double deb10_ilp[20]
static
Initial value:
= {
0.026670057900950818, 0.18817680007762133,
0.5272011889309198, 0.6884590394525921,
0.2811723436604265, -0.24984642432648865,
-0.19594627437659665, 0.12736934033574265,
0.09305736460380659, -0.07139414716586077,
-0.02945753682194567, 0.03321267405893324,
0.0036065535669883944, -0.010733175482979604,
0.0013953517469940798, 0.00199240529499085,
-0.0006858566950046825, -0.0001164668549943862,
9.358867000108985e-05, -1.326420300235487e-05,
}

Definition at line 286 of file af_afwtdn.c.

Referenced by config_output().

◆ deb10_ihp

const double deb10_ihp[20]
static
Initial value:
= {
-1.326420300235487e-05, -9.358867000108985e-05,
-0.0001164668549943862, 0.0006858566950046825,
0.00199240529499085, -0.0013953517469940798,
-0.010733175482979604, -0.0036065535669883944,
0.03321267405893324, 0.02945753682194567,
-0.07139414716586077, -0.09305736460380659,
0.12736934033574265, 0.19594627437659665,
-0.24984642432648865, -0.2811723436604265,
0.6884590394525921, -0.5272011889309198,
0.18817680007762133, -0.026670057900950818,
}

Definition at line 299 of file af_afwtdn.c.

Referenced by config_output().

◆ sym4_lp

const double sym4_lp[8]
static
Initial value:
= {
-0.07576571478927333,
-0.02963552764599851,
0.49761866763201545,
0.8037387518059161,
0.29785779560527736,
-0.09921954357684722,
-0.012603967262037833,
0.0322231006040427,
}

Definition at line 312 of file af_afwtdn.c.

Referenced by config_output().

◆ sym4_hp

const double sym4_hp[8]
static
Initial value:
= {
-0.0322231006040427,
-0.012603967262037833,
0.09921954357684722,
0.29785779560527736,
-0.8037387518059161,
0.49761866763201545,
0.02963552764599851,
-0.07576571478927333,
}

Definition at line 323 of file af_afwtdn.c.

Referenced by config_output().

◆ sym4_ilp

const double sym4_ilp[8]
static
Initial value:
= {
0.0322231006040427,
-0.012603967262037833,
-0.09921954357684722,
0.29785779560527736,
0.8037387518059161,
0.49761866763201545,
-0.02963552764599851,
-0.07576571478927333,
}

Definition at line 334 of file af_afwtdn.c.

Referenced by config_output().

◆ sym4_ihp

const double sym4_ihp[8]
static
Initial value:
= {
-0.07576571478927333,
0.02963552764599851,
0.49761866763201545,
-0.8037387518059161,
0.29785779560527736,
0.09921954357684722,
-0.012603967262037833,
-0.0322231006040427,
}

Definition at line 345 of file af_afwtdn.c.

Referenced by config_output().

◆ sym2_lp

const double sym2_lp[4]
static
Initial value:
= {
-0.12940952255092145, 0.22414386804185735,
0.836516303737469, 0.48296291314469025,
}

Definition at line 356 of file af_afwtdn.c.

Referenced by config_output().

◆ sym2_hp

const double sym2_hp[4]
static
Initial value:
= {
-0.48296291314469025, 0.836516303737469,
-0.22414386804185735, -0.12940952255092145,
}

Definition at line 361 of file af_afwtdn.c.

Referenced by config_output().

◆ sym2_ilp

const double sym2_ilp[4]
static
Initial value:
= {
0.48296291314469025, 0.836516303737469,
0.22414386804185735, -0.12940952255092145,
}

Definition at line 366 of file af_afwtdn.c.

Referenced by config_output().

◆ sym2_ihp

const double sym2_ihp[4]
static
Initial value:
= {
-0.12940952255092145, -0.22414386804185735,
0.836516303737469, -0.48296291314469025,
}

Definition at line 371 of file af_afwtdn.c.

Referenced by config_output().

◆ afwtdn_options

const AVOption afwtdn_options[]
static
Initial value:
= {
{ "sigma", "set noise sigma", OFFSET(sigma), AV_OPT_TYPE_DOUBLE, {.dbl=0}, 0, 1, AFR },
{ "levels", "set number of wavelet levels", OFFSET(levels), AV_OPT_TYPE_INT, {.i64=10}, 1, MAX_LEVELS-1, AF },
{ "wavet", "set wavelet type", OFFSET(wavelet_type), AV_OPT_TYPE_INT, {.i64=SYM10}, 0, NB_WAVELET_TYPES - 1, AF, .unit = "wavet" },
{ "sym2", "sym2", 0, AV_OPT_TYPE_CONST, {.i64=SYM2}, 0, 0, AF, .unit = "wavet" },
{ "sym4", "sym4", 0, AV_OPT_TYPE_CONST, {.i64=SYM4}, 0, 0, AF, .unit = "wavet" },
{ "rbior68", "rbior68", 0, AV_OPT_TYPE_CONST, {.i64=RBIOR68}, 0, 0, AF, .unit = "wavet" },
{ "deb10", "deb10", 0, AV_OPT_TYPE_CONST, {.i64=DEB10}, 0, 0, AF, .unit = "wavet" },
{ "sym10", "sym10", 0, AV_OPT_TYPE_CONST, {.i64=SYM10}, 0, 0, AF, .unit = "wavet" },
{ "coif5", "coif5", 0, AV_OPT_TYPE_CONST, {.i64=COIF5}, 0, 0, AF, .unit = "wavet" },
{ "bl3", "bl3", 0, AV_OPT_TYPE_CONST, {.i64=BL3}, 0, 0, AF, .unit = "wavet" },
{ "percent", "set percent of full denoising", OFFSET(percent),AV_OPT_TYPE_DOUBLE, {.dbl=85}, 0, 100, AFR },
{ "profile", "profile noise", OFFSET(need_profile), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, AFR },
{ "adaptive", "adaptive profiling of noise", OFFSET(adaptive), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, AFR },
{ "samples", "set frame size in number of samples", OFFSET(nb_samples), AV_OPT_TYPE_INT, {.i64=8192}, 512, 65536, AF },
{ "softness", "set thresholding softness", OFFSET(softness), AV_OPT_TYPE_DOUBLE, {.dbl=1}, 0, 10, AFR },
{ NULL }
}

Definition at line 442 of file af_afwtdn.c.

◆ outputs

const AVFilterPad outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_output,
},
}

Definition at line 1295 of file af_afwtdn.c.

◆ ff_af_afwtdn

const AVFilter ff_af_afwtdn
Initial value:
= {
.name = "afwtdn",
.description = NULL_IF_CONFIG_SMALL("Denoise audio stream using Wavelets."),
.priv_size = sizeof(AudioFWTDNContext),
.priv_class = &afwtdn_class,
.process_command = process_command,
}

Definition at line 1303 of file af_afwtdn.c.

FILTER_SINGLE_SAMPLEFMT
#define FILTER_SINGLE_SAMPLEFMT(sample_fmt_)
Definition: internal.h:175
SYM2
@ SYM2
Definition: af_afwtdn.c:30
SYM4
@ SYM4
Definition: af_afwtdn.c:31
AV_OPT_TYPE_DOUBLE
@ AV_OPT_TYPE_DOUBLE
Definition: opt.h:237
AVMEDIA_TYPE_AUDIO
@ AVMEDIA_TYPE_AUDIO
Definition: avutil.h:202
SYM10
@ SYM10
Definition: af_afwtdn.c:34
FILTER_INPUTS
#define FILTER_INPUTS(array)
Definition: internal.h:182
NULL
#define NULL
Definition: coverity.c:32
OFFSET
#define OFFSET(x)
Definition: af_afwtdn.c:438
ff_audio_default_filterpad
const AVFilterPad ff_audio_default_filterpad[1]
An AVFilterPad array whose only entry has name "default" and is of type AVMEDIA_TYPE_AUDIO.
Definition: audio.c:33
AudioFWTDNContext
Definition: af_afwtdn.c:402
NB_WAVELET_TYPES
@ NB_WAVELET_TYPES
Definition: af_afwtdn.c:37
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:106
BL3
@ BL3
Definition: af_afwtdn.c:36
MAX_LEVELS
#define MAX_LEVELS
Definition: af_afwtdn.c:376
AFR
#define AFR
Definition: af_afwtdn.c:440
AF
#define AF
Definition: af_afwtdn.c:439
DEB10
@ DEB10
Definition: af_afwtdn.c:33
uninit
static av_cold void uninit(AVFilterContext *ctx)
Definition: af_afwtdn.c:1237
config_output
static int config_output(AVFilterLink *outlink)
Definition: af_afwtdn.c:1094
outputs
static const AVFilterPad outputs[]
Definition: af_afwtdn.c:1295
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:235
AV_SAMPLE_FMT_DBLP
@ AV_SAMPLE_FMT_DBLP
double, planar
Definition: samplefmt.h:67
AVFILTER_FLAG_SLICE_THREADS
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
Definition: avfilter.h:117
AV_OPT_TYPE_BOOL
@ AV_OPT_TYPE_BOOL
Definition: opt.h:251
FILTER_OUTPUTS
#define FILTER_OUTPUTS(array)
Definition: internal.h:183
AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL
#define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL
Same as AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, except that the filter will have its filter_frame() c...
Definition: avfilter.h:155
COIF5
@ COIF5
Definition: af_afwtdn.c:35
activate
static int activate(AVFilterContext *ctx)
Definition: af_afwtdn.c:1201
RBIOR68
@ RBIOR68
Definition: af_afwtdn.c:32
process_command
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
Definition: af_afwtdn.c:1279
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:244