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

Commit 400236f8 authored by Shunkai Yao's avatar Shunkai Yao Committed by Android (Google) Code Review
Browse files

Merge "Revert "Fix volume value and DPE range"" into main

parents acc3bf10 bc188dc4
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -105,14 +105,14 @@ static const DynamicsProcessing::EqBandConfig kEqBandConfigMin =
        DynamicsProcessing::EqBandConfig({.channel = 0,
                                          .band = 0,
                                          .enable = false,
                                          .cutoffFrequencyHz = 0,
                                          .cutoffFrequencyHz = 20,
                                          .gainDb = -200});

static const DynamicsProcessing::EqBandConfig kEqBandConfigMax =
        DynamicsProcessing::EqBandConfig({.channel = std::numeric_limits<int>::max(),
                                          .band = std::numeric_limits<int>::max(),
                                          .enable = true,
                                          .cutoffFrequencyHz = 192000,
                                          .cutoffFrequencyHz = 20000.1,
                                          .gainDb = 200});

static const Range::DynamicsProcessingRange kPreEqBandConfigRange = {
@@ -129,7 +129,7 @@ static const Range::DynamicsProcessingRange kMbcBandConfigRange = {
                        {.channel = 0,
                         .band = 0,
                         .enable = false,
                         .cutoffFrequencyHz = 0,
                         .cutoffFrequencyHz = 20,
                         .attackTimeMs = 0,
                         .releaseTimeMs = 0,
                         .ratio = 1,
@@ -144,7 +144,7 @@ static const Range::DynamicsProcessingRange kMbcBandConfigRange = {
                        {.channel = std::numeric_limits<int>::max(),
                         .band = std::numeric_limits<int>::max(),
                         .enable = true,
                         .cutoffFrequencyHz = 192000,
                         .cutoffFrequencyHz = 20000.1,
                         .attackTimeMs = 60000,
                         .releaseTimeMs = 60000,
                         .ratio = 50,
@@ -443,7 +443,7 @@ RetCode DynamicsProcessingImpl::releaseContext() {
IEffect::Status DynamicsProcessingImpl::effectProcessImpl(float* in, float* out, int samples) {
    IEffect::Status status = {EX_NULL_POINTER, 0, 0};
    RETURN_VALUE_IF(!mContext, status, "nullContext");
    return mContext->dpeProcess(in, out, samples);
    return mContext->lvmProcess(in, out, samples);
}

}  // namespace aidl::android::hardware::audio::effect
+1 −24
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@
#include "DynamicsProcessingContext.h"
#include "DynamicsProcessing.h"

#include <audio_utils/power.h>
#include <sys/param.h>
#include <functional>
#include <unordered_set>
@@ -69,23 +68,6 @@ RetCode DynamicsProcessingContext::setCommon(const Parameter::Common& common) {
    return RetCode::SUCCESS;
}

RetCode DynamicsProcessingContext::setVolumeStereo(const Parameter::VolumeStereo& volumeStereo) {
    std::lock_guard lg(mMutex);
    dp_fx::DPChannel* leftChannel = mDpFreq->getChannel(0);
    dp_fx::DPChannel* rightChannel = mDpFreq->getChannel(1);
    if (leftChannel != nullptr) {
        leftChannel->setOutputGain(audio_utils_power_from_amplitude(volumeStereo.left));
    }
    if (rightChannel != nullptr) {
        rightChannel->setOutputGain(audio_utils_power_from_amplitude(volumeStereo.right));
    }
    return RetCode::SUCCESS;
}

Parameter::VolumeStereo DynamicsProcessingContext::getVolumeStereo() {
    return {1.0f, 1.0f};
}

void DynamicsProcessingContext::dpSetFreqDomainVariant_l(
        const DynamicsProcessing::EngineArchitecture& engine) {
    mDpFreq.reset(new dp_fx::DPFrequency());
@@ -291,7 +273,7 @@ std::vector<DynamicsProcessing::InputGain> DynamicsProcessingContext::getInputGa
    return ret;
}

IEffect::Status DynamicsProcessingContext::dpeProcess(float* in, float* out, int samples) {
IEffect::Status DynamicsProcessingContext::lvmProcess(float* in, float* out, int samples) {
    LOG(DEBUG) << __func__ << " in " << in << " out " << out << " sample " << samples;

    IEffect::Status status = {EX_NULL_POINTER, 0, 0};
@@ -478,11 +460,6 @@ RetCode DynamicsProcessingContext::setDpChannels_l(
    RetCode ret = RetCode::SUCCESS;
    std::unordered_set<int> channelSet;

    if (!stageInUse) {
        LOG(WARNING) << __func__ << " not in use " << ::android::internal::ToString(channels);
        return RetCode::SUCCESS;
    }

    RETURN_VALUE_IF(!stageInUse, RetCode::ERROR_ILLEGAL_PARAMETER, "stageNotInUse");
    for (auto& it : channels) {
        if (0 != channelSet.count(it.channel)) {
+1 −3
Original line number Diff line number Diff line
@@ -45,8 +45,6 @@ class DynamicsProcessingContext final : public EffectContext {

    // override EffectContext::setCommon to update mChannelCount
    RetCode setCommon(const Parameter::Common& common) override;
    RetCode setVolumeStereo(const Parameter::VolumeStereo& volumeStereo) override;
    Parameter::VolumeStereo getVolumeStereo() override;

    RetCode setEngineArchitecture(const DynamicsProcessing::EngineArchitecture& engineArchitecture);
    RetCode setPreEq(const std::vector<DynamicsProcessing::ChannelConfig>& eqChannels);
@@ -68,7 +66,7 @@ class DynamicsProcessingContext final : public EffectContext {
    std::vector<DynamicsProcessing::LimiterConfig> getLimiter();
    std::vector<DynamicsProcessing::InputGain> getInputGain();

    IEffect::Status dpeProcess(float* in, float* out, int samples);
    IEffect::Status lvmProcess(float* in, float* out, int samples);

  private:
    static constexpr float kPreferredProcessingDurationMs = 10.0f;
+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ class BundleContext final : public EffectContext {
            const Virtualizer::SpeakerAnglesPayload payload);

    RetCode setVolumeStereo(const Parameter::VolumeStereo& volumeStereo) override;
    Parameter::VolumeStereo getVolumeStereo() override { return {1.0f, 1.0f}; }
    Parameter::VolumeStereo getVolumeStereo() override { return mVolumeStereo; }

    IEffect::Status lvmProcess(float* in, float* out, int samples);