diff options
author | Marco Nelissen <marcone@google.com> | 2011-01-18 16:44:28 -0800 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2011-01-24 08:47:55 -0800 |
commit | dbc0fe985f5cb026113918c96929ee448fc9605e (patch) | |
tree | c4eeff56b669c4c3b6cf71c94851ac544e7b2b01 /media/libmedia/Visualizer.cpp | |
parent | c896d85c15d8a6c98c93df57d88481b89eb878f5 (diff) | |
download | frameworks_base-dbc0fe985f5cb026113918c96929ee448fc9605e.zip frameworks_base-dbc0fe985f5cb026113918c96929ee448fc9605e.tar.gz frameworks_base-dbc0fe985f5cb026113918c96929ee448fc9605e.tar.bz2 |
Increase the number of useful bits in the spectrum.
Change-Id: I3efc2ac8db689285566df35cb6f594aab41141db
Diffstat (limited to 'media/libmedia/Visualizer.cpp')
-rw-r--r-- | media/libmedia/Visualizer.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/media/libmedia/Visualizer.cpp b/media/libmedia/Visualizer.cpp index a660429..43571cf 100644 --- a/media/libmedia/Visualizer.cpp +++ b/media/libmedia/Visualizer.cpp @@ -219,8 +219,13 @@ status_t Visualizer::doFft(uint8_t *fft, uint8_t *waveform) } for (uint32_t i = 0; i < mCaptureSize; i += 2) { - fft[i] = workspace[i >> 1] >> 24; - fft[i + 1] = workspace[i >> 1] >> 8; + short tmp = workspace[i >> 1] >> 21; + while (tmp > 127 || tmp < -128) tmp >>= 1; + fft[i] = tmp; + tmp = workspace[i >> 1]; + tmp >>= 5; + while (tmp > 127 || tmp < -128) tmp >>= 1; + fft[i + 1] = tmp; } return NO_ERROR; |