Unverified Commit d0adef03 authored by norvell's avatar norvell
Browse files

Replace literals in distatt/directivity range check with constants

parent ae128fa6
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
@@ -82,9 +82,19 @@
#define IVAS_ER_LIST_ORIGIN_Y_FX 0

#ifdef FIX_BASOP_2023_TDREND_DISTATT_PRECISION
#define DIST_ATT_MIN_MAXDIST     0.0f
#define DIST_ATT_MIN_REFDIST     0.0f
#define DIST_ATT_MIN_ROLLOFF     0.0f
#define DIST_ATT_MAX_MAXDIST     63.0f
#define DIST_ATT_MAX_REFDIST     6.3f
#define DIST_ATT_MAX_ROLLOFF     4.0f
#define DIST_ATT_DEFAULT_MAXDIST 15.75f
#define DIST_ATT_DEFAULT_REFDIST 1.0f
#define DIST_ATT_DEFAULT_ROLLOFF 1.0f
#define DIRECTIVITY_MIN_ANGLE    0.0f
#define DIRECTIVITY_MAX_ANGLE    360.0f
#define DIRECTIVITY_MIN_ATT_FAC  0.0f
#define DIRECTIVITY_MAX_ATT_FAC  1.0f
#endif

#ifndef min
@@ -1398,26 +1408,26 @@ ivas_error RenderConfigReader_checkValues(
    if ( pRenderConfigReader->distAtt[0] == -1 )
    {
        /* Default values */
        pRenderConfigReader->distAtt[0] = 15.75f;
        pRenderConfigReader->distAtt[1] = 1.0f;
        pRenderConfigReader->distAtt[2] = 1.0f;
        pRenderConfigReader->distAtt[0] = DIST_ATT_DEFAULT_MAXDIST;
        pRenderConfigReader->distAtt[1] = DIST_ATT_DEFAULT_REFDIST;
        pRenderConfigReader->distAtt[2] = DIST_ATT_DEFAULT_ROLLOFF;
    }
    else
    {
        /* Verify range of distance attenuation parameters: refDist:       0.0 <= distAtt[1] <= 6.3         */
        /*                                                  maxDist:       distAtt[1] <= distAtt[0] <= 63.0 */
        /*                                                  rollOffFactor: 0 <= distAtt[2] <= 4.0           */
        pRenderConfigReader->distAtt[1] = min( max( 0, pRenderConfigReader->distAtt[1] ), DIST_ATT_MAX_REFDIST );
        pRenderConfigReader->distAtt[1] = min( max( DIST_ATT_MIN_REFDIST, pRenderConfigReader->distAtt[1] ), DIST_ATT_MAX_REFDIST );
        pRenderConfigReader->distAtt[0] = min( max( pRenderConfigReader->distAtt[1], pRenderConfigReader->distAtt[0] ), DIST_ATT_MAX_MAXDIST );
        pRenderConfigReader->distAtt[2] = min( max( 0.0f, pRenderConfigReader->distAtt[2] ), DIST_ATT_MAX_ROLLOFF );
        pRenderConfigReader->distAtt[2] = min( max( DIST_ATT_MIN_ROLLOFF, pRenderConfigReader->distAtt[2] ), DIST_ATT_MAX_ROLLOFF );
    }

    /* Verify range of directivity patterns */
    for ( i = 0; i < pRenderConfigReader->nDP; i++ )
    {
        pRenderConfigReader->pDP[i].pDirectivity[0] = max( 0.0f, min( 360.0f, pRenderConfigReader->pDP[i].pDirectivity[0] ) );
        pRenderConfigReader->pDP[i].pDirectivity[1] = max( 0.0f, min( 360.0f, pRenderConfigReader->pDP[i].pDirectivity[1] ) );
        pRenderConfigReader->pDP[i].pDirectivity[2] = max( 0.0f, min( 1.0f, pRenderConfigReader->pDP[i].pDirectivity[2] ) );
        pRenderConfigReader->pDP[i].pDirectivity[0] = max( DIRECTIVITY_MIN_ANGLE, min( DIRECTIVITY_MAX_ANGLE, pRenderConfigReader->pDP[i].pDirectivity[0] ) );
        pRenderConfigReader->pDP[i].pDirectivity[1] = max( DIRECTIVITY_MIN_ANGLE, min( DIRECTIVITY_MAX_ANGLE, pRenderConfigReader->pDP[i].pDirectivity[1] ) );
        pRenderConfigReader->pDP[i].pDirectivity[2] = max( DIRECTIVITY_MIN_ATT_FAC, min( DIRECTIVITY_MAX_ATT_FAC, pRenderConfigReader->pDP[i].pDirectivity[2] ) );
    }

    return IVAS_ERR_OK;