33#ifndef __SAF_VBAP_H_INCLUDED__
34#define __SAF_VBAP_H_INCLUDED__
78 int omitLargeTriangles,
134 int omitLargeTriangles,
179 float* vbap_gtableComp,
180 int* vbap_gtableIdx);
331 int omitLargeTriangles,
333 float** out_vertices,
353 float** layoutInvMtx);
434 float** layoutInvMtx);
void findLsTriplets(float *ls_dirs_deg, int L, int omitLargeTriangles, float **out_vertices, int *numOutVertices, int **out_faces, int *numOutFaces)
Computes the 3D convex-hull of a spherical grid of loudspeaker directions.
void vbap2D(float *src_dirs, int src_num, int ls_num, int *ls_pairs, int N_pairs, float *layoutInvMtx, float **GainMtx)
Calculates 2D VBAP gains for pre-calculated loudspeaker pairs and predefined source positions.
void invertLsMtx3D(float *U_spkr, int *ls_groups, int N_group, float **layoutInvMtx)
Inverts a 3x3 loudspeaker matrix.
void getSpreadSrcDirs3D(float src_azi_rad, float src_elev_rad, float spread, int num_src, int num_rings_3d, float *U_spread)
Computes a set of points which surround the source direction given a specific degree of spread.
void findLsPairs(float *ls_dirs_deg, int L, int **out_pairs, int *numOutPairs)
Calculates loudspeaker pairs for a circular grid of loudspeaker directions.
void generateVBAPgainTable3D(float *ls_dirs_deg, int L, int az_res_deg, int el_res_deg, int omitLargeTriangles, int enableDummies, float spread, float **gtable, int *N_gtable, int *nTriangles)
Generates a 3-D VBAP gain table based on specified loudspeaker directions, with optional spreading [2...
void generateVBAPgainTable3D_srcs(float *src_dirs_deg, int S, float *ls_dirs_deg, int L, int omitLargeTriangles, int enableDummies, float spread, float **gtable, int *N_gtable, int *nTriangles)
Generates a 3-D VBAP [1] gain table based on specified source and loudspeaker directions,...
void VBAPgainTable2InterpTable(float *vbap_gtable, int nTable, int nDirs)
Renormalises a VBAP gain table (in-place) so it may be utilised for interpolation of data (for exampl...
void generateVBAPgainTable2D_srcs(float *src_dirs_deg, int S, float *ls_dirs_deg, int L, float **gtable, int *N_gtable, int *nPairs)
Generates a 2-D VBAP gain table based on specified source and loudspeaker directions.
void generateVBAPgainTable2D(float *ls_dirs_deg, int L, int az_res_deg, float **gtable, int *N_gtable, int *nPairs)
Generates a 2-D VBAP gain table based on specified loudspeaker directions.
void vbap3D(float *src_dirs, int src_num, int ls_num, int *ls_groups, int nFaces, float spread, float *layoutInvMtx, float **GainMtx)
Calculates 3D VBAP gains given pre-computed loudspeaker triangles for each source direction.
void invertLsMtx2D(float *U_spkr, int *ls_pairs, int N_pairs, float **layoutInvMtx)
Inverts a 2x2 loudspeaker matrix.
void compressVBAPgainTable3D(float *vbap_gtable, int nTable, int nDirs, float *vbap_gtableComp, int *vbap_gtableIdx)
Compresses a VBAP gain table to use less memory and CPU (by removing the elements which are just zero...
void getPvalues(float DTT, float *freq, int nFreq, float *pValues)
Calculates the frequency dependent pValues, which can be applied to ENERGY normalised VBAP gains,...