40 double (*
filter)(
double white,
double *
buf,
double half_amplitude);
55 #define OFFSET(x) offsetof(ANoiseSrcContext, x) 56 #define FLAGS AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM 127 buf[0] = 0.99886 * buf[0] + white * 0.0555179;
128 buf[1] = 0.99332 * buf[1] + white * 0.0750759;
129 buf[2] = 0.96900 * buf[2] + white * 0.1538520;
130 buf[3] = 0.86650 * buf[3] + white * 0.3104856;
131 buf[4] = 0.55000 * buf[4] + white * 0.5329522;
132 buf[5] = -0.7616 * buf[5] - white * 0.0168980;
133 pink = buf[0] + buf[1] + buf[2] + buf[3] + buf[4] + buf[5] + buf[6] + white * 0.5362;
134 buf[6] = white * 0.115926;
143 buf[0] = 0.0555179 * white - 0.99886 * buf[0];
144 buf[1] = 0.0750759 * white - 0.99332 * buf[1];
145 buf[2] = 0.1538520 * white - 0.96900 * buf[2];
146 buf[3] = 0.3104856 * white - 0.86650 * buf[3];
147 buf[4] = 0.5329522 * white - 0.55000 * buf[4];
148 buf[5] = -0.016898 * white + 0.76160 * buf[5];
149 blue = buf[0] + buf[1] + buf[2] + buf[3] + buf[4] + buf[5] + buf[6] + white * 0.5362;
150 buf[6] = white * 0.115926;
158 brown = ((0.02 * white) + buf[0]) / 1.02;
167 violet = ((0.02 * white) - buf[0]) / 1.02;
174 return 2. * ha * ((white > ha) - (white < -ha));
225 dst = (
double *)frame->
data[0];
257 .priv_class = &anoisesrc_class,
Context structure for the Lagged Fibonacci PRNG.
static double violet_filter(double white, double *buf, double ha)
This structure describes decoded (raw) audio or video data.
Main libavfilter public API header.
static const AVOption anoisesrc_options[]
#define FFERROR_NOT_READY
Filters implementation helper functions.
static void ff_outlink_set_status(AVFilterLink *link, int status, int64_t pts)
Set the status field of a link from the source filter.
static double blue_filter(double white, double *buf, double ha)
static int ff_outlink_frame_wanted(AVFilterLink *link)
Test if a frame is wanted on an output link.
const char * name
Pad name.
int ff_filter_frame(AVFilterLink *link, AVFrame *frame)
Send a frame of data to the next filter.
static av_cold int query_formats(AVFilterContext *ctx)
int64_t pts
Presentation timestamp in time_base units (time when frame should be shown to user).
AVFilter ff_asrc_anoisesrc
#define AVERROR_EOF
End of file.
AVFILTER_DEFINE_CLASS(anoisesrc)
A filter pad used for either input or output.
A link between two filters.
#define i(width, name, range_min, range_max)
AVFrame * ff_get_audio_buffer(AVFilterLink *link, int nb_samples)
Request an audio samples buffer with a specific set of permissions.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void * priv
private data for use by the filter
int64_t av_rescale(int64_t a, int64_t b, int64_t c)
Rescale a 64-bit integer with rounding to nearest.
static int activate(AVFilterContext *ctx)
#define AV_TIME_BASE
Internal time base represented as integer.
static double brown_filter(double white, double *buf, double ha)
AVFilterContext * src
source filter
static const AVFilterPad inputs[]
static double velvet_filter(double white, double *buf, double ha)
static const AVFilterPad outputs[]
A list of supported channel layouts.
static av_cold int config_props(AVFilterLink *outlink)
AVSampleFormat
Audio sample formats.
static unsigned int av_lfg_get(AVLFG *c)
Get the next random unsigned 32-bit number using an ALFG.
Describe the class of an AVClass context structure.
const char * name
Filter name.
av_cold void av_lfg_init(AVLFG *c, unsigned int seed)
AVFilterLink ** outputs
array of pointers to output links
enum MovChannelLayoutTag * layouts
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
static double pink_filter(double white, double *buf, double ha)
static const AVFilterPad anoisesrc_outputs[]
static enum AVSampleFormat sample_fmts[]
uint32_t av_get_random_seed(void)
Get a seed to use in conjunction with random functions.
double(* filter)(double white, double *buf, double half_amplitude)
#define AV_CH_LAYOUT_MONO
static double white_filter(double white, double *buf, double ha)