| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I210129f5742b046f7ceef48194f039352eff596d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes include:
[x] In get parameter series of functions, replaced size_t*
formal parameter type with uint32_t* where actual parameter
passed was uint32_t*.
[x] In set parameter series of functions, changed size_t
formal parameter to uint32_t where actual parameter was
uint32_t.
[x] Changed the definition of LVM_UINT32 from unsigned
long to uint32_t as unsigned long is 64-bit in LP64.
[x] Used other stdint.h types for other LVM_types for
consistency.
[x] Use of uintptr_t for the pNextMember of the INST_ALLOC
structure, rather than LVM_UINT32, for portablility.
[x] Use of uintptr_t where pointers are used in arithmetic.
[x] Replaced the use of 0xFFFFFFFC with ~3 in places where
it was used to clear last two bits.
[x] Removed int casts where cmdSize and *replySize, both
uint32_t, were being compared with sizeof().
Change-Id: Ibec0b4d8e9b855f44b1cd853be6df84d13cf4186
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
|
|
|
|
|
|
| |
Not using a GNU extension improves portability
Change-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5
|
|
|
|
|
|
|
|
|
|
|
|
| |
EQ and bass boost can improperly interact with other effects
(e.g. virtualizer) outside of the bundle. Apply them first
in an effect chain, which is equivalent to using them to affect
the content of a track, rather than how a track is presented,
when additional effects are cascaded behind EQ and BB.
Bug 8589316
Change-Id: Ifb34e46bc1969f613cdc90ee2a79af677e2fad92
|
|
|
|
|
|
|
|
| |
The volume member of the BundledEffectContext class was not being
initialized, resulting in uninitialized data being used for calculations
and control flow.
Change-Id: I84bf9fd478e5d0479e781323b21c7c03dea958c5
|
|
|
|
|
|
|
|
| |
The effects libraries were exporting many more symbols than needed.
This reduces the exported symbols to just the needed ones (basically
just "AELI"), which happens to also save about 28KB.
Change-Id: I115077e52e8dc845282e6f62a522908d26dd72d6
|
|
|
|
| |
Change-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5
|
|
|
|
|
|
|
| |
We were reading some uninitialized memory when creating bass boost and EQ
effects, and using memcpy() with identical source and destination.
Change-Id: I15ea1b2c52ae05cbf54aef04351e89805e0ebf8e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a problem with previous fix in 1b6c677c where
the THD was good for max volume but bad for intermediate
high volume values.
This fix does not limit the band gains but apply a correction
to the effect bundle volume to take into account not only the
maximum band gain but also the average band gains weighted
by the proximity of each band to the max gain band.
Change-Id: Ibedd8da7fce1e163117f29b3da332da0e4fe8889
|
|
|
|
|
|
|
|
| |
Limit maximum gain in all EQ bands according to current volume so that
total gain (current volume + band gain) does not exceed a certain limit.
The gain difference between bands is preserved.
Change-Id: Ice5a9705a0b3353e8778b4c539a29ca9cdf60390
|
|
|
|
|
|
|
| |
Fix a bug in LVM bundle wrapper preventing audio framework sample rate
from being sent to the effect bundle instance.
Change-Id: I912027f866d3beac91b977bba869ff96a92d2a62
|
|
|
|
|
|
|
|
|
| |
Increase headroom in LVM bundle to reduce THD when equalizer is ON
with high band gains.
Also add a workaround for a bug in headroom parameter control.
Change-Id: I1d67c9ae475f6cf852c2e0e49bacfc82a5e484fd
|
|
|
|
|
|
| |
for POD structs effect_descriptor_t and effect_config_t
Change-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d
|
|
|
|
| |
Change-Id: I327663a020670d0a72ff57bd0b682e2ce0528650
|
|
|
|
| |
Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
|
|
|
|
| |
Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Renamed audio effect library interface command for audio format
configuration from EFFECT_CMD_CONFIGURE to EFFECT_CMD_SET_CONFIG.
This makes the naming more consistent with other exixsting commands
and allow adding a new command to get the configuration (EFFECT_CMD_GET_CONFIG).
Same change for reverse channel configuration renamed from
EFFECT_CMD_CONFIGURE_REVERSE to EFFECT_CMD_SET_CONFIG_REVERSE.
Implemented EFFECT_CMD_GET_CONFIG in exisitng effect libraries.
Change-Id: Ia7b1c620f13797fe5aceb3b0b4acbacce09fb067
|
|\
| |
| |
| | |
Change-Id: I15adb9040eaa206c31bb5a08ed5ee5b32967ba0a
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The virtualizer and bass boost effects should be disabled when
not playing throught headsets or headphones.
There is a bug in current wrapper implementation that makes that those
effects are not disabled if the effect is enabled by the user after
the headset has been removed (current logic only works if the device selection
occurs while the effect is enabled).
Change-Id: I7c66b15a0339d95fb9ed13c8320d66379725d3b6
|
|\ \ \
| |/ /
| | |
| | | |
Change-Id: Ia597549a6d159b86063eb3afec5ce7fe98434a65
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an effect is disabled, the process function should either
copy or accumulate the content of the input buffer to the output buffer
depending on the behavior requested by the framework.
Current implementation is copying the input buffer unconditionally.
Related to issue 5433942.
Change-Id: Ic488ca97eadcc4c763de570d7e6c6f5b7a979415
|
|/
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/143865
Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
|
|
|
|
|
|
|
|
| |
Added function to audio effect interface for processing of
a reverse stream.
This is necessary for audio pre processes like echo cancellation.
Change-Id: I6e12d79dbbed6376acdfc79304b8c0ab3f705eae
|
|
|
|
|
|
|
|
| |
Moved specific effect header files to
system/media/audio_effects/include/audio_effects
and renamed to lower case (effect_xxx.h).
Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moved and renamed media/EffectApi.h to hardware/audio_effect.h
Modified the effect library API to expose a library info structure
containing an interface functions table.
Also removed enums for audio channels, audio format and devices
from effect API and use values from system/audio.h instead.
Modified effects factory to support new library interface format and
load libraries and efffects listed in audio_effects.conf file.
The file audio_effects.conf is first loaded from /vendor/etc and
then from /system/etc/audio_effects.conf if not found.
Modified existing effect libraries to implement the new library interface.
Change-Id: Ie52351e071b6d352fa2fbc06c3846686f8c45df9
|
|
|
|
|
|
|
|
|
| |
Make sure that NumberEffectsEnabled is decremented at the same time as
SamplesToExitCountBb reaches 0 in Effect_process(). Not doing so
causes NumberEffectsEnabled not being decremented if Effect_setEnabled()
is called after SamplesToExitCountBb reaches 0 and before next Effect_process() is called.
Change-Id: Id827a301f93a5a09ecd9995a0c7d731ef526711a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed the following issues in LVM effect bundle wrapper:
- memory leaks in EffectCreate() in case effect creation fails at various stages
- Added saturation when accumulating to output buffer
- Fixed problems with enabled effects count when an effect is released while enabled
- Do not allocate temporary buffer for accumulation each time process() is called
Fixed the following issues in effects framework (AudioFlinger)
- Release effect synchronously in the library when deleted from effect chain
- Do not call the effect process function if no tracks are present in the same
audio session
Change-Id: Ifbd80a163415cfb3c0a337c12082853ea45d9c91
|
|
|
|
|
|
|
|
| |
When an effect was deleted while enabled, the count of enabled effects
in the bundle was not decremented. Resulted a state where if another effect
was still enabled, its process function was called only every other time.
Change-Id: I59a0c5b7f50f416a9ecadae297b42912e56ddd51
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Use a constant input level to the reverb engine and implement volume control in the
insert reverb. This avoids the volume spikes when an effect that was inserted after
the reverb is disabled or removed.
- Fix clicks (one silent buffer) at the end of the reverb disable period.
- Modified volume management in audioflinger so that the volume ramp is also done by
the insert effect if present when the track is paused (avoids clicks).
- Increased room level for all presets.
Also fixed problems with output stage session (-1):
- effect bundle wrapper was not designed to support session -1
- the permission check in audioflinger for using session -1 failed due to a wrong usage of
getCallingPid()
Change-Id: Id1ff51327263364bf71d3f2668fa5cde4311d84f
|
|
|
|
|
|
|
|
| |
- Changed bundle SamplesToExit to 0.1 secs
- Added SamplesToExit to Revreb
- Removed mixer from Core reverb
Change-Id: I675ec22889f20ef35a0ac427600c2654111c397e
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixed click when re-enabling effect during the turn off phase:
make sure the effect states where effect is processed are the same
where volume control is delegated to effect.
- Fixed click when effect is deleted while still active: do not apply
volume ramp if an effect having volume control was just removed from the
effect chain.
Also fixed a crash when PCM dump is enabled in effect bundle wrapper.
Change-Id: Ib562f5cf75c69af75df0e862536262e2514493e4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Virtualizer now uses the correct control parameter, instead of reverberation
- Volume smoothing for first frame has been added
- Equalizer_setParameter now returns correct error code
- Correcting Non-Linear compressor gain step noise during transitions and effect level changes
- Removed SVN header blocks
- Memory and MIPS values have been added to the API
- Reverb uses a more efficient malloc for input PCM
- Reverb DecayHFRatio now ranges up to 2000
- Logging has been removed for most volume functions
Change-Id: Ib59e7e331263c3811559231b4ae90c82e34a8421
|
|
|
|
|
|
|
| |
Modified lvm reverb wrapper code to expose a preset reverb interface.
Also removed debug log from bundle and reverb wrapper.
Change-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Click have been removed from the HP filter activation in the BassBosst Effect.
- SessionId is now stored as a SessionNo
- Effects now stop being called after a delay
- Unix EOL fixed for .java and .xml
- Updated lines limited to 100 characters.
- Removed the remaining warnings from the wrapper code
- Added reverb
Change-Id: I03a2b3b5ee2286958f4901acc8d9b0daf9e2d7c6
|
|
|
|
|
|
|
|
| |
The "strength supported" parameter for bass boost and virtualizer effect was incorrectly using a
short value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES
that is uint32.
Change-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af
|
|
|
|
|
|
|
|
|
| |
Modified types of some arguments and returned values of the Equalizer class from int to short
to match those defined by OpenSL ES SLEqualizerItf interface.
Also fixed a problem with set properties in equalizer engine implementation.
Change-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8
|
|
|
|
|
|
|
| |
The type of the cmd, cmdSize and *pReplySize parameters of the effect control interface command()
function have been modified from int to uint32_t. This is more consistent with their role.
Change-Id: I84d289fc262d6753747910f06f485597dfee6591
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
current effect settings in
a single call.
Addional changes:
- Fixed simulator build
- Use effect interface UUIDs from OpenSL ES includes when available
- Added cleanspec rules to remove now obsolete test effect libraries
- Fixed bug in AudioEffect JNI setParameter function.
Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
|
|
|
|
|
|
|
| |
The status in the command reply field was not initialized by Effect_command() for
EFFECT_CMD_INIT causing unpredictable failures when initializing an effect.
Change-Id: I7dccb094c9244fad4ed9aea3062a395db295e082
|
|
|
|
| |
Change-Id: I20cb55282833bd6e3a160e0dae1cc1fcb6b1ca30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added methods for audio effects management by audio policy manager.
- control of total CPU load and memory used by effect engines
- selection of output stream for global effects
- added audio session id in parameter list for startOutput() and stopOutput().
this is not used in default audio policy manager implementation.
Modifications of audio effect framework in AudioFlinger to allow moving and reconfiguring
effect engines from one output mixer thread to another when audio tracks in the same session
are moved or when requested by audio policy manager.
Also fixed mutex deadlock problem with effect chains locks.
Change-Id: Ida43484b06e9b890d6b9e53c13958d042720ebdb
|
|
This CL contains the first open sourceable version of the audio effect library from NXP software.
The effects implemented are:
- Bass boost
- Virtualizer (stereo widening)
- Equalizer
- Spectrum analyzer
Source file for the effect engines are located under libeffects/lvm/lib
The wrapper implementing the interface with the audio effect framework in under libeffects/lvm/wrapper
The code of other effect libraries has also been reorganized fo clarity:
- the effect factory is now under libeffects/factory
- the test equalizer and reverb effects are under libeffect/testlibs
- the visualizer is under libeffects/virtualizer
Change-Id: I8d91e2181f81b89f8fc0c1e1e6bf552c5809b2eb
|