summaryrefslogtreecommitdiffstats
path: root/media/libeffects
Commit message (Collapse)AuthorAgeFilesLines
* Use new channel count functions for audio masksAndy Hung2014-05-163-7/+9
| | | | | Change-Id: Ia658ab4b6320d19fdb50f123c930918724ff0ef3 Signed-off-by: Andy Hung <hunga@google.com>
* resolved conflicts for merge of cf79c7a5 to masterYing Wang2014-05-082-11/+0
|\ | | | | | | Change-Id: Ic4e75541193f733f477cfa4a2a87cce4c9e64f45
* | Define CHANNEL_MASK_* in terms of AUDIO_CHANNEL_OUT_*Glenn Kasten2014-04-301-18/+7
| | | | | | | | | | | | and use same suffixes Change-Id: I90b74ede171ba2550db4a220cfd1ad2e3caefe2d
* | Remove AUDIO_CHANNEL_OUT_SURROUNDGlenn Kasten2014-04-302-64/+0
| | | | | | | | | | | | and corresponding downmix effect Change-Id: I1576aa373ca7acbb84d7742bacbd9c2da04a7a4c
* | am e1ff1051: am e0f20cea: Merge "libeffects: 64 bit compile issues"Mark Salyzyn2014-04-182-39/+41
|\ \ | |/ | | | | | | * commit 'e1ff1051ffee8fb650741ad133f0f28b73eb7a73': libeffects: 64 bit compile issues
| * libeffects: 64 bit compile issuesMark Salyzyn2014-04-182-39/+41
| | | | | | | | Change-Id: I32dd13d307572fee91150f8e113df78924ca0067
* | am 3a46b975: am a9b82160: Merge "LP64 fixes for media/libeffects"Narayan Kamath2014-03-0714-61/+62
|\ \ | |/ | | | | | | * commit '3a46b975070b503bc71b53b70f9a8f5bd03bba1c': LP64 fixes for media/libeffects
| * Merge "LP64 fixes for media/libeffects"Narayan Kamath2014-03-0714-61/+62
| |\
| | * LP64 fixes for media/libeffectsAshok Bhat2014-02-2014-61/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | am e276aef8: am 0cf16339: Merge "Fix preventing from heap overwrite in ↵Glenn Kasten2014-02-281-34/+35
|\ \ \ | |/ / | | | | | | | | | | | | | | | capture command" * commit 'e276aef8779a7763b318ebd3e8c09f35ff37a95c': Fix preventing from heap overwrite in capture command
| * | Merge "Fix preventing from heap overwrite in capture command"Glenn Kasten2014-02-281-34/+35
| |\ \
| | * | Fix preventing from heap overwrite in capture commandRyszard Grzesica2014-02-201-34/+35
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | There was heap usage error in case of stop of audio framework while capturePoint was negative. Pointer to reply data was moved but final silence write was done using original buffer size. Now silence set is done at the beginning under the condition that framework has stopped. Change-Id: I7dab1e922f1813e5fbfd4a64c8b0d15d9465520c
* | | Fix includes to no longer pull in Skia includes directories.Derek Sollenberger2014-02-271-1/+0
|/ / | | | | | | | | bug:13225538 Change-Id: I4fccc414923f7e62cd46d691c67cb44b9692c225
* | Merge "Avoid a building error"Glenn Kasten2014-02-251-1/+3
|\ \ | |/ |/|
| * Avoid a building errorChih-Wei Huang2013-01-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | &pDwmModule->config may equal to pConfig that triggers a building error using gcc 4.7: In file included from bionic/libc/include/signal.h:33:0, from bionic/libc/include/sys/select.h:34, from bionic/libc/include/unistd.h:34, from system/core/include/cutils/log.h:34, from frameworks/av/media/libeffects/downmix/EffectDownmix.c:19: In function 'memcpy', inlined from 'Downmix_Configure' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:651:11, inlined from 'Downmix_Init' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:605:9, inlined from 'DownmixLib_Create' at frameworks/av/media/libeffects/downmix/EffectDownmix.c:233:9: bionic/libc/include/string.h:114:31: error: call to '__memcpy_overlap_error' declared with attribute error: memcpy called with overlapping regions Change-Id: Ia6c4aab72e38d00d8d526f3b56fc03b6530b4e44
| * 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
| * Merge "Limit maximum equalizer gain." into jb-mr1-devEric Laurent2012-09-112-40/+68
| |\
| | * 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
| * | audio effects: no audio preprocessing by defaultEric Laurent2012-09-101-15/+24
| |/ | | | | | | | | | | | | | | | | | | | | The audio preprocessings are not included in the default audio_effect.conf file anymore as the audio HAL has to provide support for them. Each product implementing one or more audio pre processing must provide a specific audio_effects.conf file. Change-Id: I3b2f636f7a8748829798d4b9057d269db9424d62
| * Merge "Fix headroom management in equalizer" into jb-mr1-devEric Laurent2012-09-071-3/+8
| |\
| | * 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
| * | audioflinger: changes for new audio devices enumsEric Laurent2012-09-071-0/+4
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | The ThreadBase class now has a separate member for input and output devices (mInDevice, mOutDevice). Only query get_supported_devices() from audio HAL if the function is exposed and if the audio policy manager did not specify the audio module to open. Also fixed bug in AEC preprocessing that would reset to default output device when an input device was given. Change-Id: I19d4d06aeb920b068e3ef31e6e6be6345ce5d67a
| * 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
* | libeffects: don't set module pathColin Cross2014-02-131-1/+0
| | | | | | | | | | | | | | | | Setting the module path breaks multilib builds where there may be two different module paths for 32-bit and 64-bit, and there is no need to set it to the default. Change-Id: I95d62b5573a0bb0ab6c97649041dfc4309cbc8b9
* | Make frameworks/av 64-bit compatibleKévin PETIT2014-02-114-20/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | fix deadlock issues that arise when there are simultaneousjpadmana2014-01-315-31/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | effect control interface calls to proxy and to non sub-effect wrappers(eg., bundlewrapper) from audioflinger Also, return NO_ERROR when CMD_OFFLOAD succeeds Whenever there are parallel calls to proxy and non sub-effects wrappers, some of the calls are not completed. This is due to deadlock arsing out of Proxy waiting for the subeffect call to return and subeffect waiting for proxy to release lock. The call flow is changed to a cleaner and simple one - Proxy gets the aeli(effect library info) of subeffects during the EffectGetSubEffects() call. Therby, proxy will manage the sub effects by itself rather than going through effects factory. Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com> Bug: 12424044 Change-Id: I16852222f1d0e94e433a19177729323a4bb1c090
* | frameworks/av: convert LOCAL_MODULE_PATH to LOCAL_MODULE_RELATIVE_PATHColin Cross2014-01-277-9/+9
| | | | | | | | | | | | | | 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 designatorssynergy dev2013-12-172-14/+14
| | | | | | | | | | | | Avoiding the use of GCC extensions improves code portability Change-Id: I9edbedc5c8ad4aa46ca54bc2e28280441431a530
* | Merge commit 'b2059ff384eee8ffb70a7ec8fc5570405201c734' into HEADThe Android Open Source Project2013-11-2227-23/+2768
|\ \
| * | fix offload audio effect proxy implementation uuidEric Laurent2013-10-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The proxy implementation UUID should not be the NULL UUID as AudioFlinger will reject effect creation if the AudioEffect is constructed by passing the implementation UUID and not the type UUID. Bug: 11070481. Change-Id: Ia9049d974e76303c5b63a607ee594b7dc1f182d4
| * | fix oflload effect proxy commmand handlingEric Laurent2013-09-272-46/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a more generic command handling in offload effect proxy. All commands are sent to both sub effects but only the reply from the active one is returned to the caller. Bug: 8174034. Change-Id: I28aa0f0d806e846332bc29801ee40d34e4ea0c43
| * | fix command handling in effect offload proxyEric Laurent2013-09-271-11/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix some issues in effect proxy related to handling of effect commands to offloaded and non offloaded effects. Also fixed a bug on capture index in software Visualizer effect. Bug: 8174034. Change-Id: I119458fea597cc3acbc0ef9ec315f67aa211cbd9
| * | Effect Offload Proxy for effects offloadjpadmana2013-09-274-1/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Effect Proxy abstracts the sub effects to the upper layers. It has the following functionalities: - creation and release of sub effects - routing the effect commands and process to the appropriate sub effect Bug: 8174034. Change-Id: Iec34b61104f0bbec4ef67c62f0710a5536dc325b Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
| * | Effects Factory changes for effects offloadjpadmana2013-09-273-2/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | audio_effects.conf - commented changes to illustrate the addition of Proxy and sub effects to the conf file Added an effectFactoryApi - EffectGetSubEffects for querying the sub effect descriptors from the factory. This api is used by the Proxy to get the sub effects Added functions and data structures in factory code for loading the sub effects gSubEffectList - has the Proxies and their corresponding sub effects - addSubEffect() - reads a sub effect node and adds to the gSubEffectList - findSubEffect() - searches through the gSubEffectList to find a SubEffect Bug: 8174034. Change-Id: Id7f6aa67c41db370d32beaf43a979ba4ac925928 Signed-off-by: jpadmana <jayashree.r.padmanaban@intel.com>
| * | Revert "Effects Factory changes for effects offload"Eric Laurent2013-09-273-274/+2
| | | | | | | | | | | | | | | | | | This reverts commit 284c17e73bbff51cb5b1adcee98386d47733757a. Change-Id: I31db21e1ad4758b21356bfe4c4c64f15b2da8737
| * | Revert "Effect Offload Proxy for effects offload"Eric Laurent2013-09-274-453/+1
| | | | | | | | | | | | | | | | | | This reverts commit 60c60df7db278d2fa5c90b0fa14f99a61d50272b. Change-Id: Iafba9e02a9f3bfde6248d802e96c4e649686a87d
| * | LoudnessEnhancer compatible with stereo imagingJean-Michel Trivi2013-09-264-26/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use a single compressor for both channels. Envelope of signal is determined by looking at both channels. Bug 8413913 Change-Id: Ia9b6f34923d2977c60a3352500b858dfa1fab33c
| * | Merge "Fix log typos in Visualizer effect" into klp-devJean-Michel Trivi2013-09-241-9/+7
| |\ \
| | * | Fix log typos in Visualizer effectJean-Michel Trivi2013-09-241-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix errors in logs for Visualizer. Set loop counters on 32 bits Bug 8413913 Change-Id: Iad2140d003d15d45be46826a5e89baff14fe9e77
| * | | fix oflload effect proxy commmand handlingEric Laurent2013-09-242-46/+54
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Implement a more generic command handling in offload effect proxy. All commands are sent to both sub effects but only the reply from the active one is returned to the caller. Bug: 8174034. Change-Id: Ia45f9933b3bf338257ec70b37732fa1578d26b9f
| * | Add support for level measurements in VisualizerJean-Michel Trivi2013-09-231-17/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | New commands to set a measurement mode and perform peak + RMS measurements. Bug 8413913 Change-Id: Ib25254065c79d365ebb34f9dc9caa0490e2d300d
| * | more support for audio effect offloadEric Laurent2013-09-182-13/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Offloading of audio effects is now enabled for offloaded output threads. If an effect not supporting offload is enabled, the AudioTrack is invalidated so that it can be recreated in PCM mode. Fix some issues in effect proxy related to handling of effect commands to offloaded and non offloaded effects. Also fixed a bug on capture index in software Visualizer effect. Bug: 8174034. Change-Id: Ib23d3c2d5a652361b0aaec7faee09102f2b18fce
| * | LoudnessEnhancer audio effect implementationJean-Michel Trivi2013-09-1719-0/+1872
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementation based on DRC effect, controlled by a target gain. The target gain is used to amplify the signal at the input of the DRC, and to compute the knee of the DRC. Bug 8413913 Change-Id: I386d64793a9fa3f7218e053d6f0a99f6836c02bd
| * | Effect Offload Proxy for effects offloadjpadmana2013-09-064-1/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Effect Proxy abstracts the sub effects to the upper layers. It has the following functionalities: - creation and release of sub effects - routing the effect commands and process to the appropriate sub effect Bug: 8174034. Change-Id: I22d8136636048e7fe8f8807cbc6e348ffa200a22 Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
| * | Effects Factory changes for effects offloadjpadmana2013-09-063-2/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | audio_effects.conf - commented changes to illustrate the addition of Proxy and sub effects to the conf file Added an effectFactoryApi - EffectGetSubEffects for querying the sub effect descriptors from the factory. This api is used by the Proxy to get the sub effects Added functions and data structures in factory code for loading the sub effects gSubEffectList - has the Proxies and their corresponding sub effects - addSubEffect() - reads a sub effect node and adds to the gSubEffectList - findSubEffect() - searches through the gSubEffectList to find a SubEffect Bug: 8174034. Change-Id: I25b0c62b2ad523a52337128b51469e628209ea3e Signed-off-by: jpadmana <rpadmanaban.jayashree@gmail.com>
| * | Clean up references to AUDIO_FORMAT_PCM_8_24_BITGlenn Kasten2013-07-102-2/+2
| | | | | | | | | | | | Change-Id: I08771eb2664b7082561a40937218c7f4414e2cce
* | | libeffects: do not use GNU old-style field designatorssynergydev2013-10-195-35/+35
|/ / | | | | | | | | | | 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