MythTV master
pink.h
Go to the documentation of this file.
1#ifndef AUDIOPINK
2#define AUDIOPINK
3
4#include <array>
5#include "libmyth/mythexp.h"
6
7static constexpr int8_t PINK_DEFAULT_ROWS { 12 };
8static constexpr int8_t PINK_MAX_RANDOM_ROWS { 32 };
9static constexpr int8_t PINK_RANDOM_BITS { 24 };
10static constexpr int8_t PINK_RANDOM_SHIFT { (sizeof(int32_t)*8)-PINK_RANDOM_BITS };
11
13{
14 std::array<int32_t,PINK_MAX_RANDOM_ROWS> pink_rows;
15 int32_t pink_running_sum; /* Used to optimize summing of generators. */
16 int32_t pink_index; /* Incremented each sample. */
17 int32_t pink_index_mask; /* Index wrapped by ANDing with this mask. */
18 float pink_scalar; /* Used to scale within range of -1.0 to +1.0 */
19};
20
23
24#endif
#define MPUBLIC
Definition: mythexp.h:10
static constexpr int8_t PINK_RANDOM_BITS
Definition: pink.h:9
static constexpr int8_t PINK_RANDOM_SHIFT
Definition: pink.h:10
MPUBLIC float generate_pink_noise_sample(pink_noise_t *pink)
Definition: pink.cpp:56
static constexpr int8_t PINK_DEFAULT_ROWS
Definition: pink.h:7
static constexpr int8_t PINK_MAX_RANDOM_ROWS
Definition: pink.h:8
MPUBLIC void initialize_pink_noise(pink_noise_t *pink, int num_rows=PINK_DEFAULT_ROWS)
Definition: pink.cpp:42
float pink_scalar
Definition: pink.h:18
int32_t pink_running_sum
Definition: pink.h:15
int32_t pink_index
Definition: pink.h:16
int32_t pink_index_mask
Definition: pink.h:17
std::array< int32_t, PINK_MAX_RANDOM_ROWS > pink_rows
Definition: pink.h:14