summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/AudioResamplerDyn.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Return number of frames output from resample methodAndy Hung2015-04-081-3/+4
| | | | Change-Id: Ic297e2ed59839f1788c83e099ef1a9e4af29591f
* Remove redundant semicolon from namespace closingGlenn Kasten2015-03-031-1/+1
| | | | Change-Id: I163f9d3d216c283ae1160ce4802e5247cf44fba7
* Extend downsampling ratios greater than 2:1Andy Hung2014-08-111-1/+1
| | | | | | | | | Also improve robustness to choice of sampling rate or buffer size such that increasing either by 10x does not cause overflow. Bug: 12979141 Bug: 15933066 Change-Id: If7989bd745d1bee3bdf811b8b7c978543ccafb65
* Fix build warningsGlenn Kasten2014-07-291-4/+4
| | | | Change-Id: Ife5e40264f43fb3ccb40830228701003fe106bf5
* Add floating point volume handling to AudioMixerAndy Hung2014-07-081-9/+10
| | | | | | | | | | | | | | | Use floating point volume in AudioMixer mixing when floating point input is used with the new mixer engine. AudioResampler is updated to take floating point volume to match. Both legacy integer and floating point mixer engines work. For now, integer volume is used when the new mixer engine runs in integer input mode, for backward compatibility with the legacy mixer. The new mixer engine will generally run in floating point input mode. When the legacy path is removed, the integer volumes will be removed. Change-Id: I79e80c292ae7c8b8bdd0aa371a1b2c3a1b618290
* Replace int bitDepth with audio_format_t in ResamplerAndy Hung2014-07-071-2/+2
| | | | | | | | Remove mBitDepth from class (not used). Replace with audio_format_t in factory method to distinguish between float and pcm 16-bit. Change-Id: I166860796c68285077ef4458d8758d19b82523f9
* Add and enable multichannel for audio resamplerAndy Hung2014-07-021-34/+72
| | | | | Change-Id: I2b86fb73d70abc4c456f7567270a888086b301d4 Signed-off-by: Andy Hung <hunga@google.com>
* Update resampler to fetch exactly the frames neededAndy Hung2014-06-031-20/+36
| | | | | | | | | | | This avoids unnecessary overfetching/releasing, which could cause problems with the upstream AudioBufferProvider. A one input sample delay is placed on the stream compared with the previous implementation. This change only affects the Dynamic resampler. Change-Id: Ic7fcff130e0081b4724cfb5a00dc8e8b4a8b1af3
* Update dynamic resampler buffer fetchingAndy Hung2014-05-281-6/+16
| | | | | | | | | Make the criteria tight for fetching to avoid storing excessive frame data internal to the resampler. This should reduce jitter in frame delivery computation. Bug: 14962343 Change-Id: I7adaf714d11c272696ccdbf218bda994c7217477
* Add and enable floating point option for audio resamplerAndy Hung2014-04-091-127/+123
| | | | | | | Can be tested with test-resample. Change-Id: I8339846d7c647444b6025d33cfa145d5d3658121 Signed-off-by: Andy Hung <hunga@google.com>
* Add floating point to audio resample processingAndy Hung2014-04-091-0/+1
| | | | | | | | | Add template type parameters for input, output data type. Minor change in non-NEON mono channel handling. Minor fixup on comments. Change-Id: I7dc9972d130913718b62f32c02d31f99c06682f2 Signed-off-by: Andy Hung <hunga@google.com>
* Merge "Fix 1:1 dynamic resampler rate setting"Andy Hung2014-02-251-0/+4
|\
| * Fix 1:1 dynamic resampler rate settingAndy Hung2014-02-191-0/+4
| | | | | | | | | | Change-Id: Id69e98ebaaca8dd8c976eb823f1cc1024b0eddf5 Signed-off-by: Andy Hung <hunga@google.com>
* | Fix resampler to allow output of single frameAndy Hung2014-02-191-1/+1
|/ | | | | | Bug: 13073201 Change-Id: If7818a3389a191a37277bbd8e96a59ef8ce68509 Signed-off-by: Andy Hung <hunga@google.com>
* Proper adjustment of filterlength for downsamplingAndy Hung2014-02-111-6/+14
| | | | | | Bug: 12963040 Change-Id: I772b8efd3f7eae6d075994b210dd0168f5365f4d Signed-off-by: Andy Hung <hunga@google.com>
* Fix dynamic resampling for non-NEON devicesAndy Hung2014-02-031-6/+2
| | | | | | | | | | The stride by 16 code template automatically falls back to stride by 2 (as the NEON code template override does not occur). As such the stride by 2 (in the switch) was removed as it was unnecessary. Removing the if() causes the fall back to happen properly for non-NEON compilation. Change-Id: Ia7aec6ae1d88eb54377e56e2fb57f2ae5b74cf1b Signed-off-by: Andy Hung <hunga@google.com>
* Improve dynamic audio resampler filter generationAndy Hung2014-01-081-17/+38
| | | | | | | | | | | | | | Improve dynamic audio resampler filter generation speed by 2x. The resulting filters should be the same (excepting roundoff). Also added check for upsampling sample rate changes to share previously generated filters. Modify the profiling to improve output format and sampling result reliability. Change-Id: I9aa6b914fd552a63f79dd4a95945df2f8275772a Signed-off-by: Andy Hung <hunga@google.com>
* Audio resampler update to add S16 filtersAndy Hung2013-12-271-0/+530
This does not affect the existing resamplers. New resampler accessed through additional quality settings: DYN_LOW_QUALITY = 5 DYN_MED_QUALITY = 6 DYN_HIGH_QUALITY = 7 Change-Id: Iebbd31871e808a4a6dee3f3abfd7e9dcf77c48e1 Signed-off-by: Andy Hung <hunga@google.com>