linux/sound/pci/au88x0/au88x0_a3d.h

/* SPDX-License-Identifier: GPL-2.0-or-later */
/***************************************************************************
 *            au88x0_a3d.h
 *
 *  Fri Jul 18 14:16:03 2003
 *  Copyright  2003  mjander
 *  [email protected]
 ****************************************************************************/

/*
 */

#ifndef _AU88X0_A3D_H
#define _AU88X0_A3D_H

//#include <openal.h>

#define HRTF_SZ
#define DLINE_SZ

#define CTRLID_HRTF
#define CTRLID_ITD
#define CTRLID_ILD
#define CTRLID_FILTER
#define CTRLID_GAINS

/* 3D parameter structs */
a3d_Hrtf_t;
a3d_ItdDline_t;
a3d_atmos_t;
a3d_LRGains_t;
a3d_Itd_t;
a3d_Ild_t;

a3dsrc_t;

/* First Register bank */

#define A3D_A_HrtfCurrent
#define A3D_A_GainCurrent
#define A3D_A_GainTarget
#define A3D_A_A12Current
#define A3D_A_A21Target
#define A3D_A_B01Current
#define A3D_A_B10Target
#define A3D_A_B2Current
#define A3D_A_B2Target
#define A3D_A_HrtfTarget
#define A3D_A_ITDCurrent
#define A3D_A_ITDTarget
#define A3D_A_HrtfDelayLine
#define A3D_A_ITDDelayLine
#define A3D_A_HrtfTrackTC
#define A3D_A_GainTrackTC
#define A3D_A_CoeffTrackTC
#define A3D_A_ITDTrackTC
#define A3D_A_x1
#define A3D_A_x2
#define A3D_A_y1
#define A3D_A_y2
#define A3D_A_HrtfOutL
#define A3D_A_HrtfOutR
#define A3D_A_TAIL

/* Second register bank */
#define A3D_B_HrtfCurrent
#define A3D_B_GainCurrent
#define A3D_B_GainTarget
#define A3D_B_A12Current
#define A3D_B_A21Target
#define A3D_B_B01Current
#define A3D_B_B10Target
#define A3D_B_B2Current
#define A3D_B_B2Target
#define A3D_B_HrtfTarget
#define A3D_B_ITDCurrent
#define A3D_B_ITDTarget
#define A3D_B_HrtfDelayLine
#define A3D_B_TAIL

/* There are 4 slices, 4 a3d each = 16 a3d sources. */
#define A3D_SLICE_BANK_A
#define A3D_SLICE_BANK_B
#define A3D_SLICE_VDBDest
#define A3D_SLICE_VDBSource
#define A3D_SLICE_ABReg
#define A3D_SLICE_CReg
#define A3D_SLICE_Control
#define A3D_SLICE_DebugReserved
#define A3D_SLICE_Pointers
#define A3D_SLICE_TAIL

// Slice size: 0x2000
// Source size: 0x3A4, 0x2C8

/* Address generator macro. */
#define a3d_addrA(slice,source,reg)
#define a3d_addrB(slice,source,reg)
#define a3d_addrS(slice,reg)
//#define a3d_addr(slice,source,reg) (((reg)>=0x19000) ? a3d_addr2((slice),(source),(reg)) : a3d_addr1((slice),(source),(reg)))

#endif				/* _AU88X0_A3D_H */