blob: 797cdae1db986005d3bad50e7fcb26deca6c284a [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#ifndef AU88X0_EQ_H
3#define AU88X0_EQ_H
4
5/***************************************************************************
6 * au88x0_eq.h
7 *
8 * Definitions and constant data for the Aureal Hardware EQ.
9 *
10 * Sun Jun 8 18:23:38 2003
11 * Author: Manuel Jander (mjander@users.sourceforge.net)
12 ****************************************************************************/
13
14typedef struct {
15 u16 LeftCoefs[50]; //0x4
16 u16 RightCoefs[50]; // 0x68
Takashi Iwaif0283f42006-01-16 12:59:01 +010017 u16 LeftGains[10]; //0xd0
18 u16 RightGains[10]; //0xe4
Linus Torvalds1da177e2005-04-16 15:20:36 -070019} auxxEqCoeffSet_t;
20
21typedef struct {
Takashi Iwai97c67b62006-01-13 17:16:29 +010022 s32 this04; /* How many filters for each side (default = 10) */
23 s32 this08; /* inited to cero. Stereo flag? */
Linus Torvalds1da177e2005-04-16 15:20:36 -070024} eqhw_t;
25
26typedef struct {
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 eqhw_t this04; /* CHwEq */
Takashi Iwai97c67b62006-01-13 17:16:29 +010028 u16 this08; /* Bad codec flag ? SetBypassGain: bypass gain */
29 u16 this0a;
30 u16 this0c; /* SetBypassGain: bypass gain when this28 is not set. */
31 u16 this0e;
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
Takashi Iwai97c67b62006-01-13 17:16:29 +010033 s32 this10; /* How many gains are used for each side (right or left). */
Takashi Iwaif0283f42006-01-16 12:59:01 +010034 u16 this14_array[10]; /* SetLeftGainsTarget: Left (and right?) EQ gains */
Takashi Iwai97c67b62006-01-13 17:16:29 +010035 s32 this28; /* flag related to EQ enabled or not. Gang flag ? */
36 s32 this54; /* SetBypass */
37 s32 this58;
38 s32 this5c;
Linus Torvalds1da177e2005-04-16 15:20:36 -070039 /*0x60 */ auxxEqCoeffSet_t coefset;
40 /* 50 u16 word each channel. */
41 u16 this130[20]; /* Left and Right gains */
42} eqlzr_t;
43
44#endif