MythTV
master
mythtv
libs
libmyth
audio
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
7
static
constexpr int8_t
PINK_DEFAULT_ROWS
{ 12 };
8
static
constexpr int8_t
PINK_MAX_RANDOM_ROWS
{ 32 };
9
static
constexpr int8_t
PINK_RANDOM_BITS
{ 24 };
10
static
constexpr int8_t
PINK_RANDOM_SHIFT
{ (
sizeof
(int32_t)*8)-
PINK_RANDOM_BITS
};
11
12
struct
pink_noise_t
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
21
MPUBLIC
void
initialize_pink_noise
(
pink_noise_t
*pink,
int
num_rows =
PINK_DEFAULT_ROWS
);
22
MPUBLIC
float
generate_pink_noise_sample
(
pink_noise_t
*pink );
23
24
#endif
MPUBLIC
#define MPUBLIC
Definition:
mythexp.h:10
generate_pink_noise_sample
MPUBLIC float generate_pink_noise_sample(pink_noise_t *pink)
Definition:
pink.cpp:56
PINK_RANDOM_BITS
static constexpr int8_t PINK_RANDOM_BITS
Definition:
pink.h:9
initialize_pink_noise
MPUBLIC void initialize_pink_noise(pink_noise_t *pink, int num_rows=PINK_DEFAULT_ROWS)
Definition:
pink.cpp:42
mythexp.h
pink_noise_t::pink_index_mask
int32_t pink_index_mask
Definition:
pink.h:17
PINK_DEFAULT_ROWS
static constexpr int8_t PINK_DEFAULT_ROWS
Definition:
pink.h:7
PINK_MAX_RANDOM_ROWS
static constexpr int8_t PINK_MAX_RANDOM_ROWS
Definition:
pink.h:8
PINK_RANDOM_SHIFT
static constexpr int8_t PINK_RANDOM_SHIFT
Definition:
pink.h:10
pink_noise_t::pink_running_sum
int32_t pink_running_sum
Definition:
pink.h:15
pink_noise_t::pink_index
int32_t pink_index
Definition:
pink.h:16
pink_noise_t::pink_scalar
float pink_scalar
Definition:
pink.h:18
pink_noise_t
Definition:
pink.h:12
pink_noise_t::pink_rows
std::array< int32_t, PINK_MAX_RANDOM_ROWS > pink_rows
Definition:
pink.h:14
Generated on Wed Feb 26 2025 03:17:52 for MythTV by
1.8.17