History log of /frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd04484f4837b8ca0041d118286ab6a98e84fc75 07-Aug-2014 Andy Hung <hunga@google.com> Extend downsampling ratios greater than 2: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
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
a4daf0b4f934b800a49f199fb8c09409391c8fc0 29-Jul-2014 Glenn Kasten <gkasten@google.com> Fix build warnings

Change-Id: Ife5e40264f43fb3ccb40830228701003fe106bf5
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
5e58b0abe5b6c8f5bd96a8f78bbeeeb4d3892020 24-Jun-2014 Andy Hung <hunga@google.com> Add floating point volume handling to AudioMixer

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
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
3348e36c51e91e78020bcc6578eda83d97c31bec 07-Jul-2014 Andy Hung <hunga@google.com> Replace int bitDepth with audio_format_t in Resampler

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
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
075abae2a954bf3edf18ad1705c2c0f188454ae0 10-Apr-2014 Andy Hung <hunga@google.com> Add and enable multichannel for audio resampler

Change-Id: I2b86fb73d70abc4c456f7567270a888086b301d4
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
717007429a50c02d2acc704a8c1ebbe6760a2c22 03-Jun-2014 Andy Hung <hunga@google.com> Update resampler to fetch exactly the frames needed

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
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
411cb8e45442d16d983a38722c7c7bce487bde6b 27-May-2014 Andy Hung <hunga@google.com> Update dynamic resampler buffer fetching

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
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
771386e6e6e79697e2d839ef0f25a242946ba1e5 09-Apr-2014 Andy Hung <hunga@google.com> Add and enable floating point option for audio resampler

Can be tested with test-resample.

Change-Id: I8339846d7c647444b6025d33cfa145d5d3658121
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
d549139155b20d7cbf6a4326133e06def465ef54 09-Apr-2014 Andy Hung <hunga@google.com> Add floating point to audio resample processing

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>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
b78d804b1090a430a126a6c356037ded96ffd91a 25-Feb-2014 Andy Hung <hunga@google.com> Merge "Fix 1:1 dynamic resampler rate setting"
1af34085e18c4d5ab297232f167a71e89ff7f65d 20-Feb-2014 Andy Hung <hunga@google.com> Fix 1:1 dynamic resampler rate setting

Change-Id: Id69e98ebaaca8dd8c976eb823f1cc1024b0eddf5
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
24781fff62a4cf7279d3dac83c33e2ac612712ba 19-Feb-2014 Andy Hung <hunga@google.com> Fix resampler to allow output of single frame

Bug: 13073201
Change-Id: If7818a3389a191a37277bbd8e96a59ef8ce68509
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
a3bb9a3a25b58669d75da4f73764ac4c2bf34158 11-Feb-2014 Andy Hung <hunga@google.com> Proper adjustment of filterlength for downsampling

Bug: 12963040
Change-Id: I772b8efd3f7eae6d075994b210dd0168f5365f4d
Signed-off-by: Andy Hung <hunga@google.com>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
83be2560d9396b3bd32919123bd67a783e6aaf7c 03-Feb-2014 Andy Hung <hunga@google.com> Fix dynamic resampling for non-NEON devices

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>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
6582f2b14a21e630654c5522ef9ad64e80d5058d 03-Jan-2014 Andy Hung <hunga@google.com> Improve dynamic audio resampler filter generation

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>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp
86eae0e5931103e040ac2cdd023ef5db252e09f6 09-Dec-2013 Andy Hung <hunga@google.com> Audio resampler update to add S16 filters

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>
/frameworks/av/services/audioflinger/AudioResamplerDyn.cpp