Loading media/libeffects/testlibs/AudioBiquadFilter.cpp +5 −7 Original line number Diff line number Diff line Loading @@ -17,12 +17,10 @@ #include <string.h> #include <assert.h> #include <cutils/compiler.h> #include "AudioBiquadFilter.h" #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) namespace android { const audio_coef_t AudioBiquadFilter::IDENTITY_COEFS[AudioBiquadFilter::NUM_COEFS] = { AUDIO_COEF_ONE, 0, 0, 0, 0 }; Loading Loading @@ -55,7 +53,7 @@ void AudioBiquadFilter::clear() { void AudioBiquadFilter::setCoefs(const audio_coef_t coefs[NUM_COEFS], bool immediate) { memcpy(mTargetCoefs, coefs, sizeof(mTargetCoefs)); if (mState & STATE_ENABLED_MASK) { if (UNLIKELY(immediate)) { if (CC_UNLIKELY(immediate)) { memcpy(mCoefs, coefs, sizeof(mCoefs)); setState(STATE_NORMAL); } else { Loading @@ -70,7 +68,7 @@ void AudioBiquadFilter::process(const audio_sample_t in[], audio_sample_t out[], } void AudioBiquadFilter::enable(bool immediate) { if (UNLIKELY(immediate)) { if (CC_UNLIKELY(immediate)) { memcpy(mCoefs, mTargetCoefs, sizeof(mCoefs)); setState(STATE_NORMAL); } else { Loading @@ -79,7 +77,7 @@ void AudioBiquadFilter::enable(bool immediate) { } void AudioBiquadFilter::disable(bool immediate) { if (UNLIKELY(immediate)) { if (CC_UNLIKELY(immediate)) { memcpy(mCoefs, IDENTITY_COEFS, sizeof(mCoefs)); setState(STATE_BYPASS); } else { Loading Loading @@ -142,7 +140,7 @@ void AudioBiquadFilter::process_bypass(const audio_sample_t * in, audio_sample_t * out, int frameCount) { // The common case is in-place processing, because this is what the EQ does. if (UNLIKELY(in != out)) { if (CC_UNLIKELY(in != out)) { memcpy(out, in, frameCount * mNumChannels * sizeof(audio_sample_t)); } } Loading media/libeffects/testlibs/AudioCoefInterpolator.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -16,10 +16,10 @@ */ #include <string.h> #include "AudioCoefInterpolator.h" #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) #include <cutils/compiler.h> #include "AudioCoefInterpolator.h" namespace android { Loading @@ -44,9 +44,9 @@ void AudioCoefInterpolator::getCoef(const int intCoord[], uint32_t fracCoord[], size_t index = 0; size_t dim = mNumInDims; while (dim-- > 0) { if (UNLIKELY(intCoord[dim] < 0)) { if (CC_UNLIKELY(intCoord[dim] < 0)) { fracCoord[dim] = 0; } else if (UNLIKELY(intCoord[dim] >= (int)mInDims[dim] - 1)) { } else if (CC_UNLIKELY(intCoord[dim] >= (int)mInDims[dim] - 1)) { fracCoord[dim] = 0; index += mInDimOffsets[dim] * (mInDims[dim] - 1); } else { Loading @@ -63,7 +63,7 @@ void AudioCoefInterpolator::getCoefRecurse(size_t index, memcpy(out, mTable + index, mNumOutDims * sizeof(audio_coef_t)); } else { getCoefRecurse(index, fracCoord, out, dim + 1); if (LIKELY(fracCoord != 0)) { if (CC_LIKELY(fracCoord != 0)) { audio_coef_t tempCoef[MAX_OUT_DIMS]; getCoefRecurse(index + mInDimOffsets[dim], fracCoord, tempCoef, dim + 1); Loading media/libeffects/testlibs/AudioCommon.h +3 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <stdint.h> #include <stddef.h> #include <cutils/compiler.h> namespace android { Loading Loading @@ -76,9 +77,9 @@ inline int16_t audio_sample_t_to_s15(audio_sample_t sample) { // Convert a audio_sample_t sample to S15 (with clipping) inline int16_t audio_sample_t_to_s15_clip(audio_sample_t sample) { // TODO: optimize for targets supporting this as an atomic operation. if (__builtin_expect(sample >= (0x7FFF << 9), 0)) { if (CC_UNLIKELY(sample >= (0x7FFF << 9))) { return 0x7FFF; } else if (__builtin_expect(sample <= -(0x8000 << 9), 0)) { } else if (CC_UNLIKELY(sample <= -(0x8000 << 9))) { return 0x8000; } else { return audio_sample_t_to_s15(sample); Loading media/libeffects/testlibs/AudioPeakingFilter.cpp +5 −7 Original line number Diff line number Diff line Loading @@ -21,9 +21,7 @@ #include <new> #include <assert.h> #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) #include <cutils/compiler.h> namespace android { // Format of the coefficient table: Loading Loading @@ -66,12 +64,12 @@ void AudioPeakingFilter::reset() { void AudioPeakingFilter::setFrequency(uint32_t millihertz) { mNominalFrequency = millihertz; if (UNLIKELY(millihertz > mNiquistFreq / 2)) { if (CC_UNLIKELY(millihertz > mNiquistFreq / 2)) { millihertz = mNiquistFreq / 2; } uint32_t normFreq = static_cast<uint32_t>( (static_cast<uint64_t>(millihertz) * mFrequencyFactor) >> 10); if (LIKELY(normFreq > (1 << 23))) { if (CC_LIKELY(normFreq > (1 << 23))) { mFrequency = (Effects_log2(normFreq) - ((32-9) << 15)) << (FREQ_PRECISION_BITS - 15); } else { mFrequency = 0; Loading Loading @@ -107,11 +105,11 @@ void AudioPeakingFilter::getBandRange(uint32_t & low, uint32_t & high) const { int32_t halfBW = (((mBandwidth + 1) / 2) << 15) / 1200; low = static_cast<uint32_t>((static_cast<uint64_t>(mNominalFrequency) * Effects_exp2(-halfBW + (16 << 15))) >> 16); if (UNLIKELY(halfBW >= (16 << 15))) { if (CC_UNLIKELY(halfBW >= (16 << 15))) { high = mNiquistFreq; } else { high = static_cast<uint32_t>((static_cast<uint64_t>(mNominalFrequency) * Effects_exp2(halfBW + (16 << 15))) >> 16); if (UNLIKELY(high > mNiquistFreq)) { if (CC_UNLIKELY(high > mNiquistFreq)) { high = mNiquistFreq; } } Loading media/libeffects/testlibs/AudioShelvingFilter.cpp +3 −5 Original line number Diff line number Diff line Loading @@ -21,9 +21,7 @@ #include <new> #include <assert.h> #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) #include <cutils/compiler.h> namespace android { // Format of the coefficient tables: Loading Loading @@ -71,13 +69,13 @@ void AudioShelvingFilter::reset() { void AudioShelvingFilter::setFrequency(uint32_t millihertz) { mNominalFrequency = millihertz; if (UNLIKELY(millihertz > mNiquistFreq / 2)) { if (CC_UNLIKELY(millihertz > mNiquistFreq / 2)) { millihertz = mNiquistFreq / 2; } uint32_t normFreq = static_cast<uint32_t>( (static_cast<uint64_t>(millihertz) * mFrequencyFactor) >> 10); uint32_t log2minFreq = (mType == kLowShelf ? (32-10) : (32-2)); if (LIKELY(normFreq > (1U << log2minFreq))) { if (CC_LIKELY(normFreq > (1U << log2minFreq))) { mFrequency = (Effects_log2(normFreq) - (log2minFreq << 15)) << (FREQ_PRECISION_BITS - 15); } else { mFrequency = 0; Loading Loading
media/libeffects/testlibs/AudioBiquadFilter.cpp +5 −7 Original line number Diff line number Diff line Loading @@ -17,12 +17,10 @@ #include <string.h> #include <assert.h> #include <cutils/compiler.h> #include "AudioBiquadFilter.h" #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) namespace android { const audio_coef_t AudioBiquadFilter::IDENTITY_COEFS[AudioBiquadFilter::NUM_COEFS] = { AUDIO_COEF_ONE, 0, 0, 0, 0 }; Loading Loading @@ -55,7 +53,7 @@ void AudioBiquadFilter::clear() { void AudioBiquadFilter::setCoefs(const audio_coef_t coefs[NUM_COEFS], bool immediate) { memcpy(mTargetCoefs, coefs, sizeof(mTargetCoefs)); if (mState & STATE_ENABLED_MASK) { if (UNLIKELY(immediate)) { if (CC_UNLIKELY(immediate)) { memcpy(mCoefs, coefs, sizeof(mCoefs)); setState(STATE_NORMAL); } else { Loading @@ -70,7 +68,7 @@ void AudioBiquadFilter::process(const audio_sample_t in[], audio_sample_t out[], } void AudioBiquadFilter::enable(bool immediate) { if (UNLIKELY(immediate)) { if (CC_UNLIKELY(immediate)) { memcpy(mCoefs, mTargetCoefs, sizeof(mCoefs)); setState(STATE_NORMAL); } else { Loading @@ -79,7 +77,7 @@ void AudioBiquadFilter::enable(bool immediate) { } void AudioBiquadFilter::disable(bool immediate) { if (UNLIKELY(immediate)) { if (CC_UNLIKELY(immediate)) { memcpy(mCoefs, IDENTITY_COEFS, sizeof(mCoefs)); setState(STATE_BYPASS); } else { Loading Loading @@ -142,7 +140,7 @@ void AudioBiquadFilter::process_bypass(const audio_sample_t * in, audio_sample_t * out, int frameCount) { // The common case is in-place processing, because this is what the EQ does. if (UNLIKELY(in != out)) { if (CC_UNLIKELY(in != out)) { memcpy(out, in, frameCount * mNumChannels * sizeof(audio_sample_t)); } } Loading
media/libeffects/testlibs/AudioCoefInterpolator.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -16,10 +16,10 @@ */ #include <string.h> #include "AudioCoefInterpolator.h" #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) #include <cutils/compiler.h> #include "AudioCoefInterpolator.h" namespace android { Loading @@ -44,9 +44,9 @@ void AudioCoefInterpolator::getCoef(const int intCoord[], uint32_t fracCoord[], size_t index = 0; size_t dim = mNumInDims; while (dim-- > 0) { if (UNLIKELY(intCoord[dim] < 0)) { if (CC_UNLIKELY(intCoord[dim] < 0)) { fracCoord[dim] = 0; } else if (UNLIKELY(intCoord[dim] >= (int)mInDims[dim] - 1)) { } else if (CC_UNLIKELY(intCoord[dim] >= (int)mInDims[dim] - 1)) { fracCoord[dim] = 0; index += mInDimOffsets[dim] * (mInDims[dim] - 1); } else { Loading @@ -63,7 +63,7 @@ void AudioCoefInterpolator::getCoefRecurse(size_t index, memcpy(out, mTable + index, mNumOutDims * sizeof(audio_coef_t)); } else { getCoefRecurse(index, fracCoord, out, dim + 1); if (LIKELY(fracCoord != 0)) { if (CC_LIKELY(fracCoord != 0)) { audio_coef_t tempCoef[MAX_OUT_DIMS]; getCoefRecurse(index + mInDimOffsets[dim], fracCoord, tempCoef, dim + 1); Loading
media/libeffects/testlibs/AudioCommon.h +3 −2 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ #include <stdint.h> #include <stddef.h> #include <cutils/compiler.h> namespace android { Loading Loading @@ -76,9 +77,9 @@ inline int16_t audio_sample_t_to_s15(audio_sample_t sample) { // Convert a audio_sample_t sample to S15 (with clipping) inline int16_t audio_sample_t_to_s15_clip(audio_sample_t sample) { // TODO: optimize for targets supporting this as an atomic operation. if (__builtin_expect(sample >= (0x7FFF << 9), 0)) { if (CC_UNLIKELY(sample >= (0x7FFF << 9))) { return 0x7FFF; } else if (__builtin_expect(sample <= -(0x8000 << 9), 0)) { } else if (CC_UNLIKELY(sample <= -(0x8000 << 9))) { return 0x8000; } else { return audio_sample_t_to_s15(sample); Loading
media/libeffects/testlibs/AudioPeakingFilter.cpp +5 −7 Original line number Diff line number Diff line Loading @@ -21,9 +21,7 @@ #include <new> #include <assert.h> #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) #include <cutils/compiler.h> namespace android { // Format of the coefficient table: Loading Loading @@ -66,12 +64,12 @@ void AudioPeakingFilter::reset() { void AudioPeakingFilter::setFrequency(uint32_t millihertz) { mNominalFrequency = millihertz; if (UNLIKELY(millihertz > mNiquistFreq / 2)) { if (CC_UNLIKELY(millihertz > mNiquistFreq / 2)) { millihertz = mNiquistFreq / 2; } uint32_t normFreq = static_cast<uint32_t>( (static_cast<uint64_t>(millihertz) * mFrequencyFactor) >> 10); if (LIKELY(normFreq > (1 << 23))) { if (CC_LIKELY(normFreq > (1 << 23))) { mFrequency = (Effects_log2(normFreq) - ((32-9) << 15)) << (FREQ_PRECISION_BITS - 15); } else { mFrequency = 0; Loading Loading @@ -107,11 +105,11 @@ void AudioPeakingFilter::getBandRange(uint32_t & low, uint32_t & high) const { int32_t halfBW = (((mBandwidth + 1) / 2) << 15) / 1200; low = static_cast<uint32_t>((static_cast<uint64_t>(mNominalFrequency) * Effects_exp2(-halfBW + (16 << 15))) >> 16); if (UNLIKELY(halfBW >= (16 << 15))) { if (CC_UNLIKELY(halfBW >= (16 << 15))) { high = mNiquistFreq; } else { high = static_cast<uint32_t>((static_cast<uint64_t>(mNominalFrequency) * Effects_exp2(halfBW + (16 << 15))) >> 16); if (UNLIKELY(high > mNiquistFreq)) { if (CC_UNLIKELY(high > mNiquistFreq)) { high = mNiquistFreq; } } Loading
media/libeffects/testlibs/AudioShelvingFilter.cpp +3 −5 Original line number Diff line number Diff line Loading @@ -21,9 +21,7 @@ #include <new> #include <assert.h> #define LIKELY( exp ) (__builtin_expect( (exp) != 0, true )) #define UNLIKELY( exp ) (__builtin_expect( (exp) != 0, false )) #include <cutils/compiler.h> namespace android { // Format of the coefficient tables: Loading Loading @@ -71,13 +69,13 @@ void AudioShelvingFilter::reset() { void AudioShelvingFilter::setFrequency(uint32_t millihertz) { mNominalFrequency = millihertz; if (UNLIKELY(millihertz > mNiquistFreq / 2)) { if (CC_UNLIKELY(millihertz > mNiquistFreq / 2)) { millihertz = mNiquistFreq / 2; } uint32_t normFreq = static_cast<uint32_t>( (static_cast<uint64_t>(millihertz) * mFrequencyFactor) >> 10); uint32_t log2minFreq = (mType == kLowShelf ? (32-10) : (32-2)); if (LIKELY(normFreq > (1U << log2minFreq))) { if (CC_LIKELY(normFreq > (1U << log2minFreq))) { mFrequency = (Effects_log2(normFreq) - (log2minFreq << 15)) << (FREQ_PRECISION_BITS - 15); } else { mFrequency = 0; Loading