[funini.com] -> [kei@sodan] -> Kernel Reading

root/sound/aoa/codecs/snd-aoa-codec-tas-basstreble.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. tas3004_treble
  2. tas3004_bass

/*
 * This file is only included exactly once!
 *
 * The tables here are derived from the tas3004 datasheet,
 * modulo typo corrections and some smoothing...
 */

#define TAS3004_TREBLE_MIN      0
#define TAS3004_TREBLE_MAX      72
#define TAS3004_BASS_MIN        0
#define TAS3004_BASS_MAX        72
#define TAS3004_TREBLE_ZERO     36
#define TAS3004_BASS_ZERO       36

static u8 tas3004_treble_table[] = {
        150, /* -18 dB */
        149,
        148,
        147,
        146,
        145,
        144,
        143,
        142,
        141,
        140,
        139,
        138,
        137,
        136,
        135,
        134,
        133,
        132,
        131,
        130,
        129,
        128,
        127,
        126,
        125,
        124,
        123,
        122,
        121,
        120,
        119,
        118,
        117,
        116,
        115,
        114, /* 0 dB */
        113,
        112,
        111,
        109,
        108,
        107,
        105,
        104,
        103,
        101,
        99,
        98,
        96,
        93,
        91,
        89,
        86,
        83,
        81,
        77,
        74,
        71,
        67,
        63,
        59,
        54,
        49,
        44,
        38,
        32,
        26,
        19,
        10,
        4,
        2,
        1, /* +18 dB */
};

static inline u8 tas3004_treble(int idx)
{
        return tas3004_treble_table[idx];
}

/* I only save the difference here to the treble table
 * so that the binary is smaller...
 * I have also ignored completely differences of
 * +/- 1
 */
static s8 tas3004_bass_diff_to_treble[] = {
        2, /* 7 dB, offset 50 */
        2,
        2,
        2,
        2,
        1,
        2,
        2,
        2,
        3,
        4,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        14,
        13,
        8,
        1, /* 18 dB */
};

static inline u8 tas3004_bass(int idx)
{
        u8 result = tas3004_treble_table[idx];

        if (idx >= 50)
                result += tas3004_bass_diff_to_treble[idx-50];
        return result;
}

/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading