From b6a36985580fdf8ebf958cab5ee0d1cf5bdede5e Mon Sep 17 00:00:00 2001 From: Christian Hoene Date: Sun, 10 Oct 2021 15:03:15 +0200 Subject: [PATCH] Fixes for issue #167 --- CMakeLists.txt | 4 +- src/hrtf/easy.c | 76 ++++++++++++++++++++++++++----------- src/hrtf/lookup.c | 49 ++++++++++++++++-------- src/hrtf/resample.c | 19 ++++++---- tests/fail-issue-167a.sofa | Bin 0 -> 91409 bytes tests/fail-issue-167b.sofa | Bin 0 -> 91409 bytes tests/notcrashed.sh | 2 +- 7 files changed, 101 insertions(+), 49 deletions(-) create mode 100755 tests/fail-issue-167a.sofa create mode 100755 tests/fail-issue-167b.sofa diff --git a/CMakeLists.txt b/CMakeLists.txt index 329c30e..895f9d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,7 +84,9 @@ if(BUILD_TESTS) 137 138 156 - 163) + 163 + 167a + 167b) # issues with osx 96) add_test(fail-issue-${ISSUE} ${PROJECT_SOURCE_DIR}/tests/notcrashed.sh ${PROJECT_SOURCE_DIR}/tests/fail-issue-${ISSUE}) diff --git a/src/hrtf/easy.c b/src/hrtf/easy.c index 011c9c1..2f67ffe 100644 --- a/src/hrtf/easy.c +++ b/src/hrtf/easy.c @@ -21,11 +21,13 @@ static struct MYSOFA_EASY * mysofa_open_default(const char *filename, float samplerate, int *filterlength, int *err, bool applyNorm, float neighbor_angle_step, - float neighbor_radius_step) { + float neighbor_radius_step) +{ struct MYSOFA_EASY *easy = malloc(sizeof(struct MYSOFA_EASY)); - if (!easy) { + if (!easy) + { *err = MYSOFA_NO_MEMORY; return NULL; } @@ -35,24 +37,28 @@ mysofa_open_default(const char *filename, float samplerate, int *filterlength, *easy = (struct MYSOFA_EASY){0}; easy->hrtf = mysofa_load(filename, err); - if (!easy->hrtf) { + if (!easy->hrtf) + { mysofa_close(easy); return NULL; } *err = mysofa_check(easy->hrtf); - if (*err != MYSOFA_OK) { + if (*err != MYSOFA_OK) + { mysofa_close(easy); return NULL; } *err = mysofa_resample(easy->hrtf, samplerate); - if (*err != MYSOFA_OK) { + if (*err != MYSOFA_OK) + { mysofa_close(easy); return NULL; } - if (applyNorm) { + if (applyNorm) + { mysofa_loudness(easy->hrtf); } @@ -62,8 +68,16 @@ mysofa_open_default(const char *filename, float samplerate, int *filterlength, mysofa_tocartesian(easy->hrtf); + if (easy->hrtf->SourcePosition.elements != easy->hrtf->C * easy->hrtf->M) + { + *err = MYSOFA_INVALID_FORMAT; + mysofa_close(easy); + return NULL; + } + easy->lookup = mysofa_lookup_init(easy->hrtf); - if (easy->lookup == NULL) { + if (easy->lookup == NULL) + { *err = MYSOFA_INTERNAL_ERROR; mysofa_close(easy); return NULL; @@ -82,7 +96,8 @@ mysofa_open_default(const char *filename, float samplerate, int *filterlength, MYSOFA_EXPORT struct MYSOFA_EASY *mysofa_open(const char *filename, float samplerate, - int *filterlength, int *err) { + int *filterlength, int *err) +{ return mysofa_open_default(filename, samplerate, filterlength, err, true, MYSOFA_DEFAULT_NEIGH_STEP_ANGLE, MYSOFA_DEFAULT_NEIGH_STEP_RADIUS); @@ -91,7 +106,8 @@ MYSOFA_EXPORT struct MYSOFA_EASY *mysofa_open(const char *filename, MYSOFA_EXPORT struct MYSOFA_EASY *mysofa_open_no_norm(const char *filename, float samplerate, int *filterlength, - int *err) { + int *err) +{ return mysofa_open_default(filename, samplerate, filterlength, err, false, MYSOFA_DEFAULT_NEIGH_STEP_ANGLE, MYSOFA_DEFAULT_NEIGH_STEP_RADIUS); @@ -100,7 +116,8 @@ MYSOFA_EXPORT struct MYSOFA_EASY *mysofa_open_no_norm(const char *filename, MYSOFA_EXPORT struct MYSOFA_EASY * mysofa_open_advanced(const char *filename, float samplerate, int *filterlength, int *err, bool norm, float neighbor_angle_step, - float neighbor_radius_step) { + float neighbor_radius_step) +{ return mysofa_open_default(filename, samplerate, filterlength, err, norm, neighbor_angle_step, neighbor_radius_step); } @@ -108,14 +125,17 @@ mysofa_open_advanced(const char *filename, float samplerate, int *filterlength, MYSOFA_EXPORT struct MYSOFA_EASY *mysofa_open_cached(const char *filename, float samplerate, int *filterlength, - int *err) { + int *err) +{ struct MYSOFA_EASY *res = mysofa_cache_lookup(filename, samplerate); - if (res) { + if (res) + { *filterlength = res->hrtf->N; return res; } res = mysofa_open(filename, samplerate, filterlength, err); - if (res) { + if (res) + { res = mysofa_cache_store(res, filename, samplerate); } return res; @@ -124,7 +144,8 @@ MYSOFA_EXPORT struct MYSOFA_EASY *mysofa_open_cached(const char *filename, MYSOFA_EXPORT void mysofa_getfilter_short(struct MYSOFA_EASY *easy, float x, float y, float z, short *IRleft, short *IRright, int *delayLeft, - int *delayRight) { + int *delayRight) +{ float c[3]; float delays[2]; float *fl; @@ -147,7 +168,8 @@ MYSOFA_EXPORT void mysofa_getfilter_short(struct MYSOFA_EASY *easy, float x, fl = easy->fir; fr = easy->fir + easy->hrtf->N; - for (i = easy->hrtf->N; i > 0; i--) { + for (i = easy->hrtf->N; i > 0; i--) + { *IRleft++ = (short)(*fl++ * 32767.); *IRright++ = (short)(*fr++ * 32767.); } @@ -155,7 +177,8 @@ MYSOFA_EXPORT void mysofa_getfilter_short(struct MYSOFA_EASY *easy, float x, MYSOFA_EXPORT void mysofa_getfilter_float_advanced( struct MYSOFA_EASY *easy, float x, float y, float z, float *IRleft, - float *IRright, float *delayLeft, float *delayRight, bool interpolate) { + float *IRright, float *delayLeft, float *delayRight, bool interpolate) +{ float c[3]; float delays[2]; float *fl; @@ -172,7 +195,8 @@ MYSOFA_EXPORT void mysofa_getfilter_float_advanced( neighbors = mysofa_neighborhood(easy->neighborhood, nearest); // bypass interpolate by forcing current cooordinates to nearest's - if (!interpolate) { + if (!interpolate) + { memcpy(c, easy->hrtf->SourcePosition.values + nearest * easy->hrtf->C, sizeof(float) * easy->hrtf->C); } @@ -185,7 +209,8 @@ MYSOFA_EXPORT void mysofa_getfilter_float_advanced( fl = res; fr = res + easy->hrtf->N; - for (i = easy->hrtf->N; i > 0; i--) { + for (i = easy->hrtf->N; i > 0; i--) + { *IRleft++ = *fl++; *IRright++ = *fr++; } @@ -194,7 +219,8 @@ MYSOFA_EXPORT void mysofa_getfilter_float_advanced( MYSOFA_EXPORT void mysofa_getfilter_float(struct MYSOFA_EASY *easy, float x, float y, float z, float *IRleft, float *IRright, float *delayLeft, - float *delayRight) { + float *delayRight) +{ mysofa_getfilter_float_advanced(easy, x, y, z, IRleft, IRright, delayLeft, delayRight, true); } @@ -202,13 +228,16 @@ MYSOFA_EXPORT void mysofa_getfilter_float(struct MYSOFA_EASY *easy, float x, MYSOFA_EXPORT void mysofa_getfilter_float_nointerp(struct MYSOFA_EASY *easy, float x, float y, float z, float *IRleft, float *IRright, - float *delayLeft, float *delayRight) { + float *delayLeft, float *delayRight) +{ mysofa_getfilter_float_advanced(easy, x, y, z, IRleft, IRright, delayLeft, delayRight, false); } -MYSOFA_EXPORT void mysofa_close(struct MYSOFA_EASY *easy) { - if (easy) { +MYSOFA_EXPORT void mysofa_close(struct MYSOFA_EASY *easy) +{ + if (easy) + { if (easy->fir) free(easy->fir); if (easy->neighborhood) @@ -221,6 +250,7 @@ MYSOFA_EXPORT void mysofa_close(struct MYSOFA_EASY *easy) { } } -MYSOFA_EXPORT void mysofa_close_cached(struct MYSOFA_EASY *easy) { +MYSOFA_EXPORT void mysofa_close_cached(struct MYSOFA_EASY *easy) +{ mysofa_cache_release(easy); } diff --git a/src/hrtf/lookup.c b/src/hrtf/lookup.c index 53579ec..fbaea57 100644 --- a/src/hrtf/lookup.c +++ b/src/hrtf/lookup.c @@ -16,7 +16,8 @@ #include "tools.h" MYSOFA_EXPORT struct MYSOFA_LOOKUP * -mysofa_lookup_init(struct MYSOFA_HRTF *hrtf) { +mysofa_lookup_init(struct MYSOFA_HRTF *hrtf) +{ int i; struct MYSOFA_LOOKUP *lookup; @@ -42,26 +43,33 @@ mysofa_lookup_init(struct MYSOFA_HRTF *hrtf) { lookup->theta_max = FLT_MIN; lookup->radius_min = FLT_MAX; lookup->radius_max = FLT_MIN; - for (i = 0; i < hrtf->M; i++) { + for (i = 0; i < hrtf->M; i++) + { memcpy(origin, hrtf->SourcePosition.values + i * hrtf->C, sizeof(float) * hrtf->C); convertCartesianToSpherical(origin, hrtf->C); - if (origin[0] < lookup->phi_min) { + if (origin[0] < lookup->phi_min) + { lookup->phi_min = origin[0]; } - if (origin[0] > lookup->phi_max) { + if (origin[0] > lookup->phi_max) + { lookup->phi_max = origin[0]; } - if (origin[1] < lookup->theta_min) { + if (origin[1] < lookup->theta_min) + { lookup->theta_min = origin[1]; } - if (origin[1] > lookup->theta_max) { + if (origin[1] > lookup->theta_max) + { lookup->theta_max = origin[1]; } - if (origin[2] < lookup->radius_min) { + if (origin[2] < lookup->radius_min) + { lookup->radius_min = origin[2]; } - if (origin[2] > lookup->radius_max) { + if (origin[2] > lookup->radius_max) + { lookup->radius_max = origin[2]; } } @@ -71,7 +79,8 @@ mysofa_lookup_init(struct MYSOFA_HRTF *hrtf) { * Allocate kd tree */ lookup->kdtree = kd_create(); - if (!lookup->kdtree) { + if (!lookup->kdtree) + { free(lookup); return NULL; } @@ -79,7 +88,8 @@ mysofa_lookup_init(struct MYSOFA_HRTF *hrtf) { /* * add coordinates to the tree */ - for (i = 0; i < hrtf->M; i++) { + for (i = 0; i < hrtf->M; i++) + { float *f = hrtf->SourcePosition.values + i * hrtf->C; kd_insert((struct kdtree *)lookup->kdtree, f, (void *)(intptr_t)i); } @@ -93,18 +103,22 @@ mysofa_lookup_init(struct MYSOFA_HRTF *hrtf) { * A return value of -1 = MYSOFA_INTERNAL_ERROR indicates an error */ MYSOFA_EXPORT int mysofa_lookup(struct MYSOFA_LOOKUP *lookup, - float *coordinate) { + float *coordinate) +{ int index; void *res; int success; float r = radius(coordinate); - if (r > lookup->radius_max) { + if (r > lookup->radius_max) + { r = lookup->radius_max / r; coordinate[0] *= r; coordinate[1] *= r; coordinate[2] *= r; - } else if (r < lookup->radius_min) { + } + else if (r < lookup->radius_min) + { r = lookup->radius_min / r; coordinate[0] *= r; coordinate[1] *= r; @@ -112,15 +126,18 @@ MYSOFA_EXPORT int mysofa_lookup(struct MYSOFA_LOOKUP *lookup, } success = kd_nearest((struct kdtree *)lookup->kdtree, coordinate, &res); - if (success != 0) { + if (success != 0) + { return MYSOFA_INTERNAL_ERROR; } index = (uintptr_t)res; return index; } -MYSOFA_EXPORT void mysofa_lookup_free(struct MYSOFA_LOOKUP *lookup) { - if (lookup) { +MYSOFA_EXPORT void mysofa_lookup_free(struct MYSOFA_LOOKUP *lookup) +{ + if (lookup) + { kd_free((struct kdtree *)lookup->kdtree); free(lookup); } diff --git a/src/hrtf/resample.c b/src/hrtf/resample.c index ee2a03a..9de7a6d 100644 --- a/src/hrtf/resample.c +++ b/src/hrtf/resample.c @@ -15,7 +15,8 @@ #include #include -MYSOFA_EXPORT int mysofa_resample(struct MYSOFA_HRTF *hrtf, float samplerate) { +MYSOFA_EXPORT int mysofa_resample(struct MYSOFA_HRTF *hrtf, float samplerate) +{ int i, err; float factor; unsigned newN; @@ -24,7 +25,7 @@ MYSOFA_EXPORT int mysofa_resample(struct MYSOFA_HRTF *hrtf, float samplerate) { float *out; float zero[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - if (hrtf->DataSamplingRate.elements != 1 || samplerate < 8000.) + if (hrtf->DataSamplingRate.elements != 1 || samplerate < 8000. || hrtf->DataIR.elements != hrtf->R * hrtf->M * hrtf->N) return MYSOFA_INVALID_FORMAT; if (samplerate == hrtf->DataSamplingRate.values[0]) @@ -36,20 +37,21 @@ MYSOFA_EXPORT int mysofa_resample(struct MYSOFA_HRTF *hrtf, float samplerate) { /* * resample FIR filter */ + values = malloc(newN * hrtf->R * hrtf->M * sizeof(float)); if (values == NULL) return MYSOFA_NO_MEMORY; resampler = speex_resampler_init(1, hrtf->DataSamplingRate.values[0], samplerate, 10, &err); - if (resampler == NULL) { + if (resampler == NULL) + { free(values); return err; } - out = malloc(sizeof(float) * - (newN + speex_resampler_get_output_latency(resampler))); - for (i = 0; i < hrtf->R * hrtf->M; i++) { + for (i = 0; i < hrtf->R * hrtf->M; i++) + { unsigned inlen = hrtf->N; unsigned outlen = newN; speex_resampler_reset_mem(resampler); @@ -58,15 +60,16 @@ MYSOFA_EXPORT int mysofa_resample(struct MYSOFA_HRTF *hrtf, float samplerate) { hrtf->DataIR.values + i * hrtf->N, &inlen, values + i * newN, &outlen); assert(inlen == hrtf->N); - while (outlen < newN) { + while (outlen < newN) + { unsigned difflen = newN - outlen; inlen = 10; speex_resampler_process_float(resampler, 0, zero, &inlen, values + i * newN + outlen, &difflen); outlen += difflen; } + assert(outlen == newN); } - free(out); speex_resampler_destroy(resampler); free(hrtf->DataIR.values); diff --git a/tests/fail-issue-167a.sofa b/tests/fail-issue-167a.sofa new file mode 100755 index 0000000000000000000000000000000000000000..b3b3735d370edae10c1f4cc503a54416bcfba7b4 GIT binary patch literal 91409 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,w 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/dev/null 2>/dev/null +../build/src/mysofa2json -c "$1".sofa >/dev/null 2>/dev/null ret=$? if [ "$ret" -ge 128 ]; then echo mysofa2json crashed with $ret opening$1.sofa