SAF
|
Public source for the VBAP/MDAP module (SAF_VBAP_MODULE) More...
Go to the source code of this file.
Macros | |
#define | ENABLE_VBAP_DEBUGGING_CODE 0 |
Enable to also export VBAP gain tables to a .txt file (for debugging purposes) | |
Functions | |
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, with optional spreading [2]. | |
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 | 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 | 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 example, powermaps or HRTFs) | |
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 | getPvalues (float DTT, float *freq, int nFreq, float *pValues) |
Calculates the frequency dependent pValues, which can be applied to ENERGY normalised VBAP gains, to compensate for the room effect on the perceived loudness fluctuations of sources when panning between loudspeakers. | |
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 | 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 | 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 | findLsPairs (float *ls_dirs_deg, int L, int **out_pairs, int *numOutPairs) |
Calculates loudspeaker pairs for a circular grid of loudspeaker directions. | |
void | invertLsMtx2D (float *U_spkr, int *ls_pairs, int N_pairs, float **layoutInvMtx) |
Inverts a 2x2 loudspeaker matrix. | |
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. | |
Public source for the VBAP/MDAP module (SAF_VBAP_MODULE)
VBAP functions largely derived from the MATLAB library found in [1].
Definition in file saf_vbap.c.
#define ENABLE_VBAP_DEBUGGING_CODE 0 |
Enable to also export VBAP gain tables to a .txt file (for debugging purposes)
Definition at line 38 of file saf_vbap.c.