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

Commit 5effdf6d authored by Andy Hung's avatar Andy Hung
Browse files

Deprecate ditherAndClamp with memcpy_to_i16_from_q4_27

Test: test-mixer and SoloTester
Bug: 69636805
Change-Id: I5cc04d82f3e46fbfc8188a63eb2a90fb70634c90
parent cd742b91
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -1947,11 +1947,10 @@ void AudioMixer::convertMixerFormat(void *out, audio_format_t mixerOutFormat,
    case AUDIO_FORMAT_PCM_16_BIT:
        switch (mixerOutFormat) {
        case AUDIO_FORMAT_PCM_FLOAT:
            memcpy_to_float_from_q4_27((float*)out, (int32_t*)in, sampleCount);
            memcpy_to_float_from_q4_27((float*)out, (const int32_t*)in, sampleCount);
            break;
        case AUDIO_FORMAT_PCM_16_BIT:
            // two int16_t are produced per iteration
            ditherAndClamp((int32_t*)out, (int32_t*)in, sampleCount >> 1);
            memcpy_to_i16_from_q4_27((int16_t*)out, (const int32_t*)in, sampleCount);
            break;
        default:
            LOG_ALWAYS_FATAL("bad mixerOutFormat: %#x", mixerOutFormat);
+1 −2
Original line number Diff line number Diff line
@@ -316,8 +316,7 @@ int main(int argc, char* argv[]) {
            outputSampleRate, outputChannels, outputFrames, useMixerFloat);
    if (auxFilename) {
        // Aux buffer is always in q4_27 format for now.
        // memcpy_to_i16_from_q4_27(), but with stereo frame count (not sample count)
        ditherAndClamp((int32_t*)auxAddr, (int32_t*)auxAddr, outputFrames >> 1);
        memcpy_to_i16_from_q4_27((int16_t*)auxAddr, (const int32_t*)auxAddr, outputFrames);
        writeFile(auxFilename, auxAddr, outputSampleRate, 1, outputFrames, false);
    }

+1 −3
Original line number Diff line number Diff line
@@ -480,9 +480,7 @@ int process( effect_buffer_t *pIn,
                (size_t)frameCount * FCC_2);
#endif
#else
        for (int i = 0; i < frameCount * FCC_2; i++) { //always stereo here
            OutFrames16[i] = clamp16(pContext->OutFrames[i]>>8);
        }
        memcpy_to_i16_from_q4_27(OutFrames16, pContext->OutFrames, (size_t)frameCount * FCC_2);
#endif
    } else {
#ifdef BUILD_FLOAT
+4 −6
Original line number Diff line number Diff line
@@ -312,16 +312,14 @@ void AudioFlinger::EffectModule::process()
                    float * const pFloat = mConfig.inputCfg.buffer.f32;
                    memcpy_to_float_from_q4_27(pFloat, p32, mConfig.inputCfg.buffer.frameCount);
                } else {
                    const size_t pairs = mConfig.inputCfg.buffer.frameCount / 2;
                    ditherAndClamp(mConfig.inputCfg.buffer.s32,
                    memcpy_to_i16_from_q4_27(mConfig.inputCfg.buffer.s16,
                            mConfig.inputCfg.buffer.s32,
                            pairs);
                            mConfig.inputCfg.buffer.frameCount);
                }
#else
                const size_t pairs = mConfig.inputCfg.buffer.frameCount / 2;
                ditherAndClamp(mConfig.inputCfg.buffer.s32,
                memcpy_to_i16_from_q4_27(mConfig.inputCfg.buffer.s16,
                                            mConfig.inputCfg.buffer.s32,
                                            pairs);
                                            mConfig.inputCfg.buffer.frameCount);
#endif
            }
#ifdef FLOAT_EFFECT_CHAIN