1#ifndef VIDEOVISUAL_DEFS_H
2#define VIDEOVISUAL_DEFS_H
10 explicit LogScale(
int maxscale = 0,
int maxrange = 0)
12 setMax(maxscale, maxrange);
18 void setMax(
int maxscale,
int maxrange)
20 if (maxscale == 0 || maxrange == 0)
26 auto domain = (
long double) maxscale;
27 auto drange = (
long double) maxrange;
29 long double dx = 1.0L;
30 long double e4 = 1.0E-8L;
36 for (
uint i = 0; i < 10000 && (std::abs(dx) > e4); i++)
38 long double t =
std::log((domain + x) / x);
39 long double y = (x *
t) - drange;
40 long double yy =
t - (domain / (x + domain));
46 for (
int i = 1; i < (int) domain; i++)
48 int scaled = (int) floor(0.5 + (alpha *
log((
double(i) + alpha) / alpha)));
49 scaled = std::max(scaled, 1);
LogScale(int maxscale=0, int maxrange=0)
int operator[](int index) const
std::vector< int > m_indices
void setMax(int maxscale, int maxrange)
None log(str msg, int level=LOGDEBUG)
static void mono16_from_monopcm16(short *l, const short *s, long cnt)
static void mono16_from_monopcm8(short *l, const uchar *c, long cnt)
static void stereo16_from_stereopcm8(short *l, short *r, const uchar *c, long cnt)
static void stereo16_from_stereopcm16(short *l, short *r, const short *s, long cnt)