diff options
author | andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-21 16:43:13 +0000 |
---|---|---|
committer | andrew@webrtc.org <andrew@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-21 16:43:13 +0000 |
commit | e4834e042a794dbf042bfd0934e335598d7ce4b8 (patch) | |
tree | 3770a2234bf16beb8d934d943c9b8f0f27724225 /modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h | |
parent | f0a119fa99a8c384c30f3eb049c54091a6a1a828 (diff) | |
download | webrtc-e4834e042a794dbf042bfd0934e335598d7ce4b8.tar.gz |
MIPS optimizations for ISAC (patch #2)
Implemented functions:
- WebRtcIsacfix_CalculateResidualEnergy
- WebRtcIsacfix_Spec2Time
- WebRtcIsacfix_Time2Spec
- WebRtcIsacfix_HighpassFilterFixDec32
- WebRtcIsacfix_PCorr2Q32
Gain achieved: aprox. further 5% on top of patch#1 on ISAC encoding path.
The optimizations are bit-exact to the C code, with the excception of the
MIPS DSPr2 variant of the WebRtcIsacfix_Time2Spec function (the accuracy of
the WebRtcIsacfix_Time2Spec MIPS DSPr2 variant is same or better than C
variant). Code verification and improvement achieved have been determined
using the iSACFixtest application.
R=andrew@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19749004
Patch from Ljubomir Papuga <lpapuga@mips.com>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6749 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h')
-rw-r--r-- | modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h b/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h index 72e0cfc4..1270c142 100644 --- a/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h +++ b/modules/audio_coding/codecs/isac/fix/source/lpc_masking_model.h @@ -62,6 +62,15 @@ int32_t WebRtcIsacfix_CalculateResidualEnergyNeon(int lpc_order, int* q_val_residual_energy); #endif +#if defined(MIPS_DSP_R2_LE) +int32_t WebRtcIsacfix_CalculateResidualEnergyMIPS(int lpc_order, + int32_t q_val_corr, + int q_val_polynomial, + int16_t* a_polynomial, + int32_t* corr_coeffs, + int* q_val_residual_energy); +#endif + #ifdef __cplusplus } /* extern "C" */ #endif |