Commit fdf9aff2 authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

[fix] prevent divide by zero in GenerateFilter()

parent 4e0c3f63
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -176,6 +176,7 @@
#define FIX_1129_EXT_REND_OUTPUT_HIGH                   /* Philips: issue 1129: External renderer BINAURAL_ROOM_REVERB format output level too high compared to internal rendering output */
#define FIX_1135_EXT_RENDERER_HANDLES                   /* VA: issue 1135: Memory usage reduction in external renderer: Allocate only handles that are really needed. */
#define FIX_1159_SPLIT_RENDERING_CONFIG                 /* VA: issue 1159: Execute split rendering config only for split rendering outputs. */
#define FIX_1166_TDREND_DIV0                            /* FhG,Eri: issue 1166: potential divide by zero in TD Renderer */

/* #################### End BE switches ################################## */

+5 −0
Original line number Diff line number Diff line
@@ -218,8 +218,13 @@ static void GenerateFilter(
            ESynL += modelEval->BMEnergiesL[modelEval->UseIndsL[i]].val;
            ESynR += modelEval->BMEnergiesR[modelEval->UseIndsR[i]].val;
        }
#ifdef FIX_1166_TDREND_DIV0
        ScaleL = sqrtf( ETotL / ( ESynL + EPSILON ) );
        ScaleR = sqrtf( ETotR / ( ESynR + EPSILON ) );
#else
        ScaleL = sqrtf( ETotL / ESynL );
        ScaleR = sqrtf( ETotR / ESynR );
#endif

        /* Build using only the most energetic components. */
        for ( k = model->iSecFirst[iSec]; k <= model->iSecLast[iSec]; k++ )