Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9976058d authored by Harish Mahendrakar's avatar Harish Mahendrakar
Browse files

Fix biquad coeffs in StereoWidening modules

Coefficients used in StereoWidening modules were incorrect
This was due to difference between legacy biquad modules in lvm
and optimized biquad filter implementation in handling the
coefficients for these modules.

Bug: 179462586
Test: YT Music

Change-Id: I2fb1eb811829aaf16df942eeed944a22bfbc555f
parent 85ed8fd8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -72,8 +72,8 @@ LVCS_ReturnStatus_en LVCS_EqualiserInit(LVCS_Handle_t hInstance, LVCS_Params_t*

        std::array<LVM_FLOAT, android::audio_utils::kBiquadNumCoefs> coefs = {
                pEqualiserCoefTable[Offset].A0, pEqualiserCoefTable[Offset].A1,
                pEqualiserCoefTable[Offset].A2, -(pEqualiserCoefTable[Offset].B1),
                -(pEqualiserCoefTable[Offset].B2)};
                pEqualiserCoefTable[Offset].A2, pEqualiserCoefTable[Offset].B1,
                pEqualiserCoefTable[Offset].B2};
        pInstance->pEqBiquad.reset(new android::audio_utils::BiquadFilter<LVM_FLOAT>(
                (pParams->NrChannels == FCC_1) ? FCC_1 : FCC_2, coefs));
    }
+2 −2
Original line number Diff line number Diff line
@@ -93,8 +93,8 @@ LVCS_ReturnStatus_en LVCS_ReverbGeneratorInit(LVCS_Handle_t hInstance, LVCS_Para

        std::array<LVM_FLOAT, android::audio_utils::kBiquadNumCoefs> coefs = {
                pReverbCoefTable[Offset].A0, pReverbCoefTable[Offset].A1,
                pReverbCoefTable[Offset].A2, -(pReverbCoefTable[Offset].B1),
                -(pReverbCoefTable[Offset].B2)};
                pReverbCoefTable[Offset].A2, pReverbCoefTable[Offset].B1,
                pReverbCoefTable[Offset].B2};
        pInstance->pRevBiquad.reset(new android::audio_utils::BiquadFilter<LVM_FLOAT>(
                (pParams->NrChannels == FCC_1) ? FCC_1 : FCC_2, coefs));

+2 −2
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ LVCS_ReturnStatus_en LVCS_SEnhancerInit(LVCS_Handle_t hInstance, LVCS_Params_t*

        std::array<LVM_FLOAT, android::audio_utils::kBiquadNumCoefs> coefs = {
                LVCS_SEMidCoefTable[Offset].A0, LVCS_SEMidCoefTable[Offset].A1, 0.0,
                -(LVCS_SEMidCoefTable[Offset].B1), 0.0};
                LVCS_SEMidCoefTable[Offset].B1, 0.0};
        pInstance->pSEMidBiquad.reset(
                new android::audio_utils::BiquadFilter<LVM_FLOAT>(FCC_1, coefs));

@@ -77,7 +77,7 @@ LVCS_ReturnStatus_en LVCS_SEnhancerInit(LVCS_Handle_t hInstance, LVCS_Params_t*

        /* Side filter */
        coefs = {pSESideCoefs[Offset].A0, pSESideCoefs[Offset].A1, pSESideCoefs[Offset].A2,
                 -(pSESideCoefs[Offset].B1), -(pSESideCoefs[Offset].B2)};
                 pSESideCoefs[Offset].B1, pSESideCoefs[Offset].B2};
        pInstance->pSESideBiquad.reset(
                new android::audio_utils::BiquadFilter<LVM_FLOAT>(FCC_1, coefs));
    }