summaryrefslogtreecommitdiffstats
path: root/media/libeffects/lvm
Commit message (Collapse)AuthorAgeFilesLines
* LP64 fixes for media/libeffectsAshok Bhat2014-02-208-38/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Make frameworks/av 64-bit compatibleKévin PETIT2014-02-112-12/+13
| | | | | | | | | | | | 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
* frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATHColin Cross2014-01-271-2/+2
| | | | | | | LOCAL_MODULE_PATH doesn't work for multiarch builds, replace it with LOCAL_MODULE_RELATIVE_PATH. Change-Id: I4e4ceec61d026bbe74ba604554c06104bde42e5e
* libeffects: do not use GNU old-style field designatorssynergydev2013-10-192-14/+14
| | | | | | Not using a GNU extension improves portability Change-Id: I4e8a0376c089828ca4fc7f1aaf3914bfd917d4c5
* Apply EQ and bass boost first in effect chainJean-Michel Trivi2013-06-201-2/+2
| | | | | | | | | | | | 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
* Fix reverb at 48kHzEric Laurent2013-05-011-6/+6
| | | | | | | | | | | | | The LVM reverb wrapper had a test to only accept input sampling rate of 44.1 kHz. As the LVM reberb engine supports multiple sampling rate we can remove this test. The fix for issue 8512027 (commit 2a9c5cd4) caused a regression because the framework now checks the return code of the effect configure command and ignores subsequent commands in case of error. Bug: 8630044 Change-Id: I3146871f1ad8f7945a2e63ea763dd7b87368337d
* Fix valgrind errorMarco Nelissen2013-03-191-0/+1
| | | | | | | | 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
* Turn off executable bit on ordinary filesGlenn Kasten2012-11-021-0/+0
| | | | Change-Id: I0abea25b58fb1d03975bed9cca40f826fcd4c5e4
* Only export the symbols that need to beMarco Nelissen2012-10-254-10/+14
| | | | | | | | 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
* Switch to new fx library APIMarco Nelissen2012-10-252-64/+0
| | | | Change-Id: I6603aef5e3821a8f911e3f33ef8565d04bd1e2e5
* Fix valgrind issuesMarco Nelissen2012-10-173-2/+8
| | | | | | | We were reading some uninitialized memory when creating bass boost and EQ effects, and using memcpy() with identical source and destination. Change-Id: I15ea1b2c52ae05cbf54aef04351e89805e0ebf8e
* Fix THD with max user EQ preset volume againEric Laurent2012-09-172-93/+79
| | | | | | | | | | | | | 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 equalizer gain.Eric Laurent2012-09-102-40/+68
| | | | | | | | 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 headroom management in equalizerEric Laurent2012-09-071-3/+8
| | | | | | | Fix a bug resetting the headroom parameters when calling the bundle process function for the first time. Change-Id: Ie05f97606f415954340ff2a4e48cd7b0a97a063b
* audio effects: fix bug in sample rate control.Eric Laurent2012-08-301-0/+2
| | | | | | | Fix a bug in LVM bundle wrapper preventing audio framework sample rate from being sent to the effect bundle instance. Change-Id: I912027f866d3beac91b977bba869ff96a92d2a62
* Reduce THD when equalizer is ON.Eric Laurent2012-08-242-3/+5
| | | | | | | | | 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
* Use struct assignment instead of explicit memcpyGlenn Kasten2012-07-172-13/+13
| | | | | | for POD structs effect_descriptor_t and effect_config_t Change-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d
* Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/James Dong2012-06-134-0/+380
| | | | | Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26 related-to-bug: 6647465
* Update commentsGlenn Kasten2012-03-191-1/+1
| | | | Change-Id: I327663a020670d0a72ff57bd0b682e2ce0528650
* Remove dependency on audio_* locationGlenn Kasten2012-03-141-3/+3
| | | | Change-Id: I4bc66115fcb9ba22b057bd72db3f561dcb18a0d8
* Use correct syntax for #include <> ""Glenn Kasten2012-03-132-3/+4
| | | | Change-Id: I943137108668ae66f8eba18dafe069a7951bcd8f
* Effect UUID inputs passed by pointer are constGlenn Kasten2012-02-082-4/+4
| | | | Change-Id: I1f5c338bcb7368e3dd8cd5f804b2e6d9fbe087f8
* audio effects: rename configure commandEric Laurent2011-12-192-40/+102
| | | | | | | | | | | | | 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
* resolved conflicts for merge of 914972be to masterEric Laurent2011-11-051-17/+26
|\ | | | | | | Change-Id: I15adb9040eaa206c31bb5a08ed5ee5b32967ba0a
| * Merge "Fix device management in lvm effect bundle wrapper." into ics-mr1Eric Laurent2011-11-041-17/+26
| |\
| | * Fix device management in lvm effect bundle wrapper.Eric Laurent2011-11-011-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | resolved conflicts for merge of 79178b8b to masterEric Laurent2011-11-051-9/+19
|\ \ \ | |/ / | | | | | | Change-Id: Ia597549a6d159b86063eb3afec5ce7fe98434a65
| * | Fix problem in lvm effect bundle wrapper.Eric Laurent2011-11-021-9/+19
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-262-552/+552
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* Merge "Remove the simulator target from all makefiles. Bug: 5010576"Jeff Brown2011-07-121-12/+2
|\
| * Remove the simulator target from all makefiles.Jeff Brown2011-07-111-12/+2
| | | | | | | | | | | | Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
* | Audio Effect API: process reverse stream functionEric Laurent2011-07-112-2/+4
|/ | | | | | | | 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 and renamed effect API header filesEric Laurent2011-07-073-7/+8
| | | | | | | | Moved specific effect header files to system/media/audio_effects/include/audio_effects and renamed to lower case (effect_xxx.h). Change-Id: Icfc2264bfd013cab0395d7e310ada636b9fe3621
* New effect library APIEric Laurent2011-05-272-56/+202
| | | | | | | | | | | | | | | | | 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
* frameworks/base: remove LOCAL_PRELINK_MODULEIliyan Malchev2011-03-142-4/+4
| | | | | Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481 Signed-off-by: Iliyan Malchev <malchev@google.com>
* Fix issue 3499926.Eric Laurent2011-03-011-8/+14
| | | | | | | | | 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
* Bug 3117154Glenn Kasten2011-01-251-1/+1
| | | | | | | | The previous default audible behavior was actually NONE (dry), despite the default value of MEDIUMROOM. Corrected default value to match the default behavior. Change-Id: Iadb0d41629a383fd52f03e8a21ba4b74ea24401c
* Fix several audio effects problems.Eric Laurent2010-09-282-126/+211
| | | | | | | | | | | | | | | 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
* Fix problem in lvm effect bundle wrapperEric Laurent2010-09-161-123/+127
| | | | | | | | 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
* Fix volume problems with insert revertEric Laurent2010-09-133-28/+121
| | | | | | | | | | | | | | | | | - 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
* LVM release 1.09 deliveryEric Laurent2010-09-094-135/+69
| | | | | | | | | | | - Reverb: - 1 channel mixed has gain zero - core componenet now only outputs STEREO samples - wrapper now handles only STEREO from the Reverb Core - Bass Boost: - increase scratch memory Change-Id: I00ae31051cc40a7006fc993420facfeb4d30dc52
* Modify type of some environmental reverb parametersEric Laurent2010-09-081-14/+16
| | | | | | | | | Changed type of decay time, reverb delay and reflections delay parameters from signed to unsigned int to match OpenSL ES interface definition. Also fixed some type casts in lvm reverb wrapper. Change-Id: I5ca5e76a87c2590f01f031f3168355586ef22556
* LVM release 1.08 delivery.Eric Laurent2010-09-035-41/+69
| | | | | | | | - Changed bundle SamplesToExit to 0.1 secs - Added SamplesToExit to Revreb - Removed mixer from Core reverb Change-Id: I675ec22889f20ef35a0ac427600c2654111c397e
* Audio Effects: fix problems in volume control.Eric Laurent2010-08-311-8/+22
| | | | | | | | | | | | | - 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
* LVM release 1.07 delivery.Eric Laurent2010-08-27188-1599/+231
| | | | | | | | | | | | | | - 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
* Added preset reverb.Eric Laurent2010-08-242-54/+199
| | | | | | | Modified lvm reverb wrapper code to expose a preset reverb interface. Also removed debug log from bundle and reverb wrapper. Change-Id: If9b95d91e25a6ff834decdfdda34b17df9b46967
* LVM release 1.05 deliveryEric Laurent2010-08-2026-154/+5051
| | | | | | | | | | | | - 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
* Audio Effects: fixed "strength supported" parameter size.Eric Laurent2010-08-181-2/+15
| | | | | | | | 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
* Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.Eric Laurent2010-07-301-15/+43
| | | | | | | | | 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
* Audio effects: modified command() parameter types.Eric Laurent2010-07-281-3/+3
| | | | | | | 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